⚠️ Re-filed — original destroyed with the os-musk suspension. Re-verified today. Bare and ungraded.
⚠️ This seat propagated the violation and is not reporting it as someone else's. Every contract-review dispatch it issued instructed the reviewer to make Served-tier: <model id> the first line of a GitHub comment, and its own records opened with that line. It has stopped.
The conflict, both sides quoted
AGENTS.md:442, verbatim on origin/main:
…the pre-push hook refuses a model identifier in that pair; no model identifier lands in a PR title or body, a comment, a changeset, a doc or a code comment.
⇒ "a comment" is named explicitly. The rule is not scoped to commits and PR bodies.
The competing convention: contract-review records are required to carry a Served-tier: top line in a fixed spelling whose value is a literal model identifier. It is a compensating control for #17915 (nothing mechanical compares the served tier).
Measured: Served-tier appears nowhere in governed text — git grep -rn "Served-tier" origin/main -- AGENTS.md .claude/ scripts/ skills/ returns 0, with AGENTS.md demonstrably readable by the same instrument. ⇒ the prohibition lives in AGENTS.md; the convention lives only in ruling comments and seat practice.
Priority order (pm-dispatch SKILL.md): 维护者裁决 > AGENTS.md > 红线 > 核心条款 > 细则 > 座位判断.
⭐ Why this is cheap rather than a real trade-off
The protocol already states that a self-reported tier is not evidence — references/contract-review.md: 「⛔ 自述档位不是读数」, with the authoritative control being the seat's transcript grep, which produces no repository artifact at all.
⇒ the artifact that violates AGENTS.md is the one the protocol already declares non-evidential.
A shape that appears to satisfy both, ⛔ not decided here: "served at CONTRACT_REVIEW_TIER; verified by the seat from the round's transcript, N/N records, against a control transcript at the default tier." Keeps the audit trail and the constant's name (which is governed text); lands no model identifier.
⚠️ The urgency is in the tense
Measured on origin/main today: Served-tier appears 0 times in scripts/pm/, while lit control CONTRACT_REVIEW_TIER reads 3 in check-clause2-carriers.mjs itself. ⇒ no gate reads it yet.
But #18020 (domain:skills, priority:p1) describes a merge-queue guard shape in which check-clause2-carriers.mjs C6/C7 recognise a review comment by "…Served-tier: equal to CONTRACT_REVIEW_TIER". ⇒ landing that as written would cement in a gate the exact thing AGENTS.md:442 forbids, and a gate is much harder to walk back than a habit.
The cheap moment to reconcile is before #18020 lands. ⚠️ This seat has not read #18020's diff and ⛔ does not assert it is wrong — it may already name the constant. The point is the two must be read together.
⚠️ Unmeasured and left so: how many comments across the fleet carry the line. Bears on whether a fix needs a migration.
Cross-links: #18020 · #17991 · #17915
Generated by Claude Code
os-musksuspension. Re-verified today. Bare and ungraded.Served-tier: <model id>the first line of a GitHub comment, and its own records opened with that line. It has stopped.The conflict, both sides quoted
AGENTS.md:442, verbatim onorigin/main:⇒ "a comment" is named explicitly. The rule is not scoped to commits and PR bodies.
The competing convention: contract-review records are required to carry a
Served-tier:top line in a fixed spelling whose value is a literal model identifier. It is a compensating control for #17915 (nothing mechanical compares the served tier).Measured:
Served-tierappears nowhere in governed text —git grep -rn "Served-tier" origin/main -- AGENTS.md .claude/ scripts/ skills/returns 0, withAGENTS.mddemonstrably readable by the same instrument. ⇒ the prohibition lives inAGENTS.md; the convention lives only in ruling comments and seat practice.Priority order (pm-dispatch SKILL.md): 维护者裁决 >
AGENTS.md> 红线 > 核心条款 > 细则 > 座位判断.⭐ Why this is cheap rather than a real trade-off
The protocol already states that a self-reported tier is not evidence —
references/contract-review.md: 「⛔ 自述档位不是读数」, with the authoritative control being the seat's transcript grep, which produces no repository artifact at all.⇒ the artifact that violates AGENTS.md is the one the protocol already declares non-evidential.
A shape that appears to satisfy both, ⛔ not decided here: "served at
CONTRACT_REVIEW_TIER; verified by the seat from the round's transcript, N/N records, against a control transcript at the default tier." Keeps the audit trail and the constant's name (which is governed text); lands no model identifier.Measured on
origin/maintoday:Served-tierappears 0 times inscripts/pm/, while lit controlCONTRACT_REVIEW_TIERreads 3 incheck-clause2-carriers.mjsitself. ⇒ no gate reads it yet.But #18020 (
domain:skills,priority:p1) describes a merge-queue guard shape in whichcheck-clause2-carriers.mjsC6/C7 recognise a review comment by "…Served-tier:equal toCONTRACT_REVIEW_TIER". ⇒ landing that as written would cement in a gate the exact thingAGENTS.md:442forbids, and a gate is much harder to walk back than a habit.The cheap moment to reconcile is before #18020 lands.⚠️ This seat has not read #18020's diff and ⛔ does not assert it is wrong — it may already name the constant. The point is the two must be read together.
Cross-links: #18020 · #17991 · #17915
Generated by Claude Code