Files
jason.woltje 158205c5cc lead: commit darkwing's untracked evidence (348 files: queue-137 queue-141 queue-150 queue-162 queue-165 queue-166 queue-167 queue-169 queue-179 queue-180 queue-181 queue-182 queue-185 queue-186 queue-187 queue-188 queue-190 queue-93)
Unclaimed files left in the canonical checkout. Inventory: canonical-cleanup-inventory.md (commit-as-evidence groups). detect-secrets scan clean on 2026-11-02: hits are sha256 pins, git object ids, test sentinels already in tracked tests and unit-file lines.
2026-11-02 15:05:14 -06:00

3.9 KiB

Row 179: docs/TOOLS.md follow-ups from the row 169 review

Brief docs/plans/2026-10-19_tools-md-169-followups.md (b2a75f318). Filbert raised the follow-ups in the row 169 round 1 review (#1666 comment 29263). Owner Darkwing, reviewer Dewey, gate owner Sage.

Files

File What
build.patch the change, git diff ce5807989 -- docs/TOOLS.md
candidate-manifest.sha256 one line, docs/TOOLS.md
  • Base: ce5807989 (origin/refactor at 23:32Z, after the row 169 landing 264756a30). Its docs/TOOLS.md is sha256 31e80ff21e78...f091, the blob the brief's line numbers refer to.
  • Candidate docs/TOOLS.md sha256 67acbed1f505ffe565c179ede1889a0795018ec1b99bd292d989f3fe000c60f4.
  • Manifest digest 2b161c5186098f1bc8c3dd8198b3666785a89852987051661f741a509317bd67.
  • git patch-id --stable: 35e385ff93cb3fd13b7da54375eb95bd455431c4.
  • Diff: docs/TOOLS.md only, 22 insertions and 7 deletions, all in the three spots F1-F3 name.

The change

  • F1, at :454 (now :467-469): pm-on and a pm-on-failed run leave the Console running, and pm-on-down stops it. None of them touches the copy or the store. Checked against the landed scripts/stack-release.sh: do_pm_on stops and starts the bus alone (stop_bus). pm_on_fail uses stop_bus too and exits 1 on a phase-1 pass. Only the pm-on-down path runs systemctl --user stop "$CONSOLE_UNIT", then exits 2.
  • F2, at :426 and :446.
    • Step 2 of the two-phase section gives the working form node <copy>/packages/cli/src/cli.mjs plugins set --file P --business ID. <copy> is the pointer's copy, because the bus accepts the human proof only from its own tree.
    • It gives the PATCH shape {"revision":"<64 hex>","plugins":{"<kind>":<value>|null}}, where the revision comes from the plugins read and null removes a kind. A kind the patch doesn't name keeps its setting, as packages/cli/src/plugins.mjs and packages/business/src/plugin-settings.mjs say.
    • One line says row 175's fixed mosaic plugins set replaces the form once that row lands. Row 175 hasn't landed (sage-1098), so the form stays in.
    • Rollback step 7 points to that step for the null set.
  • F3, in activate step 5 and rollback step 7.
    • business-unreadable covers a copy older than eaeb5ebf2, which has no plugins/src/kinds.mjs, and a file the target's loader refuses.
    • The code is plugin_checks at scripts/stack-release.sh:267 and :275. do_activate and do_rollback both run it, with and without --plan (:804, :806, :816, :818).
    • git log --diff-filter=A -- packages/plugins/src/kinds.mjs gives eaeb5ebf2. The live copy 5fa9cc8f2 contains it (merge-base --is-ancestor), as Sage found. TOOLS.md doesn't name the live copy, since that fact changes with each re-pin.

The added lines pass tools/unslop-hook/unslop-check.js and add no em dash. TOOLS.md has the same 5 em dashes it had at the base.

Gate

The brief's grep, grep -rn "TOOLS.md" packages/*/tests scripts/test-*.sh, finds one line:

packages/cli/tests/stack-release.test.mjs:428: ... (e)=>`... TOOLS.md step 4`],

That is an expected refusal message string, not a read. A wider git grep -ln "TOOLS.md" -- '*test*' '*spec*' outside v1/, agents/ and docs/ finds the same file and nothing else. No test reads the file, so under decision 137 (Mos 10-16) Dewey's approval of the candidate manifest is the gate, and I ran no suite.

Review

Dewey approved round 1 (#1677 comment 29271, rev 2062) on manifest 2b161c51. Their rebuild on ce5807989 matched the manifest, the TOOLS.md sha256 and the patch-id.

Note N1 isn't a finding. A host that can't find the business file fails ENOENT at stack-release.sh:267 and refuses business-unreadable too. The lead clause in F3 covers that case, but the list after it reads as complete. I'm leaving it unless there's another round.

Row 175 r2 also changes TOOLS.md, at :277. This patch applies to that tree with line offsets only. Whichever row lands second rebases.