Skip to content

Commit 95c510e

Browse files
committed
chore(pm): delete the report-only widening-tell instrument and its wiring
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>
1 parent 6befe19 commit 95c510e

8 files changed

Lines changed: 17 additions & 6563 deletions

File tree

‎.claude/skills/pm-dispatch/references/instrument-discipline.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
见 reading-discipline.md 的指针行;本文是仪器的分界、授权与工具位次序。
44

55
- 硬门禁只答有确定答案的问题:受管登记表、队列守卫、CI 测试、复核记录在不在。
6-
- 判意图的仪器(放宽 tell、半状态巡查)只印读数 ⛔ 不挡落地,误报由席位一句话推翻。
7-
- 放宽 tell(C5)由 `scripts/pm/check-widening-tells.mjs` 印 file:line,归达档复核裁。
6+
- 判意图的仪器(半状态巡查)只印读数 ⛔ 不挡落地,误报由席位一句话推翻。
7+
- 放宽 tell(C5)不设仪器,Clause-② 的方向由达档复核裁。
88
- 只报告的仪器不配 dev:⛔ 不立卡、不派 dev、不开 PR;它的在途工作只有删除。
99
- 新增门禁、巡查行或棘轮须在卡上引维护者原话,⛔ 无原话不新增;首行四件恒硬。
1010
- 工具位只有一个,先花在删除上;`dispatch-gates.mjs` 冻结,只在它喂的 workflow 坏了时碰。

‎.github/workflows/lint.yml‎

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,19 +1321,6 @@ jobs:
13211321
- name: Contract-review record recogniser self-test
13221322
run: pnpm check:pm-record-recognisers
13231323

1324-
# Widening-tell gate self-test (#16448) — the mechanical half of the
1325-
# directional clause-② ruling (#16349), and the same split as every step
1326-
# around it: the LIVE predicate is `--pair`'s C5 row, a verdict about ONE
1327-
# pair's diff, so failing an unrelated PR's CI over it would punish the
1328-
# wrong actor. Only the offline self-test runs here.
1329-
#
1330-
# This gate has no whole-tree production run at all — its input is a DIFF
1331-
# supplied by its caller, never a file in the tree — so the `--self-test`
1332-
# invocation is the only instrument its matching rules have, which is
1333-
# exactly the family `check:self-test-wired` requires this step for.
1334-
- name: Widening-tell gate self-test
1335-
run: pnpm check:pm-widening-tells
1336-
13371324
# Prior-ruling reader self-test (#17009) — same family and the same split
13381325
# as every step around it. The LIVE read takes a card number over REST and
13391326
# searches this checkout's `origin/main`, so it is a tool a seat runs
@@ -1690,7 +1677,7 @@ jobs:
16901677
run: pnpm check:pm-settings-deny-roster
16911678

16921679
# Expected-skips roster self-test (#18308) — same family and the same
1693-
# split as the widening-tell and prior-ruling steps above: the LIVE read
1680+
# split as the prior-ruling step above: the LIVE read
16941681
# takes a PR head and judges its check-runs over REST, so it is a tool a
16951682
# seat runs against the PR in front of it, not a verdict about the PR
16961683
# that happens to run CI next. Only the offline self-test runs here — it

