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.
74 lines
3.9 KiB
Markdown
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.
|