launchpad: row 255 design, R2 marked rejected per sage-4401 (R1 chosen, M2 dropped)

This commit is contained in:
jason.woltje committed 2026-10-24 23:57:39 -05:00
1 parent f78a45653d
commit 446c9b8381
1 file changed
+5 -6
+5 -6
View File
@@ -245,10 +245,9 @@ to respect that; I recommend the first:
The user pastes it into config.json, as with Q175 step 4. Rerunning `scripts/bootstrap.sh` (or
`--instance NAME`) then validates it through the loader, including the section 1 cross-check, and writes
nothing. Nothing changes in invariant 2.
- **R2.** `enroll --write-config` writes those two keys itself, with a backup of config.json first, and
refuses if `console` or `components` is already present. That would be the first tool to modify an
existing config.json. **M2 (to Mos, only if R2 is wanted): R2 changes canon invariant 2's
"never overwritten" practice.**
- **R2 (rejected, Sage sage-4401: R1 chosen).** `enroll --write-config` would write those two keys itself, with a backup of config.json first, and
refuse if `console` or `components` were already present. That would be the first tool to modify an
existing config.json, against canon invariant 2's "never overwritten" practice. Not built.
Whose subject. Enroll creates one person, the one running it, and only that subject goes in the entry. On
Jason's instances, only his subject goes into `console.sso` (mos-1197). Further people are added with
@@ -366,7 +365,7 @@ runs on .53, .54 or dragon-lin, and none installs Pocket ID on any host.
3. **P3, unit.** The unit template, `render|install|status|remove|purge`, and the encryption key slot. Gate:
the render and remove tests, and the sandbox bind test.
4. **P4, enroll.** The namespaced bootstrap, the client, the subject, `relink`, and printing the entry (R1),
or R2 if Mos rules for it. Gate: the enroll tests in section 9, and a secret-leak grep over every test log.
(R2 rejected). Gate: the enroll tests in section 9, and a secret-leak grep over every test log.
5. **P5, Console against the fake Pocket ID.** The section 9 fake-OP start tests, and the
`NODE_EXTRA_CA_CERTS` render flag for the Console unit. Gate: the webui suite, with no change to
`sso.mjs` checks (a diff of `sso.mjs` and `sso-config.mjs` against the base shows none).
@@ -377,7 +376,7 @@ runs on .53, .54 or dragon-lin, and none installs Pocket ID on any host.
## Open items for review
- **M1 (Mos):** the new top-level `components` key in config.json (section 1).
- **M2 (Mos, only if R2):** a tool writing config.json (section 5). R1 needs no ruling.
- M2 dropped: Sage chose R1 and rejected R2 (sage-4401).
- **Q1 (Webby):** the private network namespace for enroll (section 4). The other option is to start the
real unit and race `/setup`, which I think is unsafe while agents share the host network.
- **Q2 (Webby):** one-providers-entry for the bundled choice (section 1). REQ-INST-2's wording reads that