Surfaced by the objectui#7814 dev as to file and ⛔ deliberately not edited by it — binding ruling 2 of that dispatch forbids a dev touching AGENTS.md (governed surface). Adopted and filed here by the domain:devx @ objectui seat.
The sentence
AGENTS.md:204 on main today, verbatim:
- 两条现在都会直接失败,由
scripts/vitest-invocation-guard.mjs 拦下:vitest root 不是仓根 → 拒绝;-- 后面还有参数 → 拒绝。
It states the count 两条 and enumerates exactly those two.
Control on the same read: AGENTS.md carries 34 ⛔ markers and 0 occurrences of a nonsense token ⇒ this is a reading of a file that exists and parses, ⛔ not a path that silently missed.
Why it goes stale
PR objectui#9504 (card objectui#7814) adds a third refusal — subsumed-positional-filter: when one positional filter contains another as a substring, Vitest unions them and the contained one adds zero files, so an appended path silently widens the run instead of narrowing it.
⇒ the moment that PR lands, 两条 is an undercount, and the enumeration beside it is incomplete.
⭐ The repair is a POINTER, ⛔ not 两条 → 三条
⭐ The objectui#7814 dev already solved this correctly in the file it was allowed to touch: the guard's own docstring header carried the same the two count, and the PR replaced it with a pointer to the pin test rather than with a new number. AGENTS.md wants the same treatment.
⛔ Changing the number is the wrong fix. This repo's own commandment #9 argues against writing the count down at all: a count in prose is a fact derived once and never re-derived, and the next refusal added will falsify it again. The durable form names the instrument:
…由 scripts/vitest-invocation-guard.mjs 拦下;它拒绝哪些形态,以 scripts/__tests__/vitest-invocation-guard.test.ts 为准。
⚠️ Third instance of this exact class filed by this seat today, which is the real signal: objectui#9493 (three "its merge" rows naming shas that are not on main) and objectui#9502 (two files asserting the shard jobs are not required checks, both false since 2026-08-24). ⭐ Same shape every time — a count or a list, written once, never re-derived.
⛔ Governed surface — fences for whoever takes it
- ⛔
AGENTS.md is governed. A PR touching it is draft only, needs GOVERNED_APPROVERS (os-zhuang / hotlong) approval and a human merge. ⛔ This seat will never flip it ready, enqueue it, arm auto-merge, approve it or merge it.
- ⚠️ It queues.
AGENTS.md is a hot-file serial surface in this lane — objectui#9466 is already open against it awaiting an authorized approval, and the seat's queue has objectui#7833 and objectui#8875's second PR behind it. ⛔ Do not open a competing PR; take a slot.
- ⚠️ Ordering: this card's premise only becomes true when objectui#9504 lands. ⛔ Do not edit the sentence before then, or the file will describe a refusal the tree does not have — the same defect pointing the other way.
Acceptance
- The sentence no longer carries a refusal count, and points at the instrument that enumerates them.
- ⛔ No new number is introduced anywhere in the paragraph.
- The enumeration that remains (if any) is shown to match the guard's verdicts on the merged tree, with a control proving the reader could have found a mismatch.
gates_weakened: NONE — this is prose; ⛔ nothing about what the guard refuses may change.
Blocked-by: #7814
Restart-when: `grep -c 'subsumed-positional-filter' scripts/vitest-invocation-guard.mjs` reads ≥1 on `main`
Surfaced by the objectui#7814 dev as
to fileand ⛔ deliberately not edited by it — binding ruling 2 of that dispatch forbids a dev touchingAGENTS.md(governed surface). Adopted and filed here by thedomain:devx@ objectui seat.The sentence
AGENTS.md:204onmaintoday, verbatim:It states the count 两条 and enumerates exactly those two.
Control on the same read:
AGENTS.mdcarries 34 ⛔ markers and 0 occurrences of a nonsense token ⇒ this is a reading of a file that exists and parses, ⛔ not a path that silently missed.Why it goes stale
PR objectui#9504 (card objectui#7814) adds a third refusal —
subsumed-positional-filter: when one positional filter contains another as a substring, Vitest unions them and the contained one adds zero files, so an appended path silently widens the run instead of narrowing it.⇒ the moment that PR lands,
两条is an undercount, and the enumeration beside it is incomplete.⭐ The repair is a POINTER, ⛔ not
两条→三条⭐ The objectui#7814 dev already solved this correctly in the file it was allowed to touch: the guard's own docstring header carried the same
the twocount, and the PR replaced it with a pointer to the pin test rather than with a new number.AGENTS.mdwants the same treatment.⛔ Changing the number is the wrong fix. This repo's own commandment #9 argues against writing the count down at all: a count in prose is a fact derived once and never re-derived, and the next refusal added will falsify it again. The durable form names the instrument:
"its merge"rows naming shas that are not onmain) and objectui#9502 (two files asserting the shard jobs are not required checks, both false since 2026-08-24). ⭐ Same shape every time — a count or a list, written once, never re-derived.⛔ Governed surface — fences for whoever takes it
AGENTS.mdis governed. A PR touching it is draft only, needsGOVERNED_APPROVERS(os-zhuang/hotlong) approval and a human merge. ⛔ This seat will never flip it ready, enqueue it, arm auto-merge, approve it or merge it.AGENTS.mdis a hot-file serial surface in this lane — objectui#9466 is already open against it awaiting an authorized approval, and the seat's queue has objectui#7833 and objectui#8875's second PR behind it. ⛔ Do not open a competing PR; take a slot.Acceptance
gates_weakened:NONE — this is prose; ⛔ nothing about what the guard refuses may change.