diff --git a/docs/plans/2026-10-20_case2-rows.md b/docs/plans/2026-10-20_case2-rows.md index c45816509..b97ec692f 100644 --- a/docs/plans/2026-10-20_case2-rows.md +++ b/docs/plans/2026-10-20_case2-rows.md @@ -1092,9 +1092,11 @@ parts. ### What ships -The install does: bootstrap, release package and activate, the business file with the mapping, `bean` -and `chet` with their persona vars and files, any specialists she picks, her human id, the token slot -path. It runs as `` through `sudo -u mosaic -H` from `localadmin`, and `mosaic` gets no key. It +The install does: bootstrap, the stack copy (its `npm ci` installs the pinned harness), the business +file with the mapping, `bean` and `chet` with their persona vars and files, any specialists she picks, +her human id, the token slot path. It runs no `release.sh package` or `activate`. Both need Docker, and +the hub runs no containers (design 10 step 2b, D8, webby-0085 B1, sage-2189). It runs as `` +through `sudo -u mosaic -H` from `localadmin`, and `mosaic` gets no key. It doesn't create `` and writes no unit file. Root does those in design 10 steps 2a and 2c. Every host value is an input, so a later host move changes only inputs. @@ -1102,20 +1104,24 @@ Row 195 runs the install by input for Case 1 on 10.1.1.53 (darkwing to gosalyn, `agents/darkwing/work/queue-195/DESIGN.md` section 2). It doesn't copy it. So the install takes `--profile factory|library`, default `library`, as the precheck does: - `library` is everything this brief lists. -- `factory` skips the library mapping, the persona files and digests, the token slot, and - `library.sync` and `library.status`. +- `factory` skips the library mapping, the persona files and digests, the token slot, and the + `--library-status` check. The precheck's library profile adds these checks to C2-13a's: - The business file, `.history`, `changes.jsonl` and persona files have the modes in design 4, and each persona digest matches. -- `library.sync` fetches her repo read-only, and `library.status` lists R-problems. +- `--library-status`, run as `` once the bus is up and step 4's token is in place (design 10 step + 4a). It reads the bus's recorded sync state only and syncs nothing. It refuses when the mirror is + missing, when `lastError` is set or when `lastFetch` is null. It prints each R-problem as a `problem` + line and then a count, never file text (sage-2189). - No Discord binding exists. ### Tests They run against a scratch data root and a local bare repo. Each new precheck refusal has a case: a -persona file at 0644, a digest mismatch, a business file at the wrong mode, a sync failure and a -Discord binding. The install's `factory` profile writes no library mapping, persona file or token slot. +persona file at 0644, a digest mismatch, a business file at the wrong mode, a Discord binding, and for +`--library-status` a missing mirror, a mirror never synced and a recorded `lastError`. The install's +`factory` profile writes no library mapping, persona file or token slot. ### Out of scope