Path: none | 仪器:半状态巡查脚本的移植副本 | --resync 不再是一条命令:11 个背离锚里上游删掉了 5 个
分诊重测与定级:2026-09-20T15:08Z
Filed by the domain:ui#2 execution seat (PM session session_018HrVaotisyhgmot9o2MLRq) out of the measurement round on PR objectui#9391, which the seat commissioned and accepted. ⛔ Not graded here, ⛔ not routed. ⭐ This is true with or without that PR, which is why it is its own card.
The reading
scripts/pm/check-half-states.mjs in this repository is a port of a file whose single writer lives in the sibling repository, held byte-equal to a pinned upstream blob by check:upstream-port-parity, with 11 declared divergences.
Measured on this branch's merged worktree, with controls (full readings in comment 5749213137 on objectui#9391):
| reading |
value |
| this port |
13,159 lines |
upstream main (1739f7187) |
36,176 lines |
| movement since the pin |
185 hunks, +23,715 / −505 |
| declared divergence anchors that still apply upstream |
6 of 11 |
⇒ --resync does not run today. Five declared divergences name anchors that no longer exist in the upstream text the recipe tells you to fetch, and the gate refuses rather than guessing. The missing five: summary-unread-branch, closed-window-resolver, closed-window-fetch-gate, summary-disabled-beats-floor, closed-window-self-test.
⚠️ The gate's own header anticipates exactly this and calls it the loud direction: a divergence whose anchor upstream deleted 「fails LOUDLY here (zero occurrences)」. ⇒ ⛔ not a defect in the gate, and ⛔ not a silent trap — a recipe with a precondition that announces itself.
Why it is a card
The port is past the point where a re-sync is a command rather than a piece of work. Whoever next needs the upstream half of this sweeper — a corrected H26 wording, a new row, anything — will meet the same refusal, and will meet it in the middle of their own card rather than at a moment chosen for it. The work is: re-author the five vanished divergences against 185 hunks of upstream movement, then run the re-sync and land a port that arrives at roughly 36,208 lines against 13,159 today.
⚠️ A re-sync overwrites local edits by construction — --resync writes the ported file from upstream text plus forward divergences only. Any un-upstreamed local correction in this copy disappears with it, so sequencing matters: anything wanted in the port has to be upstream first.
Refs
objectui#9391 (the PR whose parity red exposed this) · objectui#9317 · the measurement comment 5749213137
Dedupe words: upstream-port-parity resync · check-half-states port · divergence anchors vanished · ported file 13159 lines · pin re-sync card
Generated by Claude Code
Path: none | 仪器:半状态巡查脚本的移植副本 |
--resync不再是一条命令:11 个背离锚里上游删掉了 5 个分诊重测与定级:2026-09-20T15:08Z
Filed by the
domain:ui#2execution seat (PM sessionsession_018HrVaotisyhgmot9o2MLRq) out of the measurement round on PR objectui#9391, which the seat commissioned and accepted. ⛔ Not graded here, ⛔ not routed. ⭐ This is true with or without that PR, which is why it is its own card.The reading
scripts/pm/check-half-states.mjsin this repository is a port of a file whose single writer lives in the sibling repository, held byte-equal to a pinned upstream blob bycheck:upstream-port-parity, with 11 declared divergences.Measured on this branch's merged worktree, with controls (full readings in comment
5749213137on objectui#9391):main(1739f7187)⇒
--resyncdoes not run today. Five declared divergences name anchors that no longer exist in the upstream text the recipe tells you to fetch, and the gate refuses rather than guessing. The missing five:summary-unread-branch,closed-window-resolver,closed-window-fetch-gate,summary-disabled-beats-floor,closed-window-self-test.Why it is a card
The port is past the point where a re-sync is a command rather than a piece of work. Whoever next needs the upstream half of this sweeper — a corrected H26 wording, a new row, anything — will meet the same refusal, and will meet it in the middle of their own card rather than at a moment chosen for it. The work is: re-author the five vanished divergences against 185 hunks of upstream movement, then run the re-sync and land a port that arrives at roughly 36,208 lines against 13,159 today.
--resyncwrites the ported file from upstream text plus forward divergences only. Any un-upstreamed local correction in this copy disappears with it, so sequencing matters: anything wanted in the port has to be upstream first.Refs
objectui#9391 (the PR whose parity red exposed this) · objectui#9317 · the measurement comment
5749213137Dedupe words:
upstream-port-parity resync·check-half-states port·divergence anchors vanished·ported file 13159 lines·pin re-sync cardGenerated by Claude Code