oficina / meet Public

Clone
git clone https://amadan.net/oficina/meet

Plain git — no account needed to clone.

Download

Download this file

1# Meet slice 6 — the record
2
3Branch `slice/6-deploy`, `9225ec2..HEAD` (this commit; started on main
4`9225ec2`, tag `v0.1.0`). Spec: `docs/superpowers/specs/2026-09-07-meet-design.md`,
5revision 9 (§15.18 carries this slice's dispositions). Plan:
6`docs/superpowers/plans/2026-09-14-meet-slice-6-deploy.md`.
7
8Slice 6 is the programme's closing slice (spec §12 item 6) and is
9documentation only: `README.md`, `PRODUCT.md`, a Deploying section in
10`AGENTS.md`, the *Consumed suite rulings* commit (`fa875c7`, the hash
11suite Appendix A.6 points at) and the spec amendments that commit and
12the review made. No file under `internal/`, `cmd/`, `native/`,
13`callscore/` or `protocol/` changed. The ledger is
14`.superpowers/sdd/2026-09-14-meet-slice-6-deploy/` (gitignored; this
15file is its substance).
16
17---
18
19## 1. Rulings and decisions
20
21- **The slice was re-scoped against main as it is on 2026-09-14, not
22 as the programme imagined it on 2026-09-09.** Between slice 5
23 (`a283c53`, 2026-09-11) and this slice, other sessions landed Home
24 sign-in (§7.1.1), the shared Estilo day theme and brand, the
25 invitation `Share` route (the 2026-09-12 amendment), and the native
26 Mac, iPhone and iPad apps. The plan's "What slice 6 was, and what it
27 is now" table is the disposition of each programme item; §12 item 6
28 and §15.18 restate it in the spec.
29- **The acknowledgements page is not built here.** `oficina/meet`
30 discussion 10, branch `feat-open-source-credits` (`117b6e4`,
31 `bbc126e`), carries a shared Estilo credits page with a runtime
32 dependency inventory and its freshness gate, Fable-approved and
33 verified live on the overnight canary. Building a second one would
34 be the duplication the programme forbids.
35- **The Estilo theme pin.** The programme's condition was a tagged
36 release; `git ls-remote --tags` on `oficina/estilo` is empty on
37 2026-09-14. The theme is nevertheless adopted on main at an indirect
38 pseudo-version (`go.mod`), brought in by the Home integration.
39 Recorded as: condition unmet, adoption done by another route,
40 nothing changed here.
41- **No deploy from this slice.** The change is documentation,
42 checkable from this diff. As observed on 2026-09-14 from `carlos
43 channels` and `oficina/meet` discussions 11 and 14, edge
44 (`calls.oficina.works`) was being promoted by hand by Paul (`651cff2`
45 on 2026-09-12), with discussion 14's web UI work queued behind a
46 live check — state as of that observation, not asserted as current
47 here. A redeploy would drop live calls for nothing; a queued
48 promotion is never announced as live (programme §5). The domain was
49 attached before this slice.
50- **Copy review is waived** for this round by Paul's steering on
51 `oficina/suite` discussion 5. README and PRODUCT.md prose is
52 catalogued here (§3) rather than reviewed.
53- **Writers did not commit.** Three writers worked concurrently in one
54 worktree on disjoint files; the controller committed each set. The
55 index is the shared resource, not the files.
56- **Every behavioural claim is verified against the code on the
57 branch and cites its source.** The whole-branch review's finding was
58 that the writers verified the documents against the code but not the
59 code's documents against the documents: four spec sentences on main
60 asserted things about "the README" that the README, once it existed,
61 did not say (§0.1/§5.6's encryption sentence, §5.5's TCP-443 cause
62 and "first paragraph", §3.2's residue). All four now hold, and the
63 fix wave swept every spec sentence naming README, AGENTS.md or
64 PRODUCT.md (twelve remaining, all true).
65- **The two meanings of "floor".** §5.5's floor is "no relay"; §9's is
66 the scriptless floor. §12 item 6 now says which goes where (the
67 scriptless sentence in the README's first paragraph, the relay
68 paragraph carrying §5.5's sentence second); §15.18 notes the two
69 senses.
70- **Platform facts stated from this project's own deploys**, not from
71 the platform source: `carlos canary` composed a host the console
72 refused (platform discussion 124, open); the recipe used is
73 `carlos instances create --host <name>-meet.bds.oncarlos.com
74 --channel canary/<name> --environment <name>` then `carlos deploy
75 --channel …`, with the environment bundle mandatory because a canary
76 without one serves `CALLS_ORIGIN` for the main host and refuses
77 sign-in while GETs look healthy. The release command is `carlos
78 deploy --app meet --account oficina --channel edge --version <sha>
79 --target linux-arm64 releases/meet-linux-arm64` after `make release
80 VERSION=<sha>`; the deploy wait can time out before the hand-over
81 while the instance serves the new version a minute later.
82- **Ruling 16** stays cited as on the doctrine's
83 `worktree-worktree-token-at-rest` branch, not doctrine main (whose
84 rulings run 1 to 15 at `1ac4323`, revision 8, confirmed current by
85 `ls-remote` on 2026-09-14), as amended by the 2026-09-12 sharing
86 update for invitation tokens; agent credentials remain hash-only and
87 shown once.
88
89---
90
91## 2. Per-task review dispositions
92
93Three writing tasks (Sonnet) in parallel, then one whole-branch review
94(Opus) and one fix wave, then Codex rounds.
95
96- **Task 1, README and AGENTS.md** (`93f1c2e`): 106 lines, the two
97 paragraphs first. Flagged and acted on: spec §11 still listed a
98 native client as not built (`aa9b227`). Flagged and initially left,
99 then closed by the review: §5.5's "first paragraph" cross-reference;
100 `CALLS_SMTP_PASS` as a secret.
101- **Task 2, PRODUCT.md** (`e684b97`): impeccable product schema 1 in
102 `oficina/docs`' shape with the unattended-writing disclaimer; "What
103 is deliberately not here" carries the scriptless exception spec §9
104 asked for.
105- **Task 3, the consumed-rulings commit** (`fa875c7`): §0.2's 4/12 row
106 consumes the home's assertions through §7.1.1 with the allowlist as
107 membership authority; a ruling-16 row as amended; §12 item 6
108 annotated; §15.18 added. Revision line left at 9, following what
109 §15.13 to §15.17 did.
110- **Whole-branch review** (`e684b97`): verdict **merge with named
111 fixes**, W6-1 to W6-15, all applied in `bf3b86b` and `c22cae7`
112 (reflow), plus the handoff's spec sweep, the two-floors
113 disambiguation, §15.11's stale "until slice 3, or until a drain
114 exists" (no drain exists; every deploy drops live calls) and
115 `token_sealed` added to §2.1's `meeting_links` columns. Roughly
116 sixty behavioural claims were traced to file and line and found
117 correct; the fifteen findings were the remainder.
118
119**Codex round 1** (independent, static, scope `9225ec2..c22cae7`):
120verdict **request changes** — thirteen findings, S6-1 through S6-13.
121All applied in one commit (`.superpowers/sdd/2026-09-14-meet-slice-6-deploy/fix-wave-report.md`,
122round-1 section):
123
124- **S6-1 — P2, deployment settings undocumented. Fixed:** README's Deploying section enumerates every required setting and which refuse startup outside `-env development`.
125- **S6-2 — P2, the deploy-wait guarantee had an unstated prerequisite. Fixed:** README and AGENTS.md now state the `carlos apps build-probe` prerequisite and the `X-Carlos-Version` fallback it stands in for.
126- **S6-3 — P2, the scriptless exception was narrower than shipped. Fixed, then completed in Codex round 2 (S6-16):** README, PRODUCT.md and spec §9 name the chat panel and the live admission controls as script-gated too, alongside browser media participation; AGENTS.md's two matching lines, left behind in round 1, were widened the same way, so §9's "the binding file and the code agree" holds again; §15.18 notes both.
127- **S6-4 — P2, the cgo claims didn't match the Makefile. Fixed, then corrected again in Codex round 2 (S6-14):** README and PRODUCT.md say `CGO_ENABLED=0 make ci` and name `make race` and `make native-test`'s `callscore` sub-step as the two `CGO_ENABLED=1` cases that never ship; the native Mac and iPhone/iPad apps are named separately as the one place real cgo does ship (`MeetBridge`, linked by `MeetKit`), while server releases stay cgo-free.
128- **S6-5 — P2, the SMTP fallback description was backwards. Fixed:** README now says the platform supplies `CARLOS_SMTP_FROM` too, which `CALLS_SMTP_FROM` optionally overrides.
129- **S6-6 — P2, suite restatements remained under §0.2. Fixed, then completed in Codex round 2 (S6-15):** rows 3, 6, 9 and 15 cite section and ruling number only; the discussion-4 paragraph does too; the §5.2 paragraph, shortened but not emptied in round 1, is now the bare citation "Doctrine §5.2 is also relied on, for §2."; PRODUCT.md's actor sentence likewise; ruling 16's off-main provenance kept as before.
130- **S6-7 — P2, PRODUCT.md cited a section that denies native clients shipped. Fixed:** spec §8.4 gained a 2026-09-14 amendment recording the shipped milestone (`v0.1.0` at `9225ec2`) and the browser-approval handoff (`86ed9f3`); PRODUCT.md's two native-client citations now point at that amendment.
131- **S6-8 — P2, the shipped same-network sentence was missing from the README. Fixed:** the relay paragraph now quotes `join.html`'s floor sentence verbatim.
132- **S6-9 — P2, the route inventory undercounted confirmation pairs. Fixed:** PRODUCT.md now says "five destructive confirmation pairs"; spec §9 now says "every confirm page (five)".
133- **S6-10 — P3, Share's legacy behavior was omitted. Fixed:** README now distinguishes a legacy meeting's first Share (mints a new recoverable invitation alongside the old one) from every retrieval after.
134- **S6-11 — P3, "60 requests a minute" obscured the permitted burst. Fixed:** README and PRODUCT.md now say "one request a second sustained, with a burst of 60".
135- **S6-12 — P2, the canary creation command relied on undocumented app/account defaults. Fixed:** README's `instances create` now carries `--app meet --account oficina` and states the named environment bundle must already exist, created separately.
136- **S6-13 — P3, disposition coverage and external-state attribution were incomplete. Fixed, then completed in Codex round 2 (S6-17):** README and PRODUCT.md link to spec §15.18 as the disposition of record; the platform-124, no-Estilo-tag and credits-branch-canary claims are attributed to dated records. Round 1 left the production-promotion state itself (edge's served commit, the queued work) asserted as current fact in §15.18 and this record's own §3; both now attribute it to what `carlos channels` and `oficina/meet` discussions 11 and 14 showed on 2026-09-14, keeping "this slice changes documentation only" as the one claim checkable from the repository.
137
138**Codex round 2** (independent, static, scope `2a6eee4`): verdict
139**request changes** — four findings, S6-14 through S6-17, against
140round 1's own fixes; the other twelve confirmed fixed as claimed
141(table in the round's own report). All four applied in one commit
142(`.superpowers/sdd/2026-09-14-meet-slice-6-deploy/fix-wave-report.md`,
143round-2 section):
144
145- **S6-14 — P2, PRODUCT.md still claimed the native cgo bridge never ships. Fixed:** "three things run under `CGO_ENABLED=1`, none of them shipped" is now two — `make race` and `make native-test`'s `callscore` sub-step, both test-only — with the native Mac and iPhone/iPad apps named separately as the one place real cgo does ship (`MeetBridge`, a `native/apple/Package.swift` binary target `MeetKit` links, built by `native/scripts/build-mac.sh`), while server releases stay `CGO_ENABLED=0`. This record's own S6-4 line is corrected to match.
146- **S6-15 — P2, the guest-grant sentence was shortened, not removed. Fixed:** "Doctrine §5.2 is also relied on, for §2: a guest grant is stored, not asked for" drops its second clause — still a paraphrase of doctrine §5.2's grant authority — leaving the bare citation "Doctrine §5.2 is also relied on, for §2."
147- **S6-16 — P2, the widened scriptless exception left `AGENTS.md` behind. Fixed:** `AGENTS.md`'s two scriptless lines (the "Screens work with JavaScript disabled" rule and the UX-conventions sentence) now name the chat panel and admission controls alongside browser media participation, matching §9, README and PRODUCT.md; §9's own "the binding file and the code agree" is corrected to say when each half landed; §15.18 records the correction.
148- **S6-17 — P3, production state was asserted as current rather than attributed. Fixed:** §15.18's production-promotion bullet and this record's own §1 and §3 now attribute edge's served commit and the queued web UI work to what `carlos channels` and `oficina/meet` discussions 11 and 14 showed on 2026-09-14, rather than presenting it as established from this repository; "this slice changes documentation only" stays stated as fact, since the diff itself proves it.
149
150**Codex round 3** (independent, static, scope `cd02a59`): verdict
151**accept** — S6-14 to S6-17 closed, no new finding, "fit to merge as
152documentation of the code on this branch". Three rounds in all: 13, 4,
1530 findings.
154
155---
156
157## 3. Carried items, and where they go
158
159- **The acknowledgements page.** Discussion 10's branch
160 `feat-open-source-credits`, not yet on main. **Destination: that
161 branch's owner**; when it merges, the README's "Where things are
162 written down" section should gain the credits page's path (one
163 line).
164- **The Estilo theme tag.** No tagged release exists; the pseudo-version
165 pin stays until one does. **Destination: oficina/estilo.**
166- **The production promotion of main's head.** As observed on
167 2026-09-14 from `carlos channels` and `oficina/meet` discussions 11
168 and 14, edge was serving `651cff2` with discussion 14's web UI work
169 queued behind it — state as of that observation, not asserted as
170 current here. Main is at `9225ec2` plus this slice, checkable from
171 this repository: `9225ec2` changed native code only, and this slice
172 changes documents only. **Destination: Paul**, who promotes by hand.
173- **Unauthenticated flood control on `/api/v1`** (from slice 5).
174 **Destination: carlos/platform**, unchanged.
175- **Platform discussion 124** (`carlos canary` and the one-label host).
176 Open. The README carries the recipe that works. **Destination:
177 carlos/platform.**
178- **Spec §9's "four confirm pages" is five** (remove, takeover,
179 replace-link, end, revoke-agent). **Resolved in Codex round 1
180 (S6-9):** §9 now says "every confirm page (five)" and PRODUCT.md
181 says "five destructive confirmation pairs".
182- **Copy catalogue** (copy review waived): the README's and
183 PRODUCT.md's prose are the new user-facing text this slice adds;
184 neither is an app string. Nothing in `internal/calls/templates`
185 changed.
186- **The ledger's process note.** A writer's flag should become a task,
187 not a paragraph: two of the three task reports flagged the right
188 problems (W6-3, W6-6) in their "not corrected" sections and the
189 controller took them as recorded rather than as work.
190
191---
192
193## 4. Deploying this slice
194
195Nothing to deploy. No binary, migration, template, client or
196configuration changed. When main is next promoted, the README's
197Deploying section is the recipe, and the `carlos deploy` wait note in
198§1 applies.
199
200---
201
202## 5. The gates, and how to run them
203
204| Gate | Command | This slice |
205|---|---|---|
206| CI | `CGO_ENABLED=0 make ci` | Green on every commit of the branch; remote CI passed on `e684b97` and `c22cae7`. Markdown cannot fail it; it is run so the branch's head is known green. |
207| Race | `make race` | Not run: no change under `internal/calls/hub` or the stream. |
208| Browser | `make browser` (sandbox off) | Not run: no page, template or client file changed. The last run on a shipping head is slice 5's, 31 of 31 on `4f896c2`. |
209| Native | `make native-test` | Not run: nothing under `native/`, `callscore/` or `protocol/` changed. |
210