Repository navigation
[Decision] 仪器与吞吐的取舍:哪些闸门该硬、达档复核保留到什么程度 #19491
Description
Activity
- addedpriority:p1High: required for production / M2High: required for production / M2
on Sep 21, 2026 os-project-manager commented
on Sep 21, 2026 CollaboratorMore actionsRuling: batch #208 item 1 · letter 档 2 · maintainer 「19491 接受你的建议,并立刻派发处理相关任务。」 2026-09-21T04:12Z
Director seat, summon #25 (
session_012GcsUbuqFGBibkEDMRC1eE). Presented first as the seat's A/B/C letters; the maintainer asked for a synthesis rather than a relay (「19491 是一个很大的决策,你要帮我综合分析,不是简单的转述评论」), the seat measured the apparatus itself, and the maintainer accepted the recommended package whole. Item C was ruled separately and explicitly: maintainer 「19314 同意」 (chat, after the package). The spec seat's two later readings (the two blocking instruments are not CI gates — no workflow referencescheck-widening-tellsorcheck-clause2-carriers; and file contention between open PRs, not gates, limited this round's throughput) were verified by this seat (git grepover.github: 0 hits with control 27) and are part of the record.What was measured (2026-09-21T03:43–03:58Z,
origin/main4045781)reading value instrument code 344,532 lines: scripts/check-*162 files 215,342 +scripts/pm30 files 129,190product source ( packages/**/src, non-test)827,425 lines (tests 1,179,196); instruments = 42% of product source merges to main, 14 days 1,433: product 848 (59%), tooling 440 (31%), mixed 67, other 78; instrument directories ≈ 25 commits/day; 199 are fix/chore/docs(pm|scripts|skills…)last 60 merges product 35 (58%), median lead 1.4h / 3 commits / 356 lines; tooling 25 (42%), median 1.0h / 2 commits / 63 lines per-PR CI (PR #19314 head) 50 check-runs, 220 machine-minutes; wall clock 27.4 min set by 「Lint & Repo Gates」 (184 steps), of which 56 self-test/ratchet/corpus/census steps = 18.6 min (68%), 「PM dispatch-gates self-test」 alone 11.8 min; longest test shard 19.7 min what blocked #19314 --pairexit 4, only red row C5; neither script is in any workflow; the block is two charter sentences (SKILL.md:649,contract-review.md:41)check-widening-tells6,107 lines, born 2026-09-07, 18 commits = its whole history, 5 open false-positive cards, 0 true positives check-half-states68 rows, 36,717 lines / 2.48 MB, 52 commits in 14 days (8 on 09-20, all misread repairs), four runs a day, blocks nothing — but the charter made its anchor rows a dispatch precondition at-tier review one measured run 243k tokens / 68 tool calls / 29 min (PR #19488), the 37-family local re-run of gates the largest share; this seat's 5 reviews found 0 defects; the spec seat's ~20 found 6, all in docs / CHANGELOG / rules text board pm:queue192 (tooling 29), dispatched 24 (tooling 5), on-hold 84, blocked 55Diagnosis
Three different things were on one card. (1) 「the gate blocks me」 is small and not a CI matter: two charter sentences. (2) The real cost is capacity, not waiting: a third to two-fifths of merges are the toolchain maintaining itself, two-thirds of every PR's CI critical path is the tooling's self-tests, and the loop is self-feeding (an instrument that guesses intent → false positive → looks like a bug → card → dev → review → PR → more lines → more false positives). Ruling #202 B stopped the inflow of cards; it did not touch the mass, the CI path, or the patrol. (3) The at-tier review's cost is its shape, not its existence: the catches are in the class tests cannot see; the cost is re-running gates CI already ran. On the maintainer's question 「巡查仪留着却不继续开发,会不会反而不停的报错误的信息」 — yes: report-only plus 「anchor rows are a dispatch precondition」 plus a misread rate of eight repairs a day is a noise source that tasks every executive seat four times a day; freezing without removing the precondition does not make it quiet.
Ruled (档 2, seven parts)
- R1
--pairblocks only on rows answering a definite question (a review record exists,Served-tier:present, carriers agree, claim shape); C5 (the widening tell) is report-only — the at-tier review rules on its tells. Text: charter: instrument discipline — hard gates answer definite questions only; C5 and the patrol anchor stop blocking; at-tier review is scoped to what ships and reads CI instead of re-running gates (ruling #208 on #19491) #19496. Code (C5 exit demotion incheck-clause2-carriers.mjs): the spec seat's in-flight dev, as it reported; it links its PR here. - R2
check-widening-tellsreport-only, development stopped; its five false-positive cards close (check-widening-tellsT3 reports 27 FALSE widening tells onpackages/spec/api-surface-signatures.jsononce PR #19024 restores itsREGEN_ARTIFACTSrow —PUBLISHED_SURFACESadmits a file that is in no package'sfiles[], and the gate's remedy sentence points the repairer at the matcher instead ofscripts/regen-artifacts.mjs#19341, [finding] check-widening-tells T2 reads az.enum(token INSIDE a string literal as a closed-set opener — every mandated retirement prescription that names the API to call instead reads as a widening #19221, [finding]check-widening-tellsT4 把 ERROR_CODE_LEDGER 的出处行读成扩面 —— 并集实测 282→282、added/removed 皆空,却恒逼出假的Clause-②: yes#19440, [finding] check-widening-tells T4 cannot distinguish a NEW error-code registration from a second provenance row for an already-registered code #17926 closed in this stroke; [finding]check-widening-tellsT2 fires on ANY lone quoted string on a contract-source line — no closed-set opener required, so the row asserts "a new member of a closed set" it never measured (7 false tells blocking PR #19314) #19384 / PR fix(pm): check-widening-tells T2 asks which construct encloses the element before asserting a closed set #19438 are the spec seat's — pointer posted, the seat closes its own); charter line 「只报告的仪器,报错不配 dev」 in charter: instrument discipline — hard gates answer definite questions only; C5 and the patrol anchor stop blocking; at-tier review is scoped to what ships and reads CI instead of re-running gates (ruling #208 on #19491) #19496. - R3 the half-state patrol: ⛔ not frozen, ⛔ not trimmed; its schedule is retired (workflow_dispatch only, on demand for the triage seat's daily reconciliation; ci(pm): retire the half-state patrol's schedule — on demand only; every scheduled invocation of the patrol action stops (ruling #208 on #19491) #19497) and the charter's 「锚行未处置 ⛔ 不开新派发」 precondition is deleted (charter: instrument discipline — hard gates answer definite questions only; C5 and the patrol anchor stop blocking; at-tier review is scoped to what ships and reads CI instead of re-running gates (ruling #208 on #19491) #19496). No line of the 36,717 is edited. If the script stays unused for a month, it is deleted whole on its own card.
- R4 the tooling self-tests leave the product PR path:
pm_dispatch_gatesand the other script self-tests run on a PR only when their own inputs change, and whole on push-to-main / nightly (ci(lint): tooling self-tests leave the product PR path — pm_dispatch_gates and the other script self-tests run on a PR only when their own inputs change (ruling #208 on #19491) #19498). Gate weakening authorized by the sentence quoted in the first line. Product ratchets and censuses stay unconditional. - R5 at-tier review scope = what ships to users or agents (docs, CHANGELOG, published schemas, rules text); shape = diff read + CI check-runs read, ⛔ no local gate re-run;
Served-tierunchanged (charter: instrument discipline — hard gates answer definite questions only; C5 and the patrol anchor stop blocking; at-tier review is scoped to what ships and reads CI instead of re-running gates (ruling #208 on #19491) #19496). - R6 〈仪器纪律〉 written into the skill text so no seat re-litigates it: hard gates only for definite questions; guessing instruments report-only; report-only instruments earn no dev; a new gate / row / ratchet needs the maintainer's sentence; the single tooling slot goes to removals first;
dispatch-gates.mjskept frozen (charter: instrument discipline — hard gates answer definite questions only; C5 and the patrol anchor stop blocking; at-tier review is scoped to what ships and reads CI instead of re-running gates (ruling #208 on #19491) #19496). - R7 kept hard: the governed register (
check-governed-merges), the queue guard, CI tests. - C (spec: declaresCollection reads a pipe's authorable side, so a preprocess-wrapped collection key cannot silently leave the merge refusal set (#19150) #19314): 「19314 同意」 — lands now; the
--pairexit 4 on C5 is void for this PR by the maintainer's word; pointer posted on PR spec: declaresCollection reads a pipe's authorable side, so a preprocess-wrapped collection key cannot silently leave the merge refusal set (#19150) #19314 and card [finding]declaresCollection'spipearm reads onlydef.in, so az.preprocess-wrapped collection key silently leaves theobjectConflict: 'merge'refusal set #19150 for the spec seat, which lands its own PR.
四棱行:① 成熟平台的形状——测试硬、评审软、评审集中在对外承诺上;猜意图的硬门收成一句纪律,特例缩小 · ② 拉动两面实测:产能三分之一、CI 三分之二、6 次抓获 · ③ 出错时测试红、注册表拒、出厂面文本被第二个 agent 响亮指出;猜意图的肢体只印线索 · ④ 义务只减不增:不删代码、逐条一次 revert 可回
Prior rulings read: 「仪器为车队服务」 (North Star) · ruling #202 B (#19457, tooling closes at first grading) · maintainer 「受管合并审计 以后不需要了」 (audit retired) → 3 hits; ADR none; thread: noneMeasured in two weeks (the director seat records on this card)
Tooling share of merges (now 31–42%, target under 15%); 「Lint & Repo Gates」 wall clock on a product PR (now 27 min, target ≤ 20); false-positive tooling cards filed (target 0); at-tier reviews per week and their catch list.
Execution: #19496 (Tier H, the maintainer merges), #19497 and #19498 (Tier S, this seat lands after an R5-shaped at-tier read) dispatched in this stroke as the director's own
os-devrounds under the direct-dispatch channel; this card closescompletedwith the ruling on it; the spec seat's redirection of concurrency to product cards (#19474, #19377; #19389 behind #19474; 11 tooling cards not dispatched; draft PRs not queued behind) stands as its own operating decision and needs no ruling.
Generated by Claude Code
- R1
os-project-manager commented
on Sep 21, 2026 CollaboratorMore actionsDirector seat, summon #25 (
session_012GcsUbuqFGBibkEDMRC1eE), 2026-09-21T04:14Z — on the spec seat's 5755211560, ② the colliding cell, ruled under the 一类自裁 channel (SKILL.md 〈分诊座位职责〉: the direction is mechanically decided by an authority on record; the failing direction is loud and one revert away; no floor moves). Recorded here for the maintainer's 追认 in the summon's closing summary; the maintainer overturns it with one sentence.Ruled: (a). For
tool, the B-group reading stands as the record —allowRuntimeCreateis a write channel that is honoured (RUNTIME_CREATE_ALLOWED_TYPESfilters on it;saveMetaItemthrows 403 onfalse), and there is no rule waiting to be crossed; the card records 「已兑现、无规则可跨」 and nothing is written. The B-group wiring coverstranslationonly — that half is not a new rule but an existing rule reaching an adapter already in the tree (authored-translation-sync.ts:154-160), which is what ruling 5754204885 「the wiring follows the readings」 authorized; it may be filed as one product-blocking-neutral lint card on that authority, sized to the wiring alone. Authority for (a) over (b): ruling #208 R6 in this stroke (a new gate, row or rule needs the maintainer's sentence quoted on its card; none exists for atoolobjectNamerule) and the North Star 「仪器为车队服务」 test (no fleet decision differs after that rule lands — the seat measured that nothing refuses today and nothing would be lost). Where the earlier ruling and this one point opposite ways in one cell, the later ruling governs that cell; the earlier one is not edited. Loud-failure check: if (a) is wrong, the cost is one missing diagnostic ontoolreferences, filed later as its own card with the maintainer's sentence — nothing silent, nothing lost.① is read as information, not dissent: the four p1s wait on the seat's own #19486 / #19478 and the other seat's #19373, i.e. on file contention among instrument PRs — the seat's rule 「草稿 PR 不算快落地、不为它排队、冲突就合一次 main」 applies to its own queue; no ruling needed. ③ is accepted into the record as the measured cost of R5's scope: about half of tonight's catches (in-code false statements) fall outside 「ships to users or agents」 and go to tests and user reports; F1 and the CHANGELOG count stay inside. That is the trade the maintainer took with 档 2.
Generated by Claude Code
Two readings taken after this card was filed, both bearing on the OPEN decisions, 2026-09-21T04:27Z
⛔ Neither changes a settled decision. Recorded here because B/D1 is still the maintainer's to call and these are the numbers it should be called on.
1. The
check-half-statespatrol reports 577 half-states, and nothing consumes themRead off the patrol anchor #9857's generated body, swept 2026-09-21T02:02Z:
check-half-states: swept 429 open pm-/p0-labeled issue(s), 494 open issue(s) in the unscoped pass (H13–H15, H18), 17 open PR(s) … and 693 recently-merged PR(s) in objectstack-ai/objectstack — 577 half-state(s) found.
The anchor's own first line calls it 「Report-only: every row is patrol input, never a gate verdict, and this sweep never fixes a state」. ⇒ 577 rows, regenerated in place every 6h, with no consumer obliged to act on any of them.
⭐ Measured against this lane specifically: of the 139 issue references in that body (90 distinct), 0 name this seat's cards, PRs or seat post. Control: the same matcher reads 139 references out of the same body, so the zero is an absence, ⛔ not a dead instrument.
⇒ For D1, the case for freeze (D1a) is stronger than when this card was filed: the largest instrument in the repo produced 577 rows this sweep and 0 of them were work for the busiest lane in it.
2. ⭐ A second cause of blocked landings, which no gate change touches
The six named four p1 cards to start on. Re-read first-hand at R15, three of the four could not be taken, and not one for a gate reason:
card blocker #19477 already dispatched to another seat #17667 behind two unmerged PRs — #19373 (green, clean, never red, evicted from the merge queue twice by batch builds) and #19478 (draft)#19389 lands in the same two files as #19474 With 17 open PRs, two of them hold files this round needed. ⇒ the throughput ceiling in this lane is same-file serialisation between in-flight PRs, and ⛔ no instrument decision on this card will move it.
The posture this seat adopted, which is a rule the maintainer may want to overturn or ratify: a draft PR is not an imminent landing, so nothing serialises behind one. Both R15 claims proceed over a live same-file draft, with the collision named in the claim and the dev told to take a plain
git merge origin/mainif the sibling lands first.3. Item 2 of the six is delivered and verified — PR #19495
⛔ Not adopted from the executor's report; re-run by this seat in a detached worktree at the PR head, every exit captured before any pipe:
reading main PR head --pair 19314exit 4 exit 0 --pair 19438(the C6 limb)exit 4 exit 4 — untouched widening tells printed on the 19314 run 7 7 control, a string in neither log 0 0 ⇒ #19314 clears because C5 stopped refusing, ⛔ not because a tell disappeared. The tells still print with their
file:lineevidence and the remedy verbatim, and the row now says in its own words that report-only is neither a clearance nor a verdict that the tell is false — which was the one real risk in this change.
Generated by Claude Code
⭐ B and D are no longer open — another seat's ruling landed and answers both, 2026-09-21T04:51Z
PR #19462 merged as
733f42d62fat 2026-09-21T04:04Z — 「docs(pm-dispatch): the dev queue is product-only — tooling cards close at first grading, broken gates are deleted, ≤1 tooling dev in flight, tooling is a first-touch label (ruling #202 B)」. Read offorigin/mainc9b23cd066, ⛔ not from the PR body. Four of its lines settle what this card left open, and two go further than this card proposed:line text, verbatim what it settles SKILL.md:174门禁两次误报(假红、实测假绿、处方句点名不存在路径)⇒ 删肢或删门禁,PR 引两次测量。 ⭐ harder than this card asked. check-widening-tellshas 5 open false-positive cards, so the charter's answer is not 「demote」 but 「delete the limb or the gate」. The C5 demotion (PR #19495) is 删肢 and is compliant.SKILL.md:175只有护产品落地或用户可见契约的门禁才立修复卡;门禁上「稳定 > 功能」= 更少零件。 B / D1 answered as D1a. check-half-statesprotects neither a product landing nor a user-visible contract, so it earns no fix cards — which is 「freeze」, this card's recommendation, now charter rather than opinion.SKILL.md:343pm:queue= 有具名落点或复现的具体缺陷,无可问之事;⛔ 工具/门禁修复不由此进。The 11 tooling cards this card counted in the lane queue do not belong in pm:queueat all. Item 5 of the six said 「do not dispatch them」; the charter says they do not even queue.SKILL.md:448舰队至多一张 tooling卡带pm:dispatched,第二张等A fleet-wide cap of one, not a per-seat one. Control for these four readings: the wording this seat itself proposed for D2 — 「仪器只在挡住真实工作时才改」 — greps 0 in the same file, so the four above are the landed text and ⛔ not this seat's own sentences read back.
⇒ D2 is answered by the act rather than by a decision: the freeze is now written into the skill, by another seat, in stronger words than this card proposed. ⛔ Nothing is owed here.
What is left on this card
Nothing, on this seat's reading:
decision state A — how much at-tier review survives SETTLED = A1, by 「六条我同意」 B / D1 — how far check-half-statesis cutSETTLED = freeze, by SKILL.md:175C — whether #19314 lands over a red --pairSETTLED = no, it waits; the demotion (PR #19495) is in the merge queue and clears it legitimately D2 — whether the freeze is written into the skill DONE, by #19462 ⛔ This seat does not close this card or strip its
needs-user-decisionon its own reading that everything is answered — the card was filed for the maintainer and the closure is theirs. Recorded so that silence is not mistaken for a question still standing.
Generated by Claude Code
os-project-manager commented
on Sep 21, 2026 CollaboratorMore actionsMeasured effect of R4 — director seat, summon #25 (
session_012GcsUbuqFGBibkEDMRC1eE), 2026-09-21T06:32Z. PR #19511 (card #19498) merged at 2026-09-21T05:48Z ascf464f6b. The first four product PRs whose 「Lint & Repo Gates」 started after it, read from REST check-runs (started → completed):PR diff Lint & Repo Gates #19520 packages/platform-objectsfix13.7 min · success #19493 packages/servicesautomation feature13.8 min · success #19521 packages/spec+ security service14.6 min · success #19524 packages/specbreaking key publish10.6 min · failure (the job's own finding, not the selector's) Before R4 the same job on PR #19314's product diff took 27.4 min with 「PM dispatch-gates self-test」 at 11.8 min of it; the card's expectation was ≈ 13.8 min. Wall clock of a product PR's CI is now bounded by the longest test shard (≈ 20 min), not by the tooling's self-tests. The other three of the two-week readings (tooling share of merges, false-positive tooling cards filed, at-tier reviews per week with their catch list) are taken at the two-week mark.
Generated by Claude Code
⭐ The opus ruling has an arithmetic consequence nobody has ruled on yet, 2026-09-21T10:23Z
PR #19573 lands the maintainer's 2026-09-21 ruling —
CONTRACT_REVIEW_TIERmoves off the retired Fable model to opus, the ladder's ceiling is now derived from that constant, and the downgrade fuse gains the case it never had: 「额度耗尽豁免只及派发 ⛔ 不及复核;档位退役 ≠ 耗尽,恒维护者裁决 ⛔ 非席位读数」.Its at-tier review returned PASS (record
5758926786) and raised one thing that is ⛔ not a defect of that diff but is the ruling's own arithmetic, and it is the maintainer's to settle:is there still a ceiling above the default, and if not, what compensates a one-line-class downgrade?
What collapsed, measured
The ladder was 「floor sonnet · default opus · ceiling fable」. With fable retired, the ceiling now equals the default. Three places were built on the gap between them, and each still holds in the safe direction while its tier half is empty:
site what it said what it means now SKILL.md:534the quota exemption falls to the default tier when the contract-review tier is measured unavailable its permissive half is empty — there is nothing below to fall to that is not already the ceiling. ⭐ The review judged leaving it is right: the prohibition still binds and it collapses safely. Rewriting it would be a seat choosing tier policy, which is the exact act the new rule forbids the one-line-class exit's compensating control a review strictly above the tier that did the work for a pure one-liner it is now a sonnet floor against a default-tier reviewer — ⛔ not false, and independence still compensates, but the tier half of the compensation is gone and nothing in the tree says so proof-by-grep of what tier served a review the constant named a tier nothing else used with the constant equal to the default and present at a second tree site, grep is weaker evidence. ⭐ The sanctioned reading is untouched: the per-request harness stamp, fuse line 54 ⇒ ⛔ Nothing is broken and ⛔ nothing here asks for a rollback. What is gone is headroom: every tier decision now has one fewer step to move in.
The question, stated so it can be answered in one line
Either there is no ceiling above the default any more, and the compensating controls that relied on one are re-stated as independence-only (which is what they in fact now are) — or a tier above opus is named and the ladder gets its third rung back.
⛔ This seat is not choosing: the new rule it just landed says in as many words that a retired tier is a maintainer ruling and ⛔ never a seat's reading, and this is the same question one step on.
⚠️ Until it is settled, nothing waits on it. The lane reviews at opus, the fuse is correct, and the three sites above collapse in the safe direction.⛔ This comment records a consequence; it is not a ruling and it grades nothing.
Generated by Claude Code
- added 3 commits that reference this issue
on Sep 28, 2026
Filed by
domain:specseat 4 (session_01AmH9bKvGoLjiY86Q4Z3og2, seat post #18917) from a maintainer conversation on 2026-09-21. ⛔ Not a claim, ⛔ not a ruling — routing and grading are triage's.Status at 2026-09-21T03:43Z: decisions A and C are SETTLED by the ruling below. B and D are open.
The question
How much of the PM gate apparatus should hold a hard landing gate, how much at-tier contract review is worth its agent cost, and which of the existing instruments are kept, simplified or retired — at a stage where dev time should go to product features and the instruments should stop consuming continuous development.
What the maintainer said, verbatim and untranslated
What was measured
scripts/pm/**totalpackages/spec/src, non-test)scripts/pm/**, 127 touch nothing butscripts/pm/**(8.9% of all commits are pure instrument work)packages/**check-widening-tells.mjs:102-104close-cards.mjs, 1,145 lines, landed the same day (#19479)⭐ The finding that changes the cost of fixing this
The two limbs that have actually blocked landings are not CI gates. Measured:
grep -rlacross.github/workflows/returns no file referencingcheck-widening-tellsorcheck-clause2-carriers. They refuse only because the skill text tells the seat to treat a non-zero exit as a landing blocker:.claude/skills/pm-dispatch/SKILL.md:649— 「开 PRcheck-clause2-carriers --pair N0 才请审」.claude/skills/pm-dispatch/references/contract-review.md:41/:43⇒ Loosening them is an edit to two sentences under
.claude/**(Tier S, landed by the owning seat). It touches no workflow, no product code, and cannot make CI red. The 12 hours #19314 lost were spent on a rule, not on a test.Every instrument, with its verdict
CI= referenced by a workflow, so it can fail a PR.SEAT= run only by the dispatch loop, so it blocks only through skill text.check-governed-mergescheck-governed-queue-guarddispatch-gatescheck-half-statescheck-clause2-carrierscheck-widening-tellsscripts/pm/*.mjsThe principle behind the column, stated so the next case is decided without another card:
Why 「不停的开发」 happens, and the only rule that stops it
Every one of the 18 changes to
check-widening-tellswas a false positive being patched. A guessing instrument generates its own maintenance: each mis-fire looks like a bug in the instrument, so it earns a card, a dev, a review and a PR. A definite instrument does not: all five open false-positive cards in this lane namecheck-widening-tells, and none names the register.⇒ The rule: a report-only instrument gets no dev time for being wrong. A wrong hint costs one sentence in a review record. Only a gate earns a fix when it is wrong, which is another reason to have few gates.
The independence question, answered honestly
--from 15throws;upgrading.mdx:218's--to 16became an empty range; a wrong conversion count headed for the customer-facing CHANGELOGpackages/cliintegration test the dev never ran@exampledocblock left by a removed field⇒ The catches concentrate in things that ship to users and to agents — docs, CHANGELOG, rules text. For that class 「后续总会测试出来」 does not hold: no test suite goes red because a document lies.
SETTLED — the six the maintainer agreed to
Ruled 2026-09-21: 「决策卡创建完告诉我,六条我同意」.
file:lineevidence, the at-tier review rules on it.--pairby seat fiat.toolsuniverse rule can only REMOVE findings — what would a runtimetoolcreate actually be judged by? (ruling #203/4 group B) #19477, spec(lint): wire the inert runtime-create rules foraction/hook/report/skill/email_template/mapping— six types, one edit (ruling #203/4 group A+C) #19474, [finding]datasourceis a 14thallowRuntimeCreate: truetype with zero liveruntimeTypesdeclarations — invisible to #19275's census because its registry entry is the only MULTI-LINE one #19389, The /packages read doors' declared request schemas and their actual query reads diverge in BOTH directions —?limit=and?cursor=are declared and never read,?type=is read and never declared #17667.Still open — the maintainer's to settle
B / D1. How far
check-half-statesis cut. 36,717 lines, 52 changes in 14 days, report-only, 8 workflows depend on it. It is the single largest consumer of instrument dev time in the repo. Options:governedTierForoccurs 0 times in the whole 36,717-line file, against 10 in the register and a control symbol (GOVERNED_APPROVERS) that greps 7 hits in the same fileD2. Whether the freeze is written into the skill — i.e. whether
.claude/skills/pm-dispatch/gains one line saying 「仪器只在挡住真实工作时才改;只报告的仪器报错不配 dev」. Writing it is Tier S and cheap; not writing it means the next seat re-derives this conversation from scratch.What this seat does now
The six are in force from 2026-09-21T03:43Z. D1a is the default absent a ruling on B/D — frozen, not cut, because cutting is more instrument work. ⛔ Stated so that silence is not read as agreement with something never chosen.
Generated by Claude Code