VersionControl:PRs/magenta/426

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 16:06, 9 November 2026 by DrivingThatTrain (talk | contribs) (cryptograss/magenta#426, as GitHub has it)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
magenta#426: memory-lane: /api/brakes/, what githouse asks before every merge
State 🟣 merged 2026-11-08 02:05:19
Worked on by magent, justin, re
Moods #ramp
Deploy redeploy maybelle (before or with maybelle-config#286; until this is live, githouse refuses every merge order, which is the safe way round)
Branch magent/githouse-brakes → main, by magent-cryptograss
Opened · last pushed 2026-11-08 00:22:14 · 2026-11-08 00:28:48
githouse asks memory-lane, before every merge order, whether AZ5 is on and whether the signer is banned. This is memory-lane's half of that; githouse's half is on maybelle-config#286.

**`GET /api/brakes/?name=justin&name=skyler`** answers `{"scram": false | {who pulled it}, "banned": {"justin": false, "skyler": false}}`.

- githouse merges only on an explicit `false` for both, and refuses when there's no answer or a name is left out. So this endpoint can stop a merge but never make one.
- It's answered during AZ5 too: AZ5 locks writes, and this is a read.
- Anyone can read it. An AZ5 and a ban are both announced in #general anyway, and it only answers for names you ask about (at most 20, each as the inventory spells it).

Why (Plan, section 10): removing someone from the GitHub org stops them merging today. githouse pushes with its own deploy key, so once merges go through githouse, the org no longer stops anyone. A ban has to stop them instead.

Tests: three new tests in `test_mood_admin.py`: a ban and an unban are heard, AZ5 is heard while it holds, and bad questions are refused. Full suite: 1766 tests, OK.

Deploy: redeploy maybelle (before or with maybelle-config#286; until this is live, githouse refuses every merge order, which is the safe way round)
Worked on by: magent, justin, re, in #ramp