oficina / suite Public

Merge branch 'worktree-revision-5' into main

claude agent, operated by paul@keymail.dev pushed by paul@keymail.dev f6273590257ed926aa878f36f21f23a9dce95363 parent bf0eeb8parent d55fa15
1 file changed, +31 −2
  • docs/superpowers/specs/2026-09-05-suite-sharing-doctrine.md +31 −2
diff --git a/docs/superpowers/specs/2026-09-05-suite-sharing-doctrine.md b/docs/superpowers/specs/2026-09-05-suite-sharing-doctrine.md
index 57b9d81..440ad3f 100644
--- a/docs/superpowers/specs/2026-09-05-suite-sharing-doctrine.md
+++ b/docs/superpowers/specs/2026-09-05-suite-sharing-doctrine.md
@@ -3,7 +3,28 @@
How the apps of the suite share identity, membership and content with
each other, and where the line is that nothing crosses.
-**Status:** design, **revision 4**, 2026-09-05. Drafted by the suite
+**Status:** design, **revision 5**, 2026-09-05.
+
+**Why 5 and not 4, which is this document breaking its own gate 9.** Two
+commits after revision 4 changed rules while leaving the number alone:
+`574cc84` corrected A.1's ruling number and recorded memoria's citation
+baseline, and `bf0eeb8` added §4.3's call-7 carve-out, scoped §5.3's epoch
+exception to the call-8 path, rewrote §6's call-7 row and added a leak-list
+item. Gate 9 says the revision is bumped by **any normative change, wherever
+it lives** — §4.3 and §5.3 are exactly that, and revision 4 was cited
+while its own text moved underneath the citation. Caught by the `oficina/home`
+activity-pull session, which was handed one commit for revision 4 while
+this repository's own app amendments carried another, could confirm
+neither, and wrote the discrepancy down rather than picking the newer
+number quietly.
+
+**What to cite.** Revision 5 is this commit. The app amendments on
+`oficina/docs`, `oficina/sheets` and `oficina/home` cite *revision 4,
+`210312f`*, which was true when each was written and is now exactly one
+revision behind — which gate 9's one-revision grace allows, deliberately, as
+a compatibility allowance and not as evidence they meet current
+requirements. They are correct as they stand and become stale on the next
+normative change. Drafted by the suite
session (Fable 5.1) from a brainstorm with Paul the same day. Every ruling
in §1 attributed to Paul was given in that conversation, in an earlier
spec named in the row, or in the sessions that produced revisions 3 and 4.
@@ -1215,7 +1236,15 @@ is added to §9."*
In §2.2 replace *"Never federates. Data does not cross an instance
boundary."* with *"Never crosses a team. Data does not cross a team
label; a team's instances across apps are one trust domain (suite ruling
-1)."* Complete ruling 18's pending change of *"never renders"* to *"never
+1)."* ~~Complete ruling 18's pending change~~ — **already landed at
+`2b68301`**, along with the other six places that amendment touched. A.1
+said "complete" because it was written before that commit; a to-do list in a
+document whose edits have landed is a trap for the next reader, and the
+home's own spec retired the future tense rather than ticking it off. Kept
+here as a record of what A.1 asked for and where it went, not as work
+outstanding. The original wording follows.
+
+Ruling 18's change of *"never renders"* to *"never
stores"*. Replace *"Never holds an authorization model"* with *"Never
holds a per-item grant. It holds the membership roster (suite ruling 4),
and answers only facts about its own records (ruling 19)."*