‎docs/audits/gate-census-2026-09.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ Zod validation inside `packages/spec` and the runtime is the **product**, not a
243243
| `scripts/pm/check-settings-deny-roster.mjs` | process | none (`.claude/settings.json` deny list pinned) · PM loop · origin #18218 · landed 2026-09-15 | required · whole-repo (Lint & Repo Gates) | unmeasured (landed 2026-09-15; <7 days of window coverage) | `keep (too new)` |
244244
| `scripts/pm/check-skill-id-lint.mjs` | process | none (operative agent-protocol text cites no issue numbers) · PM loop · origin no card in header · landed 2026-08-12 | required · whole-repo (Lint & Repo Gates) | 0 in window | `retire` |
245245
| `scripts/pm/check-skill-line-ratchet.mjs` | process | none (per-file line budget over the PM instruction surface) · PM loop · origin #5925 · landed 2026-08-10 | required · whole-repo (Lint & Repo Gates) | 0 in window (7 failure(s) only on PRs editing this file, excluded) | `retire` |
246-
| `scripts/pm/check-widening-tells.mjs` | process | none (mechanical half of the directional Clause-② read) — only its self-test runs in CI · PM loop · origin #16349 · landed 2026-09-07 | required · whole-repo (Lint & Repo Gates) | 0 in window — only its `--self-test` runs in CI; the gate proper never judges a PR here | `retire` |
246+
| `scripts/pm/check-widening-tells.mjs` | process | none (mechanical half of the directional Clause-② read) — only its self-test runs in CI · PM loop · origin #16349 · landed 2026-09-07 | required · whole-repo (Lint & Repo Gates) | 0 in window — only its `--self-test` runs in CI; the gate proper never judges a PR here | `retire` · **deleted 2026-10** (ruling 208; the maintainer: 「同意」) — row kept as the census record |
247247
| `check:adr-symbol-anchors` | process | none (symbol-anchors module self-test + check-adr-symbol-anchors) · composite · `node scripts/symbol-anchors.mjs --self-test && node scripts/check-adr-symbol-anchors.mjs -…` | not in PR CI | 1 PR / 2 days (check-adr-symbol-anchors leg) | `keep` |
248248
| `check:docs-audit-scope` | process | none (affected-docs self-test + check-audit-scope) · composite · `node scripts/docs-audit/affected-docs.mjs --self-test && node scripts/docs-audit/check-aud…` | required · whole-repo (Lint & Repo Gates) | 1 PR / 1 day (check-audit-scope leg) | `keep` |
249249
| `check:docs-image-tag-sync` | contract | release lane: self-test of the docs image-tag version-time rewriter (run by release.yml version-pr) · `node scripts/sync-docs-image-tags.mjs --self-test` | required · whole-repo (Lint & Repo Gates); advisory (Version PR maintenance) | 0 in window — self-test only; cannot judge a PR | `keep` |
@@ -350,7 +350,7 @@ These nine guard the CI farm's own wiring — the required-context names, aggreg
350350
| `scripts/pm/check-label-desc-cap.mjs` | process · 0 in window | `scripts/pm/check-label-desc-cap.mjs` | `check:pm-label-desc-cap` | lint.yml:838 | 2 |
351351
| `scripts/pm/check-skill-id-lint.mjs` | process · 0 in window | `scripts/pm/check-skill-id-lint.mjs` | `check:pm-skill-id-lint` | lint.yml:825 | 3 |
352352
| `scripts/pm/check-skill-line-ratchet.mjs` | process · 0 in window (7 failure(s) only on PRs editing this file, excluded) | `scripts/pm/check-skill-line-ratchet.mjs` | `check:pm-skill-ratchet` | lint.yml:817 | 3 |
353-
| `scripts/pm/check-widening-tells.mjs` | process · 0 in window — only its `--self-test` runs in CI; the gate proper never judges a PR here | `scripts/pm/check-widening-tells.mjs` | `check:pm-widening-tells` | lint.yml:1153 | 2 |
353+
| `scripts/pm/check-widening-tells.mjs` · **deleted 2026-10** | process · 0 in window — only its `--self-test` runs in CI; the gate proper never judges a PR here | `scripts/pm/check-widening-tells.mjs` | `check:pm-widening-tells` | lint.yml:1153 | 2 |
354354
| `check:pm-board-snapshot` | process · 0 in window — self-test only; cannot judge a PR | `scripts/pm/board-snapshot.mjs (only if no other user; check before deleting)` | `check:pm-board-snapshot` | lint.yml:1259 | 0 |
355355
| `check:pm-changeset-deadline-census` | process · 0 in window — self-test only; cannot judge a PR | `scripts/pm/changeset-deadline-census.mjs (only if no other user; check before deleting)` | `check:pm-changeset-deadline-census` | lint.yml:1313 | 0 |
356356
| `check:pm-closed-card-sweep` | process · 0 in window — self-test only; cannot judge a PR | `scripts/pm/sweep-closed-cards.mjs (only if no other user; check before deleting)` | `check:pm-closed-card-sweep` | — | 0 |

‎package.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@
8282
"check:pm-half-states": "node scripts/pm/check-half-states.mjs --self-test",
8383
"check:issue-citations": "node scripts/check-issue-citations.mjs --self-test",
8484
"check:pm-record-recognisers": "node scripts/pm/record-recognisers.mjs --self-test",
85-
"check:pm-widening-tells": "node scripts/pm/check-widening-tells.mjs --self-test",
8685
"check:pm-prior-rulings": "node scripts/pm/check-prior-rulings.mjs --self-test",
8786
"check:pm-closed-card-sweep": "node scripts/pm/sweep-closed-cards.mjs --self-test",
8887
"check:pm-stale-finding": "node scripts/pm/sweep-stale-finding.mjs --self-test",

‎scripts/pm/check-half-states.mjs‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,10 +1333,10 @@ export function markerMatches(marker, text) {
13331333
* decoration is ADDED here — where a fixture and a case come with it — ⛔ never
13341334
* discovered again from a silent row.
13351335
*
1336-
* The register is `SCHEMA_PROPERTY_FORMS`' (`scripts/pm/check-widening-tells.mjs`,
1337-
* #18560): a frozen roster the detector is BUILT from, each member carrying its
1338-
* own `example`, so a form added without a fixture and a form silently dropped
1339-
* both go red instead of quietly changing what the instrument sees.
1336+
* The register is a frozen roster the detector is BUILT from, each member
1337+
* carrying its own `example`, so a form added without a fixture and a form
1338+
* silently dropped both go red instead of quietly changing what the instrument
1339+
* sees.
13401340
*
13411341
* ## What a member is, and what it is NOT
13421342
*

‎scripts/pm/check-prior-rulings.mjs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,9 @@ import { performance } from 'node:perf_hooks';
212212
import { fileURLToPath } from 'node:url';
213213
import { isEntrypoint } from '../invoked-as.mjs';
214214
// ⛔ Not copied. The board resolver and the proxy-rearm plan are ONE source in
215-
// `check-half-states.mjs` — the same import `check-widening-tells.mjs` takes —
216-
// so this reader and the patrol cannot come to disagree about which board is
217-
// being read or whether this container's fetch reaches it.
215+
// `check-half-states.mjs`, so this reader and the patrol cannot come to
216+
// disagree about which board is being read or whether this container's fetch
217+
// reaches it.
218218
import { DEFAULT_SWEEP_REPO, resolveSweepRepo, proxyRearmPlan, PROXY_FLAG, PROXY_REARM_GUARD } from './check-half-states.mjs';
219219

220220
export const EXIT_OK = 0;

0 commit comments

Comments
 (0)