FABRIC-3.md §H: close gap #8 -- EXPIRE/D.2 relationship reconciled

No actual conflict between D.2 and H.1. D.2 (2026-08-27, "session ending =
VM detach, reuse COOL") was scoped to user sessions, written before
Hera/Hermes/Artemis were framed as having their own persistent sessions.
D.2 is a special case of H.1's broader pinned/non-pinned model, fully
subsumed: it describes exactly how the non-pinned branch behaves. Pinned
sessions have no D.2-style "ending" at all -- permanent by construction.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-02 19:00:32 -04:00
co-authored by Claude Opus 5
parent 26b91f1ca4
commit 91dfb0a079
+10 -3
View File
@@ -3591,6 +3591,13 @@ plan," D's own intro) — nothing here is scoped into implementable items yet.
Artemis) are permanently exempt from `COOL` regardless of idle state; non-pinned user VMs
are exempt from nothing. No exception case (e.g. a user VM temporarily pinned while
actively attached) — ruled out, confirmed as-is.
- **`EXPIRE`/D.2 relationship, resolved 2026-09-02**: no actual conflict between D.2 and this
section — D.2 was scoped to *user* sessions (thumbdrive attach/detach), written before
Hera/Hermes/Artemis were framed as having their own persistent sessions. **D.2 is a special
case of H.1, fully subsumed**: D.2 describes exactly how the non-pinned branch behaves
(detach triggers `COOL`), matching the mapping above. Pinned sessions simply have no
D.2-style "ending" at all — permanent by construction, the question D.2 was answering
doesn't apply to them.
### H.2 — Session struct shape
@@ -3804,9 +3811,9 @@ Explicitly open items surfaced during this capture pass, none decided yet:
7. **CLOSED 2026-09-02 — private-topic traffic gating (H.8).** Confirmed ungated — `MSG-SEND`
has no ACL check today; trust is established once at the handshake, nothing re-checks
permission afterward. The message card's scope is now final: it gates `CH-REQUEST` alone.
8. **The `EXPIRE`/D.2 relationship.** D.2 already established "session ending = VM detach,
reuse `COOL`" — H.1's pinned/non-pinned framing should be read as refining that, not
replacing it, but the two have not been explicitly reconciled in one pass.
8. **CLOSED 2026-09-02 — the `EXPIRE`/D.2 relationship.** No conflict — D.2 is a special case
of H.1, fully subsumed (D.2 describes the non-pinned branch specifically; pinned sessions
have no D.2-style "ending" at all).
9. **Every other card beyond the four named** (VM, word, block, message) — the model list is
confirmed as the *named-so-far* set, not stated as closed/exhaustive.
10. **No implementation has started.** Every item above, and every card definition in