Consumed suite rulings: §0.2 against doctrine 1ac4323 rev 8, §15.18
The commit suite Appendix A.6 points at. §0.2 names, never restates: rulings 1, 5, 3, 4, 12, 6, 9, 15, 16, the last as amended by the 2026-09-12 sharing update; the 4/12 row now consumes the home's assertions through home/connect (§7.1.1) while the allowlist stays the membership authority. §12 item 6 annotated as delivered 2026-09-14; §15.18 records what slice 6 delivered, deferred and declined.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CzvnuKhLzudvq7jZ7SvVt2
1 file changed,
+47
−2
docs/superpowers/specs/2026-09-07-meet-design.md+47 −2
diff --git a/docs/superpowers/specs/2026-09-07-meet-design.md b/docs/superpowers/specs/2026-09-07-meet-design.md| index f4a7dba..3fa291e 100644 |
| --- a/docs/superpowers/specs/2026-09-07-meet-design.md |
| +++ b/docs/superpowers/specs/2026-09-07-meet-design.md |
| @@ -90,11 +90,11 @@ This app cites the suite sharing doctrine (`oficina/suite`, |
| |---|---| |
| | 1, 5 | One instance per team; the first deploy is the **lone shape** (§7.1). | |
| | 3 | Authorization is asked per request and never cached. Standing (member, guest, neither) is derived at each request and re-derived on every hub tick (§2.3). | |
| -| 4, 12 | Identity and roster belong to the home. Until the home mints assertions, the lone instance keeps its own allowlist exactly as Docs and Slides do. | |
| +| 4, 12 | The home now mints assertions; Meet consumes them through `home/connect`'s bridge, resolving to the existing person and re-checking membership on every request, while the allowlist remains the membership authority throughout (§7.1.1). | |
| | 6 | No product-wide egress. Meet never names a STUN or TURN server of its own; ICE servers come from the platform (§5.2) or there are none (§5.5). | |
| | 9 | Every write names its real actor: a member, a guest who signed in, or an agent (§8). | |
| | 15 | Three rungs plus a read-only link. A meeting link is a capability to obtain a **guest grant at sign-in**, the `granted` rung, and never a way into a room without a name (§3). Ruled for Meet on `oficina/suite` discussion 3, Paul, 2026-09-06. | |
| -| 16 | A link token is stored hashed and shown once (§3.1). Ruling 16 is on the doctrine's `worktree-worktree-token-at-rest` branch (suite discussion 2), not yet on main; Meet adopts it now so it never has the Docs defect that produced it. | |
| +| 16 | A link token is stored hashed and shown once (§3.1); Ruling 16 is on the doctrine's `worktree-worktree-token-at-rest` branch (suite discussion 2), not yet on main. As amended by the 2026-09-12 sharing update (top of file): invitation tokens move to hash-indexed with a sealed copy for members' repeat sharing; agent credentials stay hash-only and shown once (§15.17). | |
| Doctrine §5.2 is also relied on: a guest grant held by the instance is |
| authoritative for that grant, which is why §2 stores it and does not |
| @@ -1086,6 +1086,18 @@ own gates from §13; nothing is deferred to the deploy slice. |
| and the `Consumed suite rulings` commit that suite Appendix A.6 will |
| point at. |
| + **Delivered 2026-09-14 (§15.18).** The README, with the floor and |
| + relay paragraphs first, was written. `PRODUCT.md` was written. |
| + AGENTS.md's deploy notes were appended. This is the `Consumed suite |
| + rulings` commit, refreshing §0.2 against doctrine main `1ac4323` |
| + revision 8. The acknowledgements page is deferred to `oficina/meet` |
| + discussion 10's branch `feat-open-source-credits`, not duplicated |
| + here. The Estilo theme pin did not happen, because no tagged release |
| + exists; the theme is nonetheless already adopted on main at a |
| + pseudo-version through the Home integration. No production |
| + promotion happened, because this slice is documentation only; edge |
| + stays hand-managed by Paul. |
| + |
| --- |
| ## 13. Testing |
| @@ -2130,3 +2142,36 @@ truncated before the `~` — the badge's icon needs no separate |
| every icon "sits beside its own visible text label") is already |
| satisfied by the badge's own word, alongside AGENTS.md's own line — |
| "State — never colour alone — always a text label too." |
| + |
| +### 15.18 §12 item 6 — what slice 6 delivered, deferred and declined |
| + |
| +Slice 6 is documentation only: nothing under `internal/`, `native/`, |
| +`meetcore/` or `protocol/` changed. Against the programme's slice 6 |
| +line (`docs/superpowers/plans/2026-09-09-meet-slices-2-6-programme.md` |
| +§5) and this spec's own §12 item 6: |
| + |
| +- **Delivered.** `README.md`, with the scriptless floor sentence and |
| + the relay paragraph first. `PRODUCT.md`. `AGENTS.md`'s deploy notes. |
| + §0.2 above, refreshed against doctrine main `1ac4323`, still |
| + revision 8 on 2026-09-14 — this is the `Consumed suite rulings` |
| + commit suite Appendix A.6 will point at. |
| +- **Deferred, not duplicated.** The acknowledgements page lives on |
| + `oficina/meet` discussion 10, branch `feat-open-source-credits` |
| + (`117b6e4`, `bbc126e`): a shared Estilo credits page with a runtime |
| + dependency inventory, Fable-approved, verified live on the overnight |
| + canary, not yet merged to main. Building a second one here would be |
| + the duplication the programme forbids. |
| +- **Declined: the Estilo theme pin.** The programme's condition for |
| + pinning was a tagged release; `git ls-remote --tags` against |
| + `oficina/estilo` is empty on 2026-09-14, so no tag exists and no pin |
| + was made. The theme is adopted on main anyway, at a pseudo-version |
| + (`amadan.net/oficina/estilo.git`), by the Home integration |
| + (`f9cb47f`, `34fc367`) — the programme's condition is recorded here |
| + as unmet, and the adoption as done by another route, not as the |
| + condition having been met after all. |
| +- **Declined: the production promotion.** A docs-only slice has |
| + nothing to promote that changes behaviour, and a redeploy would drop |
| + every live call for no reason (§15.11). `meet.oficina.works` is |
| + being promoted by hand by Paul (`651cff2`, 2026-09-12) with other |
| + sessions' work queued behind live checks; this slice does not touch |
| + that queue or announce a deploy of its own. |