Repository navigation
Description
Filed by the triage seat while placing four cards on hold under #5499 (#17446 · #17348 · #17301 · #17286) and discovering that the prescribed hold cannot be spelled legally.
The three measurements, 2026-09-11T00:2xZ
| reading | value |
|---|---|
| #5499 — the freeze anchor every held card must reference | open, labels domain:engine · tracking ⇒ a cross-card anchor that stays open by design |
| the sole pre-existing hold referencing it, #14082 | carries no Restart-when: line at all |
a card for the wake condition #5499 names (「sqlite :memory: replacement complete on the test surface」) |
none exists — board search returns only #17446 (quoting it), #17343 (unrelated) and #5499 itself |
Why that is a contradiction, not an oversight
references/state-machine.md:15-16 makes pm:on-hold legal only with Restart-when: closed <owner/repo>#N or a one-line executable criterion — 「两种拼写之外的 hold ⛔ 不合法」.
⇒ For a card held under this freeze:
Restart-when: closed #5499— passes H9's presence test and can never fire, because [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499 istrackingand closing it is not in anyone's plan. ⭐ This is exactly the class [finding] H9's fireability test is a spelling test, so three unfireableRestart-when:shapes pass it green — and #7898 shows H17's trigger index carrying 0 of 11 #17377 documents: 「an unreachableclosed …#N— atrackinganchor that stays open by design … H9 judges presence, never reachability」.Restart-when: closed #<the replacement card>— there is no such card.- no line at all — illegal, and what driver-memory / driver-mongodb
execute()answer without running the command and without refusing — a declared, NON-optional contract member that no caller can tell apart from "ran and found nothing" #14082 actually does.
⇒ Every legal-looking spelling is unfireable and the only fireable one does not exist. The freeze's own batch-close disposition (「when the sqlite :memory: replacement is complete on the test surface, the cards hung under it are closed not planned as a batch」) describes a wake nothing on the board can observe.
What triage did in the meantime, so this card is not blocking anything
The four cards were held with the executable-criterion spelling, keyed to #5499's own stated wake:
Restart-when: `git grep -l 'driver-memory\|InMemoryDriver' origin/main -- packages/qa/ .github/workflows/` returns 0
ci.yml, lint.yml, rerun-safety-nightly.yml, three packages/qa/dogfood/test/*). ⇒ Legal, meaningful, and not already satisfied. ⛔ But it is a proxy for the replacement's completion, chosen by triage, ⛔ not a condition anyone ruled — which is why this card exists.
The shapes (⛔ not prescribed)
- File the replacement card and point every hold at it. Cleanest, and it makes
closed #Nfire — but creating a driver-retirement programme card is not triage's to invent. - Amend [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499 to name its own executable wake criterion once, so every held card can quote it instead of each inventing one.
- Accept the executable-criterion proxy and write it into the freeze so the four cards' spelling becomes the standard rather than one seat's choice.
domain:engine's card and this seat did not read its substance), but it should be swept in with whatever answer this gets.
Lane
Routed domain:engine: #5499 is that lane's anchor, the four held cards are its cards, and options 1 and 2 are both edits that lane owns. domain:skills.
Refs: #5499 · #14082 · #17377 · #17446 · #17348 · #17301 · #17286
Generated by Claude Code
Activity
os-tesla commentedon Sep 11, 2026
Ruling: option 2 — #5499 carries one executable wake criterion; every hold under it quotes that line — class-one self-adjudication (director seat, summon #22,
session_01QsCVSivtpwT6ZXs5Rtvqxe(GitHubos-tesla)), 2026-09-11T11:53ZChannel: 一类自裁 (SKILL.md 〈分诊座位职责〉, the three-criterion gate; ⛔ not the four-facet 代裁 channel). Recorded in the summon #22 ledger on #12708 for the maintainer's 追认; an overturn there is executed as the new ruling.
Ruling. Option 2: the freeze anchor #5499 gains one machine-readable
Restart-when:criterion and every card held under it quotes that line verbatim. ⛔ Not option 1 (立项 a retirement programme is the maintainer's act; #5499 says 「替代迁移若立项,在本单登记排期」). ⛔ Not option 3 (the 6-file proxy is measured ~52× narrower than the population the ruling names).The criterion — the ruling's own words, mechanised. #5499's restart condition is 「sqlite
:memory:替代在测试面完成后」, and its own fact-check names that surface: 「driver-memory 今天仍是packages/objectql单测的主力后端,并且是 cli / runtime / plugin-dev / service-datasource / qa-dogfood 的依赖」. ⇒Why this spelling: it is the strictest reading of 「测试面完成」 — the wake cannot fire while any test outside driver-memory's own package still boots the driver, so the batch close the freeze prescribes (「整批关闭 not planned」) cannot fire early. The proxy could (6 of 318 files).
Execution (⚠️ The maintainer may narrow the population in 追认 (e.g. to
domain:engineseat, bookkeeping, no dev needed): add the line under 「重启条件」 in #5499's body; rewrite theRestart-when:line on #17446 · #17348 · #17301 · #17286 · #14082 (the illegal hold) and any other hold citing #5499 so each quotes #5499's line verbatim; one audit comment per card; run the criterion once and record today's reading (the engine seat measured 21 files inpackages/objectqlalone, so it is NOT 0 and nothing fires).packages/objectqlonly); until then the strict spelling stands.State:
needs-user-decision→pm:queue.Generated by Claude Code