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

74 lines
3.9 KiB
Markdown

# 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.