dev-ops

Improvement log

The record kept by the daily improvement review (IMPROVEMENT.md): the numbers, the friction, and every change with its prediction. Newest rows at the bottom of each table. Times are UTC.

The Routine’s prompt (re-create it with this if the dev-ops coordinator’s session is replaced): Daily improvement review: follow claude/IMPROVEMENT.md in edsaperia/dev-ops (read it from main): check predictions due, write today’s numbers, read the friction since the last review, act on at most two improvements, and report on Ed’s questions page.

Numbers

Day (24 h to) Project Merged Open → merged, median / worst Merge-main commits Deploy wait on main Reds on main Ed’s answers, median / over 90 min Asked of Ed (q / u / t) Mis-shaped Overdue Bugs Ed found
2026-10-02 17:15 (baseline) draft 10 4.7 h / 8.7 h ~12 21 min (1 sample, #166) 0 11 min / 8 (to 16:00) 15 / 25 / 7 (all projects, to 16:00) 3 (no status) 1 not yet counted
2026-10-03 06:57 draft 26 5.6 h / 15.8 h (10 small PRs: 5.6 h); split: open → asked 4.3 h, asked → answered 0.17 h, answered → merged 0.07 h (medians, 23 PRs with a Merge question) 41 40 s median, 21 min max, 9 of 23 over 2 min (3 superseded runs left out) 0 (9 superseded cancels) 7 min / 10 61 / 32 / 7 0 2 not counted
2026-10-03 06:57 topic 16 0.3 h / 50 h (#358; #191, a July docs PR, left out) 0 — 0 6 min / 2 39 / 17 / 0 0 0 1 (the digest claim)
2026-10-03 06:57 admit unknown: nwspk/web is not reachable from dev-ops unknown unknown — unknown 4 min / 0 13 / 9 / 2 0 0 0
2026-10-03 06:57 ae 6 0 h (merged on opening) 0 — 0 4 min / 0 4 / 4 / 2 0 0 0
2026-10-03 06:57 dev-ops 30 0 h / 0.3 h 0 — 0 3 min / 1 10 / 11 / 9 0 0 0
2026-10-04 06:57 draft 14 5.1 h / 11.1 h (4 small PRs: 3.2 h); split of the 3 slowest: idle ~80% (overnight Merge questions 3–4 h before Ed woke; builder questions unseen ~2.9 h; a green PR 3.5 h before its Merge question), CI ~1.3 h, building ~0.7 h, catch-up ~0.3 h 7 (+3 under another wording); catch-up lag 8.6 min median, 1 of 7 over 30 min 0.07 min median, 22 min max, 3 of 15 over 2 min, none after #218 merged at 08:57 6: Sprint walks (sprint-doors) red on 5 merges in a row 07:56–16:05, CI red once 17:09 (9 superseded cancels) 4 min / 1 20 / 17 / 6 0 0 not counted
2026-10-04 06:57 topic 6 0.4 h / 4.8 h 1 — 0 13 min / 0 6 / 1 / 2 0 0 0
2026-10-04 06:57 witch 18 (git history only; the API is not reachable from dev-ops) first commit → merge 0.8 h / 5.7 h 8 — unknown 6 min / 1 16 / 28 / 3 0 1 (art pass) 0
2026-10-04 06:57 ae 8 0 h / 4.6 h 0 — 0 5 min / 0 6 / 4 / 2 0 0 0
2026-10-04 06:57 admit 0 (nwspk/web: no push to master; nwspk/admit: none) — 0 — 0 — 0 / 0 / 0 0 0 0
2026-10-04 06:57 dev-ops 10 0 h / 0 h 0 — 0 12 min / 0 5 / 1 / 2 0 0 0
2026-10-05 06:57 draft 0 (Sunday; no runs on main) — 0 no runs 0 892 min / 1 (#224’s live report, answered Sunday 11:32) 0 / 0 / 0 0 0 0
2026-10-05 06:57 witch 20 (git history; the API refuses dev-ops) first commit → merge 1.8 h / 22.2 h (#6, the reused prototype branch; next 7.6 h) 26 (11 on #6) not measurable not measurable 189 min / 7 (5 overnight FINAL cards 9–11 h; by day 11 min–3.2 h) 0 / 13 / 0 (4 withdrawn) 0 2 (art pass, prototype; both builders finished) 0
2026-10-05 06:57 dev-ops 1 0 h 0 — 0 none answered (the 10-04 review update still open) 0 / 1 / 0 0 0 0
2026-10-05 06:57 topic, ae, admit, mergetournament 0 — 0 — 0 — 0 / 0 / 0 0 0 0
2026-10-06 06:57 draft 0 (no runs on main; #226 open, its two CI runs ended failure with jobs cancelled, not red) — 0 — 0 193 min / 1 2 / 1 / 0 — 1 (996 revealed votes, waiting on Ed’s Merge #226) 0
2026-10-06 06:57 witch 4 prototype → main (5.9 h / 10.2 h) and 130 feature PRs into prototype (1.35 h median, small 0.84 h, worst 7.8 h); git history only see Merged 148 merge prototype commits on 84 of 130 PRs, plus 32 branch-to-branch merges not measurable not measurable 17 min / 4 8 / 5 / 0 (none after Ed’s 16:25 ruling) — 0 0
2026-10-06 06:57 topic 1 (#387, 53 h, waited on the repo owner) 53 h 0 — 0 on main; production deploy (manual) failed 14:42 1184 min / 2 1 / 1 / 0 — 0 0
2026-10-06 06:57 dev-ops 5 0 h 0 — 0 473 min / 3 1 / 2 / 0 — 0 0
2026-10-06 06:57 admit, ae, mergetournament 0 — 0 — 0 — 0 / 0 / 0 — 0 0
2026-10-07 06:57 draft 1 (#226) 12.0 h 0 — 0 (4 runs, all green) 844 min / 3 2 / 1 / 0 — 0 0
2026-10-07 06:57 witch 4 into main (10.0 h / 14.0 h, release bundles) and 214 into prototype (0.91 h median, small 0.60 h, worst 7.0 h); git history only see Merged 333 merge prototype commits on 157 of 214 branches (73%) not measurable not measurable — (off the page since 10-05 16:25) 0 / 0 / 0 — 0 0
2026-10-07 06:57 admit nwspk/web not reachable — — — — — 3 / 1 / 0 — 0 0
2026-10-07 06:57 dev-ops 3 0 h 0 — 0 42 min / 0 0 / 1 / 0 — 0 0
2026-10-07 06:57 topic, ae, mergetournament 0 — 0 — 0 — 0 / 0 / 0 — 0 0
2026-10-08 06:57 witch 2 into main (11.7 h / 23.0 h, release bundles) and 81 into prototype (0.89 h median, small 0.58 h, worst 21.4 h); git history only see Merged 101 merge prototype commits on 58 of 81 branches (72%) not measurable not measurable — (off the page) 0 / 0 / 0 — 0 0
2026-10-08 06:57 dev-ops 1 0 h 0 — 0 none answered 0 / 1 / 0 — 0 0
2026-10-08 06:57 draft, topic, ae, admit, mergetournament 0 (no runs on main) — 0 — 0 none answered (Ed’s last answer 10-06 22:17) draft 0 / 1 / 0, topic 1 / 0 / 0 — 0 0
2026-10-09 06:57 witch 96 merges (git history; not broken down) — — not measurable not measurable — (off the page) 0 / 0 / 0 — 0 0
2026-10-09 06:57 all others 0 (draft, Topic, ae checked by API; dev-ops 1 log PR on 10-08) — 0 — 0 none answered (Ed’s last answer 10-06 22:17) dev-ops 0 / 1 / 0 — 0 0
2026-10-10 06:57 all Witch 15 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 none answered (Ed’s last answer 10-06 22:17) 0 / 0 / 0 (dev-ops’s card updated in place) — 0 0
2026-10-11 06:57 all Witch 33 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 none answered (Ed’s last answer 10-06 22:17) 0 / 0 / 0 (card updated in place, C18) — 0 0
2026-10-12 06:57 all Witch 143 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 1 answered (dev-ops review card, 10-11 18:24, after 2.5 days) draft 1 / 0 / 0 — 0 0
2026-10-13 06:57 all Witch 251 merges (git, merges only per C19); draft, Topic, ae 0 (API); nothing red — — — 0 none answered 0 / 0 / 0 (card updated in place, C18) — 0 0
2026-10-14 06:57 all Witch 283 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 none answered 0 / 0 / 0 (card updated in place, C18) — 0 0
2026-10-15 06:57 all Witch 23 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 none answered admit 1 / 1 / 0 (refreshed after the weekly confirmation: backups re-asked, server question settled); card updated in place — 0 0
2026-10-16 06:57 all Witch 18 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 none answered 0 / 0 / 0 (card updated in place) — 0 0
2026-10-17 06:57 all Witch 3 merges (git); draft, Topic, ae 0 (API); nothing red — — — 0 none answered 0 / 0 / 0 (card updated in place) — 0 0
2026-10-18 06:57 all 0 everywhere, Witch included (git); nothing red — — — 0 none answered 0 / 0 / 0 (card updated in place) — 0 0
2026-10-19 06:57 all Witch 12 merges (590 in the week, git); draft, Topic, ae 0 (API) all week; nothing red — — — 0 none answered all week 0 / 0 / 0 (card updated in place) — 0 0

Friction

Date What happened Cost Cause Led to
2026-10-01 Draft items of kind final and decision the page couldn’t show Ed couldn’t answer them until repaired No check on writes C2
2026-10-02 Three draft items with no status, invisible on the page Ed saw no merges to do while the coordinator waited on him No check on writes Page v13, C2
2026-10-02 51 draft answers never stamped handled Wakes re-read old answers Rule not followed Poke; C2 reminds hourly
2026-10-02 Merge tasks sent Ed to GitHub, where he was signed out Two merges hidden from him Ed did the merging C1
2026-10-02 The page guard didn’t load in cloud sessions One probe round; Ed set an environment variable Cloud workspaces are untrusted env var (SETUP step 6)
2026-10-02 A subagent ran on Sonnet against the Opus rule Rule broken; probe repeated Model not passed explicitly Pass model: "opus" every time
2026-10-02 Dev-ops lost its watch on draft #175 in a restart Merge waited for an overdue in-flight item and Ed’s nudge Subscriptions die with the session C4
2026-10-02 PRs merged one at a time; each merge put the rest into conflict ~12 re-runs of ~40 min; small PRs waited 3–5 h Queue order kept by habit; every PR edits the same ledgers C3
2026-10-02 #160’s Merge question waited 1h45 on Ed The line stood still behind it One question at a time C3
2026-10-02 Main’s deploy job waited 21 min for a machine Every merge waits behind branch test runs Account’s limit on jobs at once; nothing puts the deploy first C6, then C7
2026-10-02 Three auto-mode safety refusals in dev-ops (a trigger delete, a hash read, a force-push) Ed had to type a go-ahead once; two reroutes Classifier caution on outward actions Watch: if it repeats, find the pattern
2026-10-02 Good: #163’s new check caught the rail triangle hanging under the dev switch 1h40 to fix before deploy, not after Draft’s one-check-per-fix rule Keep the rule
2026-10-02 Draft (sent): four new builder PRs (#170 #171 #172 #174) unseen ~1.5 h Review started late Coordinator not subscribed to new PRs Draft now subscribes on open and lists PRs at each wake
2026-10-02 Draft (sent): #174 turned CLAUDE.md’s line endings CRLF→LF, breaking a gotcha’s literal CR One extra fix round Builder rewrote the file in text mode Candidate: a line-ending check in spec-check, so the push catches it
2026-10-02 Draft (sent): the coordinator can’t read docs.vote/healthz or edit .claude/settings.json (auto-mode refusals) Deploys verified only by CI’s own step Classifier treats production and self-editing as risky A page task owed by draft for Ed’s one-line approval
2026-10-02 Draft (sent): builder Charlie reported Ed’s Q5 as open 80 min after it was answered and relayed 80 min Builder missed the COORDINATOR comment C5 should cover it
2026-10-02 Draft (sent), good: the builder measured the real cause of #163’s toc-travel red after the coordinator misdiagnosed it Wrong fix avoided Builder pushback with measurements Keep: builders may dispute a diagnosis with numbers
2026-10-02 Draft (sent), good: copy-check’s walk caught four 📧 text moves needing a golden re-freeze before merge Caught before deploy Sprint tier Keep
2026-10-02 Draft (sent): Ed judges UI from screenshots, so some issues show only after deploy Fix rounds after deploy No way to try a PR before it deploys Candidate: a preview deploy per PR, linked from each Merge question
2026-10-02 A task’s “Claude Code environments” link opened a blank tab (Ed) A detour for Ed The link pointed at claude.ai/code, not the settings page; it was never tried Settings tasks give exact steps, not untried links
2026-10-02 Admit (sent): its coordinator’s GitHub tool reaches only nwspk/admit, so it can’t read the rules from dev-ops as CONVENTIONS says A workaround found by the coordinator A session’s GitHub scope is its own repository’s owner CONVENTIONS names the public clone as the fallback
2026-10-02 Dev-ops told Ed that Claude couldn’t push to Topic, trusting the attach tool’s “push refused”; a real push and PR then worked A wrong task on Ed’s page, then a correction Took a tool’s prediction as a measurement Test with a harmless real action before reporting a block
2026-10-02 Dev-ops wrote page times rounded ahead of the clock (18:46, 18:47 at 18:44); the page guard refused the second One refused write, one item 2 min early Guessed the time instead of reading it The guard works; read date -u before every stamp
2026-10-02 Topic’s repository has no Claude app, so GitHub events wake no session there Topic’s PRs must be checked by hand Repository on another person’s account Issue #363 asks the owner
2026-10-02 Admit (sent): a “read and sign off the spec” task got Done 25 s after posting, with no note One extra question to find out what Done meant A judgement step posted as a task C8
2026-10-02 Topic (sent): a subagent builder started with worktree isolation had every command refused in the cloud session One wasted builder start, ~1 min Isolation context lost in cloud sessions CONVENTIONS, “Briefing a builder”: make the worktree by hand
2026-10-02 Topic (sent): the page guard refused a page write with an asked time from memory, in the future One refused write Second coordinator today to guess the time (dev-ops was the first) The guard catches it; a repeat on a third coordinator makes it a rule to read the clock
2026-10-02 Topic (sent): every project’s answers wake every watching coordinator (4 wakes in Topic’s first 5 min; dozens for dev-ops today) A turn per wake per coordinator, now 4 coordinators One watch covers the whole page Register item; the review weighs it now that 4 coordinators pay it
2026-10-02 Admit (sent): a builder subscribed to its PR never woke for the coordinator’s review comments (nwspk/web#53) 22 min idle until a nudge All agents post as Ed’s account, so a COORDINATOR: comment looks like the builder’s own echo CONVENTIONS: the nudge after every COORDINATOR: comment stays; C5 refined
2026-10-02 ae: the Claude app reaches it; PR events arrived at once (subscription and merge) — — —
2026-10-02 ae (sent): the watch-armed check in QUESTIONS-PAGE.md names wording a cloud session never shows A check that can’t pass as written Cloud sessions word the watch listing differently QUESTIONS-PAGE names both wordings
2026-10-03 The page offered Ed a nudge for the Topic coordinator while two of its questions waited on him (Ed) Ed asked what to do with nudges to coordinators that have nothing to do Quiet counted only in-flight work, not items waiting on Ed; no way to park an idle project but mergetournament’s improvised one Page v15: waiting on Ed is not quiet; parking is a rule
2026-10-03 Ed could see only one waiting item at a time (Ed) Nine items behind Later; no overview One-at-a-time design from 2026-09-26 Page v15 lists them all
2026-10-03 Dev-ops wrote [01:19] and [01:24] in chat at 01:17 real time, guessed instead of read Two wrong times shown to Ed Third time-guess in two days (after dev-ops on 10-02 and Topic) Read date -u before every timestamp in chat too, as AGENTS.md already says
2026-10-03 Dev-ops again wrote [01:31] and [01:35] in chat, before 01:30 real time, minutes after logging the first slip Two more wrong times shown to Ed A logged rule did not change the habit; status lines are written with no tool call before them Candidate for the review: a status time only from a date call in the same turn, or no time at all
2026-10-03 Topic (sent): a question to Ed called the email digest all-or-nothing, one dropdown, taken from a July journal entry; August’s #254 had restored per-kind switches. Ed caught it with a production screenshot One wrong question withdrawn and re-posted; Ed had to check Stated how the product behaves now from a history record, not the code or live page Candidate: before a coordinator tells Ed how the product behaves now, it checks the current code or the live page, never a journal alone
2026-10-03 Topic (sent): the page nudged Ed about Topic (last active 5 h ago) while it worked through his answers; the mod had stopped stamping lastActive after a container restart at ~20:20Z. Second time (dev-ops’s own stamp stopped at 15:23 the same way) A false nudge to Ed The mod learned its project only from a write to coordinators/, held in memory a restart wipes C9
2026-10-03 Dev-ops put C9’s row in the Friction table, not Changes, by inserting after the first text matching | C8 | (a Friction row ends with it) Found and moved at the next review Placement by text match in a file where tags repeat across tables Insert by table row, not by first match
2026-10-03 ae (sent): about 60 wakes since 20:00Z from other projects’ comments, 7 for ae; parked coordinators pay too A turn per wake per coordinator, now 5 watching One watch covers the whole page (the register item, second report) The wake already carries the thread id, so a coordinator can drop another project’s wake from that alone without reading the page; the turn itself stays until the platform filters by thread
2026-10-03 Dev-ops asked Ed two questions (who merges rule changes; the Opus name) only in chat, and repeated them there for five hours before Ed asked whether they were on q Two questions Ed couldn’t see on his page The page-first rule (AGENTS.md) not followed for questions arising in a chat answer Posted to the page at 08:22; a question raised in chat goes on the page in the same turn
2026-10-03 Dev-ops offered Ed “pin helpers to Opus 5.5 by full name” (in chat, then on the page) without checking it was possible; the helper-agent setting takes only sonnet / opus / haiku / fable. Withdrawn within a minute One impossible option shown to Ed Proposed from memory, not from the tool’s own definition Check a proposal against the tool before putting it to Ed (as with Topic’s push)
2026-10-03 Witch (sent): SETUP.md C assumed a coordinator can create a new repository; the safety check refused gh repo create, and after Ed cleared it GitHub’s proxy refused too (sessions are bound to their configured repositories). Ed created it himself Three page items instead of one Setup written for existing repositories only C12
2026-10-03 Witch (sent): the safety check refused the coordinator’s merge of a setup-only PR in a repository where nothing deploys ([Merge Without Review]), though CONVENTIONS makes it the coordinator’s own; it went to Ed as a Merge question One extra question for Ed Classifier caution on merges; second classifier refusal against a rule Ed made (after dev-ops’s on 10-02) Watch: if it repeats, ask Ed whether to add a standing permission
2026-10-03 Dev-ops left its own in-flight item “Dev-ops is waiting” (from 10-01, page v12) open after its work moved on; it went overdue at 09:00 and Ed tapped its nudge One nudge from Ed for nothing In-flight items not re-read when new work starts Closed at 09:24; the daily review’s step 2 now also lists the reviewer’s own open in-flight items
2026-10-04 Draft: Sprint’s walks (sprint-doors) job red on main on 5 merges in a row (07:56–16:05 on 10-03), green again at 17:09 with no fix merged between Red main for 8 h; cause unknown Unknown: flaky walk or an environment fault Sent to the draft coordinator; a red that clears by itself is still a red
2026-10-05 Witch: every finished PR waits for Ed’s OK on its finished card before the coordinator reviews it (CONVENTIONS, A builder that finishes says so on the page too); 11 such waits in the window, 11 min–3.2 h by day and 9–11 h overnight; two (PR #41 since 10-04 17:06, PR #64 since 00:12) still waiting Review starts only when Ed taps; the probable cause of draft’s 3.5 h gap on #216 too (C13) The page OK is the only thing that wakes a coordinator when a builder finishes C15
2026-10-05 Witch: two in-flight items overdue (art pass since 10-03 21:00, prototype since 10-04 09:00) though both builders had finished Two false overdue signals on Ed’s page Same cause: the coordinator had not been woken to review and close them C15
2026-10-05 Witch: 26 merge-main commits across 20 merged PRs (11 on #6, the reused prototype branch) Re-runs; the same pattern C3 met in draft Unknown: shared files edited by every PR, or a long-lived branch Sent to the Witch coordinator
2026-10-05 Draft coordinator has not answered the 10-04 questions (#216 and #214 gaps, the Sprint red) after 24 h; idle since 10-04 11:32 C13’s cause still unnamed A Sunday; the poke is a chat message, not a page item Re-ask at the 10-06 check
2026-10-05 Dev-ops wrote [07:13] in chat and 07:15 in the log at 07:02 real time, guessed ahead of the clock (fourth time) One wrong time shown to Ed; two log cells corrected Wrote the stamp while composing, with no date call in that turn Rule kept: no time is written without a date -u in the same turn; candidate for C16 if it recurs
2026-10-05 Ed asked whether page items were stale. Witch’s two overdue in-flight items were still open 8 h after dev-ops’s morning poke, Topic’s keys item went overdue at 09:00, and six items had waited on Ed 40–68 h with no check that they were still current (admit 2, ae 2, Topic 2) Ed had to ask; four coordinators poked at 14:54 A chat poke is easy to drop, and nothing checks whether an old item is still current Candidate: the daily review lists open items over 24 h old and asks their owners to confirm or withdraw them
2026-10-06 Draft (answered): #216 and #214 waited 3.5 h and 4.8 h because the coordinator missed the builders’ FINAL and re-merge reports, waiting on events instead of reading the PRs; sprint-doors was red on 5 merges because #209 changed phone taps and demo-join’s walk drove the old way (fixed by #222; product never broken), and the sprint tier was not checked after merges until 15:15 Two coordinator waits of 3.5–4.8 h; red main 8 h Waiting on events that never come (same-account echo) Draft reads every builder PR and main’s sprint result after each merge since 10-03 15:15; C15 removes the wait on events
2026-10-06 Witch: 148 merge prototype commits across 84 of 130 feature PRs in one day, plus 32 branch-to-branch merges Re-runs on most PRs (cost unmeasurable: the API refuses dev-ops) A long-lived integration branch every PR merges into; second day running Asked of Witch 10-05; Ed now works with Witch directly, so it goes in his Witch session’s hands, not the page
2026-10-06 Admit and ae: four items wait on Ed 65–84 h (admit: phase 1 go-ahead, admissions@ mailbox; ae: visa steps A2, A3); both coordinators confirm all four are still current Work held for Ed for 3 days Ed’s choice of priorities; nothing reminded him The review now lists items over 2 days old (C16)
2026-10-06 Dev-ops wrote C16’s time as 07:10 at 07:01, though date ran in the same command; caught before merge None reached Ed The stamp was typed into the script text, not taken from the clock’s output (fifth slip) Stamps in scripts come from the clock in the script itself (datetime.now), never typed
2026-10-06 Admit (sent): @sirodoht replied on nwspk/web#52 at 10-05 13:19 (the blocker in inflight/admit-sirodoht-advice); admit saw it at 10-06 07:44, ~18 h later ~18 h on a blocker Ed was waiting on Issue comments wake no session (PR subscriptions cover PRs only); every wake in between was another project’s page comment, dropped on its thread id alone Candidate for the 10-07 review: a coordinator waiting on an issue reply re-reads that issue on every wake, its own or not; or it waits through a draft PR, whose comments do wake it
2026-10-07 Draft: #226 merged at 07:44:00 while its third CI attempt (started 07:43:37) was still running; attempts 1 and 2 had ended failure with every job cancelled, so it merged with no green on its head. Main’s CI went green on the merge commit A deploy without the PR’s own green; no harm this time Unknown: likely read the cancelled-only failures as noise and merged on the re-run’s start Sent to the draft coordinator
2026-10-07 Witch: 333 merge prototype commits on 157 of 214 feature branches in a day (73%), up from 64% the day before Re-runs on most branches A long-lived integration branch every PR merges into; Ed handles Witch in its own session Mentioned to Ed in the review; not pressed
2026-10-08 Draft (answered): #226 merged before green on purpose: attempts 1 and 2 failed only because GitHub found no runners, and every gate had been run locally on main with #226 merged in. Draft now waits for a green run on the head even then, unless Ed says otherwise for that PR One merge without the head’s own green; none since Runner shortage read as noise Draft’s own rule, tightened 10-07
2026-10-19 Weekly look-back: Ed answered nothing on the page from 10-12 to 10-19 (one OK on 10-11); every project but Witch stood still, 12 items waiting (oldest 16.5 days). No method step misfired; quiet reviews cost one turn each (C18). Considered and not done: pausing the daily review while Ed is away; its cost is already small, and a missed red would cost more A week of waiting, not of waste Ed away Nothing to change; keep listing the waits

Changes

# Change Made Prediction Check on Result
C1 Merge is a question on the page; the coordinator merges (dev-ops PR #23) 2026-10-02 13:00 No merge tasks to Ed; merged within 10 min of his Merge 2026-10-04 2026-10-04: holds, with exceptions. Draft: 11 of 14 merged within 10 min of Ed’s Merge (#200 42 min, #224 32 min, #214 4.8 h after Merge). One merge task reached Ed (Witch #1, after the safety check refused the coordinator’s merge)
C2 The page guard: writes to the page checked before they run (dev-ops; draft PR #175) 2026-10-02 13:23 / 15:37 No mis-shaped items on the page; no answer unstamped over an hour 2026-10-04 2026-10-04: holds. No mis-shaped item in the window; no answer unstamped over an hour
C3 Faster merges: every ready PR asked at once, docs-only merges by the coordinator, ledgers written on main, no re-run for being behind by docs (dev-ops PR #26) 2026-10-02 16:27 Draft’s small PRs merged within 2 h of opening (median); at most 3 merge-main commits a day; docs PRs merged without a question 2026-10-03, again 2026-10-05 2026-10-05: missed on time again, re-runs falling. Small PRs 3.2 h median on 10-04 (5.6 h on 10-03); merge-main commits 41 → 7 (target 3); docs held. No draft merges on 10-05 to add. Kept: the hours are idle time before the Merge question (C10), which C13 and C15 address; no further check of its own. First sign: #166 merged without a question at 16:34. 2026-10-03: missed on time (small PRs 5.6 h median) and on re-runs (41 merge-main commits); held on docs (#166, #181, #183 merged without a question; #167, #187, #188 were asked because they change the design prototype’s code). Why: the part C3 changed now takes about 15 min (Ed answers in 10, the merge follows in 4); the 4.3 h comes before the question is asked. Kept; C10 finds where those hours go
C4 A restarted coordinator re-subscribes to its PRs (dev-ops PR #26) 2026-10-02 16:27 No overdue in-flight item caused by a missed PR event 2026-10-09 2026-10-09: holds. The week’s overdue items had other causes (Witch’s unreviewed builders, fixed by C15; Topic waiting on a person). None traced to a missed PR event
C5 Builders watch their own PRs; the coordinator is the backstop (dev-ops PR #27) 2026-10-02 17:07 A PR put into conflict by a merge is pushed up to date within 30 min, unprompted 2026-10-04 First sign, 2026-10-02: review comments don’t wake a subscribed builder (same-account echo); the nudge rule restored for COORDINATOR: comments 2026-10-04: holds on time, not on ‘unprompted’. Catch-up merges came 8.6 min (median) after main moved, 1 of 7 over 30 min; most followed a coordinator’s ‘main has moved’ comment
C6 Watching main’s deploy wait for an hour; a proposal if it recurs 2026-10-02 17:00 (measurement) 2026-10-02 18:00 Recurred: 2 of 9 merges waited (#166 21 min, #170 4 min), the rest 3–4 s; 19 jobs per merge, stale PR runs uncancelled. Led to C7
C7 The deploy never queues behind PR checks: stale PR runs cancelled, one slow suite per branch, deploy job first on main (CONVENTIONS) 2026-10-02 18:14 (rule); draft’s workflows by its Merge question No deploy job on main waits over 2 min for a machine; PR verdicts at most ~5 min slower 2026-10-05 Early sign 2026-10-03: 9 of 23 deploy jobs on main still waited over 2 min (up to 21 min), several after draft’s workflow change (#185, 18:54) Second sign 2026-10-04: after #218 (newer push retires older checks) merged at 08:57, every deploy wait was 0.07 min or less 2026-10-05: holds. Since #218 no deploy job on main waited over 2 min (15 runs on 10-03 to 10-04; no runs on Sunday). Kept
C8 A step that needs Ed’s judgement is a question with named outcomes, never a task (QUESTIONS-PAGE.md) 2026-10-02 18:56 No judgement step is posted as a task, and no Done needs a follow-up question to read 2026-10-09 2026-10-09: holds. Tasks posted since 10-02 (admit mailbox, ae visa A2 and A3, Topic’s push test) were all actions, not judgements; no Done needed a follow-up
C9 The page guard finds its coordinator’s project from the session’s own link on the page after a restart (dev-ops PR #47) 2026-10-03 01:35 No coordinator that is working shows last active over 2 h old; no nudge to Ed about a working coordinator 2026-10-06 2026-10-06: holds. No false nudge reported since 10-03; every working coordinator’s last active moved within the last day (draft, ae, Witch, Topic, admit, dev-ops); mergetournament is parked
C10 Measure where a draft PR’s hours go before its Merge question: the daily numbers split open → merged into open → asked, asked → answered, answered → merged, and the next review traces the three slowest PRs’ timelines (pushes, reviews, CI runs, merge-main commits) 2026-10-03 07:03 One stage holds over half of open → asked, which names the next change 2026-10-04 2026-10-04: holds. Idle is ~80% of the 3 slowest PRs’ open time. Causes: Merge questions asked 03:26–04:39 waited for Ed to wake (no fix wanted); builder questions unseen ~2.9 h on 10-02 night (fixed 10-02: coordinators subscribe on open); and coordinator gaps — #216 green at 08:57, asked 12:35; #214 merged 4.8 h after Ed’s Merge. Next: C13
C11 Proposed to Ed: a merge or deploy report needs no OK of its own; the page gathers them into one card he clears with one tap 2026-10-03 07:03 (asked) OK taps on reports fall from about 70 a day to a few; no report Ed needed goes unseen 2026-10-06 Declined by Ed 2026-10-03 07:55 (keep each report as its own card); nothing changes, and the check on 10-06 is dropped
C12 A new project’s repository is created by Ed from a one-tap task with a prefilled github.com/new link, then the coordinator opens on it (SETUP.md C1) 2026-10-03 09:21 The next new project needs one page item from Ed to get its repository, not three at the next new project  
C13 Daily number: green-and-finished → Merge question asked, and Ed’s Merge → merged, per draft PR; the draft coordinator is asked the cause of #216 (3.5 h) and #214 (4.8 h) 2026-10-04 07:10 Both gaps under 30 min median by the next review, or a named cause that needs a rule 2026-10-06 2026-10-06: holds on cause. Draft named it: the coordinator waited on GitHub events that never came instead of reading the PRs (#216, #214), fixed in its own practice on 10-03 15:15 (#220, #222, #224 merged within minutes of Merge). No draft merges since, so no new gaps to measure; C15 removes the event wait for every project. Kept as a daily number
C14 Weekly trim: the Deploy wait and Mis-shaped columns are written only when non-zero (an exception), since C7 and C2 hold and both read zero for three days 2026-10-05 07:02 The daily numbers take less to gather with nothing lost: any wait over 2 min or any mis-shaped item still shows 2026-10-12 2026-10-12: holds. Neither number was non-zero all week, and nothing was missed: the one quality event (#226 merged before green) was caught by the merge-before-green check, not by these columns
C15 Proposed to Ed: a builder that posts FINAL: also wakes its coordinator directly (a one-shot Routine into the coordinator’s session, as dev-ops pokes coordinators); the finished card stays on the page as an OK-only note (Ed kept report cards, C11), but the review no longer waits for his tap 2026-10-05 07:02 (asked); chosen by Ed 14:55, rule merged the same hour FINAL → coordinator’s review under 15 min median (Witch now: 1 h by day, 9–11 h overnight); no in-flight item overdue because a finished builder went unreviewed 2026-10-08 Chosen by Ed 10-05 14:55. First sign: Witch #107 at 15:53 posted the coordinator is reviewing it, under an hour after the rule. 2026-10-08: too few cases to judge; check moved to 2026-10-12. One measurable FINAL since the rule: draft #226 (20:54) reviewed and its Merge question asked at 21:46, 52 min; Witch is off the page and its API refuses dev-ops; no other project had a builder finish. No in-flight item went overdue for an unreviewed builder 2026-10-12: still too few cases; kept, judged at the fifth measured FINAL. No builder finished in draft, Topic, ae or admit all week (Ed was away 10-07 to 10-11); Witch is off the page
C16 The review’s step 2 lists every item open on Ed’s page over 48 h and every overdue in-flight item, asks each owner to confirm or withdraw it, and names the confirmed ones in the report so Ed sees what he is holding 2026-10-06 07:01 No item stays open on the page over 48 h without its owner confirming it that day; Ed hears of each long wait at most once a day 2026-10-09 2026-10-09: holds on the page, not on the waits. Every item over 48 h was confirmed by its owner (10-05/06) and listed in each morning’s report; trimmed to a weekly confirmation by C17. Ed has answered nothing since 10-06 22:17, so 12 items wait (oldest 6.5 days): the listing works, the waits are Ed’s to clear
C17 A coordinator re-reads whatever it waits on outside a pull request (an issue reply, a person’s answer) on every wake, its own project’s or not; such an in-flight item names it under links (QUESTIONS-PAGE.md). C16 trimmed: an owner confirms a long-waiting item once a week, not daily 2026-10-07 07:02 No outside reply waits over 2 h unseen while wakes are arriving 2026-10-10 2026-10-10: not yet testable; check moved to 2026-10-14. 2026-10-14: still not testable; judged at the first outside reply awaited while wakes arrive. Ed silent since 10-06 except one OK, so wakes stay rare; owners were asked today, in the week’s confirmation of long waits (C16), to re-read what they wait on Ed has answered nothing since 10-06, so almost no wakes arrived and no outside reply was awaited under the rule
C18 Weekly-style trim for quiet spells: when nothing has changed and Ed has not answered since the last review, the review updates its open card in place (date, waits) instead of withdrawing it and posting a new one, and skips the GitHub helper when a direct API count shows no merges 2026-10-10 06:58 Quiet-day reviews take one turn and add no new card; nothing that changed is missed 2026-10-17 2026-10-17: holds. Seven quiet reviews (10-10, 10-11, 10-13 to 10-17) each took one turn without a helper and updated the open card; a new card only on 10-12, after Ed had OK’d the last. The one change in the spell (admit refreshing its items on 10-14) was picked up and reported
C19 Weekly trim: a project Ed runs directly, off the page (Witch since 10-05), is counted as merges only; no per-PR timings or merge-back counts, which nobody acts on and which cost a helper’s time daily 2026-10-12 06:58 The review’s GitHub step shrinks with nothing acted on lost 2026-10-19 2026-10-19: holds. A direct merge count replaced the helper all week; no Witch issue went unnoticed (Ed handles Witch in its own session)