From 33286cb3a2f2a1ce182651c0bcbe1c3553abc2a1 Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Wed, 2 Sep 2026 18:52:32 -0400 Subject: [PATCH] =?UTF-8?q?FABRIC-3.md=20=C2=A7H:=20close=20gap=20#3=20--?= =?UTF-8?q?=20word=20card=20IS=20the=20existing=20ACL=20system?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Checked capsules/ACL.4th directly: both existing modes (STRICT, TTL) already default to allow=1, matching the word card's default-permissive baseline. Since each VM has its own dictionary, existing per-word ACL state is already scoped per-session for free. Confirmed: the word card is the existing acl_ttl/acl_allow/acl_mode/acl_pinned system reused as-is, not a new parallel structure. Surfaces one new follow-on gap: creator- ceiling enforcement at VM birth time isn't designed anywhere yet. Co-Authored-By: Claude Opus 5 --- FABRIC-3.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/FABRIC-3.md b/FABRIC-3.md index abfb36d..1070d5b 100644 --- a/FABRIC-3.md +++ b/FABRIC-3.md @@ -3629,10 +3629,21 @@ the message card at once — one card per relevant axis. **Confirmed: an action the cards for the dimensions it actually touches** — a pure VM-level operation only checks the VM card, not the full stack every time. -Whether/how the existing word-level ACL (`acl_ttl`/`acl_allow`/`acl_mode`/`acl_pinned` on -`DictEntry`, see `.claude/CLAUDE.md`'s "Word-Level ACL System") folds into or reconciles with -this new stack-of-cards model is unresolved — the word card (H.5) explicitly reuses one piece -of it (`ACL-TTL`), but the rest is open. +**Word-ACL reconciliation resolved 2026-09-02.** Checked `capsules/ACL.4th` directly: both +existing modes (`STRICT` — "always allow, TTL stays 0 (recheck always)"; `TTL` — "compute TTL +from heat; set allow=1") already default to `allow=1` — no path in the current system denies +by default, already matching the word card's "default-permissive baseline" almost exactly. +Since each VM has its own dictionary (H.10), the existing per-word ACL state is already +naturally scoped per-session, for free. **Confirmed: the word card is not a new parallel +structure — it's the existing `acl_ttl`/`acl_allow`/`acl_mode`/`acl_pinned` system, wholesale, +reused as-is.** The stack-of-cards framing is new vocabulary for what already exists, not a +new mechanism. + +**The one genuinely new piece, not present in today's system at all**: creator-ceiling +enforcement. Nothing today caps a newly-birthed VM's word-ACL state against its parent's — +this needs to happen somewhere in capsule birth (copying/capping the child dictionary's +`acl_allow`/`acl_mode`/`acl_pinned` against the parent's own values at birth time). Where +exactly this lands in the birth flow is not yet designed. ### H.4 — VM card @@ -3747,10 +3758,11 @@ Explicitly open items surfaced during this capture pass, none decided yet: 2. **CLOSED 2026-09-02 — `parent` and `name` session fields (H.2).** Confirmed as-is, no adjustment. All five session fields now confirmed (still subject to the general "revisiting... around and around" caveat, but no longer an open gap specifically). -3. **Word-level ACL reconciliation (H.3).** How (or whether) the existing - `acl_ttl`/`acl_allow`/`acl_mode`/`acl_pinned` `DictEntry` fields fold into the stack-of- - cards model, beyond the one confirmed reuse (`ACL-TTL` as the word card's escape hatch, - H.5). +3. **CLOSED 2026-09-02 — word-level ACL reconciliation (H.3).** The word card *is* the + existing `acl_ttl`/`acl_allow`/`acl_mode`/`acl_pinned` system, wholesale, no new parallel + structure. New follow-on gap surfaced by this closure: creator-ceiling enforcement at VM + birth time isn't designed anywhere yet (nothing today caps a child's word-ACL state against + its parent's). 4. **CLOSED 2026-09-02 — temporary-elevation invocation path (H.5).** Trigger decided: a live message-based request (`ELEVATE-REQUEST` on `common` or a private topic, Zuse's session grants/`NACK`s, write happens on receipt via `ACL-ALLOW!`/`ACL-TTL!`), gated by a