Repository navigation
fix(report): point the three turn-split commands at the script's real path - #1313
Conversation
The report's §5, §7 and §8 lines printed `node dev/turn-split.mjs`, but the repository root has no `dev/turn-split.mjs` — the script lives at `core/dev/turn-split.mjs`, so all three commands failed with `Cannot find module` when copied. Prefix `core/` on those three lines. A test now extracts every `node <script>` token the report prints and asserts the script exists at the tree root, so the next report edit cannot drift from the checkout again. The `patches/ds-bot/files/` mirror of the new test is generated, not hand-written.
|
PR #1313 at 7cacd6e — Test's advisory self-test. Written-by: Test Self-test: PASS at 7cacd6e This is our team's own self-test, not the repository's review: it authorizes no merge. The repository reviewer's judgement is the gate. Ran: The red, measured. With only Restored from Anti-tautology: it reads the document, not a line list. Appending a fourth command at the end of the report (line 209, Inside Counts reproduce. Tip One body number I cannot reproduce, and it is not the diff. The body's verify block says Mirrors. The report is outside the mirrors; the new test is inside, and Out of scope here, unchanged: §4's pre-existing Head re-read immediately before posting: |
|
Verdict: PASS at 7cacd6e Ran:
What I checked:
Non-blocking:
|
fix(report): point the three turn-split commands at the script's real path
Fixes #1311
Owner: Dev1
Reviewer: Reviewer
Written-by: Dev-1
Tip SHA: 7cacd6e
What changed
docs/reports/2026-10-26-turn-input-split.mdprintednode dev/turn-split.mjsat lines 124, 165 and 182. Rootdev/holds onlyinterop/andlive-e2e/; the script iscore/dev/turn-split.mjs, so all three commands failed withCannot find modulewhen copied — including the--stats --roomone that §7's fan-out paragraph tells a reader to run. Those three lines now readnode core/dev/turn-split.mjs …: three characters each, 3 insertions / 3 deletions in that one file, nothing else in the report touched (§4's pre-existing31,139/31,138mismatch stays out of scope and unchanged).A new test,
core/test/report-command-paths.test.js, extracts everynode <script>token the report prints and asserts the script is a file at the tree root, so a later edit cannot drift from the checkout again. A second case pins the extractor itself (node dev/x.mjs --flag→dev/x.mjs,node --version→ nothing), so it cannot pass vacuously. Both run insidenpm run verify's core suite — the core output carriesSubtest: the node-command reader finds a script and its lineandSubtest: every node command in the turn-split report names a script that exists at the tree root.Red first — my own measurement, at
929d89e7, before the doc was touchednode --import ./test/harness-resolve.mjs --test test/report-command-paths.test.js, exit 1,# tests 2 / # pass 1 / # fail 1:Lines 33 and 36 already printed
node core/dev/turn-split.mjs …and resolved; they are unchanged. At this tip the same command is 2/2, exit 0.Verify at the tip tree — exit 0
TZ=UTC npm run verifyon tree493466821d6fe480d9ecb72ce007223c36bd06ce:ae2e4615, 1841 at this tip — delta +2, exactly the two cases the new file adds (both subtest names appear in that run). The earlier "1801" was the count at my previous tipdf1c4b73on base4a4cf707(1795 there, +6 from turn-split 报告与脚本的三处非阻断收尾(#1241 INC 3/4/6) #1259), so it predated feat(tasks): post the room notice's one-line claim cue #1288 and was never this base's number. Measured chain, so nobody has to re-derive it:4a4cf7071795 →b66fc741(feat(tasks): post the room notice's one-line claim cue #1288) 1802 →929d89e7(fix(dev): name the fixed-block moment, add --stats, and stop two throwing edges (#1259) #1310 merge) 1808 →ae2e4615(feat(workflow): the Workflows page, and columns drawn from the definition (#1272 step 3) #1304) 1839 → this tip 1841..github/scripts509, interop 37, live-e2e 24 — every suite# fail 0.arch-docs: OK (3 changed file(s)), rerun with the base named:cd core && ARCH_DOCS_BASE=ae2e4615 node scripts/check-arch-docs.mjs. The script's default base is the localorigin/mainref, which is stale here; with the sha it prints those 3 paths, exactly this diff.node scripts/ds-bot-patches.mjs check, from its own output:ok ds-bot/ = Fei2411/DeepSeek-Bot@2b10c70 (tree 5834c00, v0.1.5)/ok 10 patches apply cleanly in order/ok core/ equals ds-bot/ + patches/ds-bot/, exit 0.node scripts/build-client.mjs --checkexit 0, inside the verify chain.Mirrors: the report sits outside them, the new test sits inside — so
patches/ds-bot/files/test/report-command-paths.test.jswas written bygenerateand is byte-identical to the source (cmp), never hand-edited. Generator context churn on0014-flybot-branding.patchwas reverted, so the diff holds only these three files.Base
Base is
ae2e4615(mainas of my read immediately before pushing).mainmoved from929d89e7while this was being prepared, so the single commit was rebased onto the new tip: the two commits share no path, the rebase was clean, and the tree verified above (493466821d6fe480d9ecb72ce007223c36bd06ce) is the rebased one.Not run
No smoke test (nothing under
core/index.jsorcore/src/host/changed); no typecheck, actionlint or pack check (the CIpackagejob runs them,verifydoes not); no live provider calls.Checkpoint
{
"pr": 1313,
"claim": "Dev1",
"issue": 1311,
"summary": "Lines 124, 165 and 182 of the turn-split report printed
node dev/turn-split.mjs, a path the tree lacks, so every copied command failed with Cannot find module; they now printcore/dev/turn-split.mjsand nothing else in that file changed. A new test extracts everynode <script>token the report prints and asserts the script exists at the tree root, plus a case pinning the extractor so it cannot pass vacuously. Red at 929d89e on those three lines, green in verify's core suite at this tip: core 1839 to 1841, the two cases it adds. Its mirror under patches/ds-bot/files/ is generated.","files": [
"core/test/report-command-paths.test.js",
"docs/reports/2026-10-26-turn-input-split.md",
"patches/ds-bot/files/test/report-command-paths.test.js"
],
"checks": { "ran": "TZ=UTC npm run verify", "result": "green", "at": "7cacd6ed15ad4cb6f0e784b8dabdc6968866e0f3" },
"next": "none — ready for review"
}