Repository navigation
chore(pm): delete report-only check-widening-tells.mjs and its wiring (ruling 208) - #22002
objectstack-fleet[bot] wants to merge 2 commits into
Conversation
…ring Removes scripts/pm/check-widening-tells.mjs, its check:pm-widening-tells package script and its lint.yml self-test step, and re-points every live mention: the measurement-claim triage EXCLUDED row and scope docblock, two source comments that cited the file as an importer, the stale step reference in a neighbouring lint.yml comment, the two pm-dispatch instrument-discipline lines that named it, and the census rows (kept, marked deleted). Nothing replaces it; no gate is added. Claude-Session: https://claude.ai/code/session_0181E4ZeZmWyknawnauxD2CE Co-authored-by: Claude <noreply@anthropic.com>
Contract reviewServed-tier: Face reviewed: governed rule text — ① Derived judgments
② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS |
维护者速读(终稿)改了什么:删掉 PM 内部那个只报告、不挡任何 PR 的「放宽 tell」仪器 为什么改:裁决 208 定了只报告的仪器不配 dev、在途工作只有删除;您在分诊席决策批 2 第 2 项答「同意」删它。它在普查窗口里零拦截,却每次 CI 都跑自测、隔三岔五要人修(最近一次 10-01)。 风险与代价(含回滚):Clause-② 方向的判断回到达档复核席手里(原本也是席位裁,脚本只印读数)。卡上一条前提是假的——仓里没有任何文件从它 import 席位意见:席位达档复核 PASS(记录在本 PR 评论 ⬆);改动是一次机械删除加七处改引用,范围与卡面一致,无扩写。建议批准。 你要做的:一个动作——在本 PR 上点 Approve。改动 6580 行超过 5000 行人工合并线,规则要求授权账户 APPROVED;批准后由席位在 OSV 红清除、CI 全绿时入队落地,不需要您合并。 |
|
Landing status — Tier H by size; the one red check is not this PR's ·
|
|
CI note — one re-run of the cancelled type-check lane ·
|
Contract reviewServed-tier: Successor record to 6019414425 (head ① Derived judgments
② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Fixes #21959
Clause-②: no
Deletes the report-only widening-tell instrument
scripts/pm/check-widening-tells.mjs(6,528 lines) with all of its wiring, under ruling 208 (report-only instruments get no dev; their only in-flight work is deletion) and the maintainer's answer to decision batch 2 item 2, verbatim 「同意」. ⛔ Nothing replaces it, no gate is added, no workflow step is added.What changed — the full list (12 hunks in 8 files; nothing outside them)
Line numbers are at base
6befe19c(origin/mainwhen the worktree was cut).scripts/pm/check-widening-tells.mjspackage.json:85check:pm-widening-tellsscript.github/workflows/lint.yml:1324-1336.github/workflows/lint.yml:1693scripts/pm/measurement-claim-triage.mjs:57-62scripts/pm/dispatch-gates.mjsscripts/pm/measurement-claim-triage.mjs:122-125EXCLUDEDrow for the instrumentscripts/pm/check-half-states.mjs:1336-1339SCHEMA_PROPERTY_FORMSscripts/pm/check-prior-rulings.mjs:215-217.claude/skills/pm-dispatch/references/instrument-discipline.md:7scripts/pm/check-widening-tells.mjs印 file:line,归达档复核裁。.claude/skills/pm-dispatch/references/instrument-discipline.md:6docs/audits/gate-census-2026-09.md:246retireretire· deleted 2026-10 (ruling 208; 「同意」) — row keptdocs/audits/gate-census-2026-09.md:353instrument-discipline.mdstays at 12 lines (both edits are in place).Bounded in-place fixes beyond the dispatch's list (rows 4 and 10). Both are the same defect class as the card (a live sentence naming the deleted instrument), mechanical, in a file this PR already edits, and in the same gate family. Row 4: after row 3 the comment pointed at a step that no longer exists. Row 10: line 6 listed 放宽 tell as an existing intent-judging instrument. Without this edit it would contradict the rewritten line 7 on the line below.
Premise checks (the card body is a lead, not a spec)
check-half-states.mjsandcheck-prior-rulings.mjsimportSCHEMA_PROPERTY_FORMSfrom it": false at base. Probegit grep -n -E "(import|from|require|import\()[^;]*check-widening-tells" 6befe19creturns exactly 1 hit, and that hit is a comment:check-prior-rulings.mjs:215. The control is the same shape oncheck-half-states. It returns 33 hits, real imports among them,check-prior-rulings.mjs:218and the instrument's own:1484included. Outside the instrument,SCHEMA_PROPERTY_FORMSappears only in thecheck-half-states.mjs:1336docblock. The import direction is the reverse of the card's reading. The instrument imported fromcheck-half-states.mjs,dispatch-gates.mjsandregen-artifacts.mjs, and nothing imported from it. The "move the constant" item therefore became rows 7–8, which rewrite the two comments. No code moved.git grep -n -E "widening-tells|SCHEMA_PROPERTY_FORMS"over the whole tree at HEAD returns 4 lines, and none is in a CHANGELOG. No CHANGELOG ever named it. The 4 lines are: census:246and:353(marked deleted, kept per dispatch), census:398(the historical drift paragraph, deliberately untouched) andscripts/pm/dispatch-gates.mjs:3895. That file is frozen by ruling 208: its own--self-testis green with the instrument gone (below), so the word stays.Verification (HEAD
95c510eb, worktreeobjectstack-issue-21959)node scripts/pm/dispatch-gates.mjs --self-test→✓ dispatch-gates self-test: 1976 cases pass.EXIT=0 (nohup+tail --pid)pnpm check:pm-dispatch-gates→✓ check:pm-dispatch-gates --self-test: the exit contract holds in all three directions.·✓ dispatch-gates self-test: 1976 cases pass.·the battery took 842.7s on this box.EXIT=0. It ran undernohup+tail --pid. A first attempt inside my sequential runner hit that runner's own 540 s per-command timeout, so it was re-run on its own, and that run is the one recorded here.node scripts/pm/check-half-states.mjs --self-test→✓ check-half-states self-test: 4912 cases pass.EXIT=0node scripts/pm/check-prior-rulings.mjs --self-test→✓ check-prior-rulings self-test: 155 cases passEXIT=0node scripts/check-self-test-wired.mjsEXIT=0 andnode scripts/check-self-test-workflow-commands.mjsEXIT=0. The three wiring pieces went out together.node scripts/check-scripts-symbol-anchors.mjs→3722 anchors across 281 scripts resolveEXIT=0pnpm check:pm-skill-ratchet,check:pm-skill-id-lint,check:pm-governed-prose,check:pm-governed-merges,check:pm-expected-skips,check:doc-authoring,check:nul-bytes,check:issue-citations→ all EXIT=0node scripts/pm/measurement-claim-triage.mjs --self-test→ EXIT=1 identically at base6befe19cand at HEAD. The failure in both isUNTRIAGED scripts/check-dts-references.mjs:74, which predates this PR and is unrelated to it. The report run's only difference base→HEAD is the droppedNOT SWEPT … check-widening-tells.mjsline; the population is unchanged (88 claim(s) over 49 file(s)). The tool is not wired into CI.dispatch-gates --commands(no paths; change set from the merge base) derived 82 commands. I ran all 82, plus the six the dispatch named on top: 80 EXIT=0. NOT MEASURED (exit 3,PREREQUISITE NOT MET, nodist/in a fresh worktree):check:dts-closure,check:dual-build-cjs-loads,check:lean-entry-closure,check:sourcemap-no-sources-content,@objectstack/lint check:doc-formula-expressions. Declared narrowing: these read built workspace packages, this diff touches no workspace package, and CI runs them.--ranreconciliation:✓ dispatch-gates --ran: 82 derived famil(ies) accounted for — 77 run, 5 NOT-MEASURED (5 DERIVED from a recorded exit 3).0 UNRUN.pnpm lintbelongs to CI).eslint --no-inline-config --format jsonon the 3 edited.mjsfiles: 3 files linted, 0 errors, 0 warnings, and none was reported ignored, so all 3 sit inside the config's population. Invariance:eslint.config.mjsnever enables type-aware linting (noparserOptions.project, no typed rules). Nothing imported the deleted file. So this diff cannot move the verdict on any untouched file.Landing
.claude/skills/pm-dispatch/references/instrument-discipline.md). The PR stays draft until the seat's contract-tier review.skip-changeset: nothing here ships in any package'sfiles[](scripts/pm/**,.github/**,.claude/**,docs/audits/**, rootpackage.jsonscripts).Acceptance notes (observed, not filed)
scripts/pm/dispatch-gates.mjs:3895still listscheck-widening-tellsamong "five" live prose mentions; four remain. The file is frozen and its self-test is green, so the mention was left. Carrier: none.measurement-claim-triage.mjs --self-testhas been red onmainsince before this PR (scripts/check-dts-references.mjs:74untriaged). The tool is report-only and unwired. Carrier: none.instrument-discipline.mdhas no row incheck-skill-line-ratchet.mjsCEILINGS, so no gate holds its line count. It is kept at 12 regardless. Carrier: none..claude/skills/pm-dispatch/references/triage-duties.md:64still names 放宽 tell among report-only instruments whose fix cards are closed on first touch. The rule stays true for any stray card about the deleted file, so it was left. Carrier: none.维护者速读(草稿)
改了什么:删掉一个只报告、不挡任何 PR 的 PM 内部检查脚本(放宽 tell 仪器,6528 行),连同它的
package.json脚本行和 CI 里跑它自测的一步;再把仓里所有还点名它的地方改成不再指向一个不存在的文件(两处脚本注释、一处 CI 注释、一份工具的排除表、PM 技能的仪器纪律两行、门禁普查表两行标「已删」)。为什么改:裁决 208 定了只报告的仪器在途工作只有删除;维护者在决策批 2 第 2 项答「同意」删它。它在普查窗口里零拦截,却每次 CI 都要跑自测、隔三岔五还要派人修。
风险与代价(含回滚):不替换、不新增门禁;Clause-② 方向的判断回到达档复核席位手里(原本也是席位裁,脚本只是印读数)。相关自测与门禁本地均绿。回滚 = revert 本 PR 一次即恢复脚本与 CI 步。
席位意见:
你要做的:本 PR 触受管面(Tier S)且改动行数超过 5000(几乎全是删一个文件),按规则需要一次授权 APPROVED 审阅后由席位落地;无需其它动作。
Synced: the parked red cleared (landing-operations §C, released)
This PR was parked as a draft behind PR #22016 (the OSV fix for #22013) with an expected-red list for
Validate Package Dependencies. The release condition was met: PR #22016 merged intomainas289ff6d4. The seat then ran the oneupdate-branchthat list named: headfab444b4is the merge ofmain289ff6d4into the reviewed head95c510eb, with no file authored by anyone; the net diff againstmainis unchanged (8 files, +17 / −6563, every added and removed line byte-identical to the reviewed diff).fab444b4: 37 check-runs completed, 0 failures, 0 cancelled; the 4 skips are all in the expected-skips roster (check-expected-skips --pr 22002exit 0).Validate Package Dependenciesis green on the fixed lockfile.95c510eb).check-governed-merges --pr 22002exit 3), so this PR stays a draft until an authorized APPROVED fromos-zhuangorhotlong; the seat then clearsneeds-user-decision, flips ready and arms auto-merge, and the PR lands through the queue.Section written by the
domain:skillsseat 2 PM (session_0181E4ZeZmWyknawnauxD2CE); everything above it is the dev's.Generated by Claude Code