decisions: 105, Q102 agreed, containerize by role (I1-1)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-12 09:28:31 -05:00
co-authored by Claude Opus 5.5
parent 6c5f9971d4
commit ec6befd213
+25
View File
@@ -2320,3 +2320,28 @@ which stay with him. Each item names who decided it and what happened.
- Unchanged: isolation stays PID namespace only under Jason's uid
until I1 is ratified and built, and T3 Mos keeps running, since
decision 96 needs both M1 and I1 before M3 retires it.
105. **Q102 agreed: containerize by role, I1-1 (2026-10-12).** Jason,
relayed by Mos (sage-0074, recorded in jason-master-restart
DECISIONS.md): "Q102: agreed". Q102 asked him to approve item 1 of
`agents/sage/work/next-target/I1-review.md` (line 33, commit
9a816643), which is Researcher's option D with A from
`agents/researcher/work/i1-container-survey/REPORT.md`.
- The containerized install separates components by role. The
broker is the only container that holds service credentials and
the dataRoot. It has two sockets. The agent socket takes
capability verbs and refuses `human` envelopes. The human socket's
directory is mounted into the Console container and no other.
- Agent containers get no route to the Console, no engine socket and
no `bus/`, `bus-host/` or `runs/` mount. Reachability is the human
proof, and the Authentik header only names the user.
- In containerized mode, `authenticateHuman` (`packages/bus/src/runtime.mjs`)
binds with a new `via` value. The local install keeps the
ancestry proof unchanged.
- A host-side agent under Jason's uid still passes. That stays
decision 95's accepted limit, and the docs say so.
- Not covered by this decision: rootless Docker (I1-2, going to
Jason as Q103), WebAuthn (I1-3) and subscription token delivery
(I1-4). Their defaults in the review apply until he answers.
- For decision 96, I1's direction is ratified and M1 is approved
(decision 104). I1-2 to I1-4 are open. When T3 Mos retires is
still Jason's call, after M3.