VersionControl:PRs/magenta/451

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 16:50, 9 November 2026 by DrivingThatTrain (talk | contribs) (cryptograss/magenta#451, as GitHub has it)
Jump to navigationJump to search
magenta#451: Candidate branches: told to each emergent on every wake; the ramp says "candidate branch"
State 🟢 open
Worked on by magent, justin
Moods #ramp
Deploy redeploy maybelle (memory-lane: the endpoint and the ramp's words) and hunter (the poller); no migrations
Branch magent/candidates → main, by magent-cryptograss
Opened · last pushed 2026-11-09 16:30:03 · 2026-11-09 16:49:59
Justin, 9 Nov (#ramp). **Stacked on #449.** Merging this merges #449 with it.

**1. "Candidate branches", not "pull requests".** "Pull request" now means only GitHub's page for a candidate branch. These places changed:
- the ramp's heading ("Open candidate branches"), its lede, its column header ("candidate"), the empty state, and the badge on a branch with no pull request ("no pull request", in place of "no PR yet");
- the ramp's title in the sections menu;
- the work page's badge;
- the merge ask in the wake's offer lines: `<merge to="a few words on which candidate branch"/>`, in the recovery copy here and on [[Cryptograss:Emergents/Wake]].

The to-do page's "Merged pull request" and the GitHub merge event's fallback text stay, because each means a GitHub pull request.

**2. Every wake lists the open candidate branches.**
- **memory-lane:** `GET /api/ramp/candidates/` needs a runner's key. It returns `ramp.candidates()`: every open candidate branch, most active first. Each has its name (repo#N, or repo:branch when it has no pull request), branch, title, who works on it, its Moods, draft or not, and a short description. The short description is the first paragraph of the card's description that isn't its Deploy / Worked on by footer, as plain words, cut at 160 characters.
- **poller:** every wake, of every kind, carries a new `candidates` line, then one line per candidate, up to 80 (the rest are counted). If memory-lane can't be reached, the wake goes out without the list. The line's words:

> Candidate branches open now across our repositories ({count}), most active first: each one's name, its branch, who works on it and in which Mood, its title and what it's for. Before you start work, check it isn't one of these already: if it is, build on that branch or talk with whoever has it; don't start a second. If what you're doing may conflict with one (the same files, the same feature), raise it in #ramp: there, say so; anywhere else, mention magent to carry it there. "Pull request" means GitHub's page for a candidate branch, nothing more.

- The words live on [[Cryptograss:Emergents/Wake]], as proposed edits waiting for a verify. Until they're verified, the recovery copy in `poller/wake_texts.md` is used, with the same words.

**Size:** 49 candidates are open right now, so a wake grows by about 49 lines (roughly 2–3k tokens once descriptions fill in). The descriptions fill in as each card is rewritten: hourly, or when GitHub's webhook fires.

**Tests:** `CandidatesTest` (3, in `test_work_followups.py`) and two poller tests (the list on every wake; a wake without it when memory-lane can't be reached). The full suite passes: 1866 tests OK.

Deploy: redeploy maybelle (memory-lane: the endpoint and the ramp's words) and hunter (the poller); no migrations
Worked on by: magent, justin, in #ramp