From ec6befd213883d15a923895f42a39eb3c3d03061 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Mon, 12 Oct 2026 09:28:23 -0500 Subject: [PATCH] decisions: 105, Q102 agreed, containerize by role (I1-1) Co-Authored-By: Claude Opus 5.5 --- docs/plans/2026-09-26_lead-decisions.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md index d56187f13..8a834d7cd 100644 --- a/docs/plans/2026-09-26_lead-decisions.md +++ b/docs/plans/2026-09-26_lead-decisions.md @@ -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.