Themis-PM · Board #8 · Metis domain
Scheduling & Conferencing Suite — Canonical Roadmap
One SSOT for the cal.boas.dev booking pipeline, meet.boas.dev conferencing,
the forward scheduling vision, and the meeting-transcription engine. Consolidated from
scattered handoffs, devlogs, PRDs, the (now-superseded) runbook, and 66 board items.
Authored 2026-06-09 · proteus (wr-infra)
Status pending Metis ratification (P10)
Dates shipped=real · forward=PROPOSED (P11)
done
in-flight
defined
research
blocked / open decision
superseded
not started
⚠ Reality corrections the fragmentation hid
- The cal stack was decommissioned 2026-06-08 (vaporware incident
proteus#120, rule #18) and rebuilt clean. Old scheduler-n8n-1:5680 / n8n.boas.dev / receiver lTxsmeVLrV3TgMfT are dead.
- The cal-pipeline runbook is SUPERSEDED (atlas#10) — still labels the dead topology "PRODUCTION/GREEN". Rewrite pending (A6).
- Live:
hooks.boas.dev/webhook/cal-booking* (proteus PR#17 f6571239) → n8n.srv908592 → meetings. Exact runtime = OPEN decision #96 — roadmap marks it open, does not pick.
- meet.boas.dev = CF Pages + 8×8 JaaS (hosted), live. Self-hosted
jitsi.boas.dev never deployed; Phase 1/2 superseded.
- The cal → meet.boas.dev meeting-link generation does NOT exist — the original ask. Now tracked as Track E.
A
Cal.com Booking Pipeline
rebuilt-green · runtime decision open
| ID | Stage | Status | Date | Evidence / board |
| A0 | cal.boas.dev self-host revive (Opt 1) | shipped→sup | 2026-06-04 | metis-060 · scheduler-calcom-1 v6.2.0 |
| A1 | Pantheon meetings target + cal_booking_writer RLS role | done | 2026-06-04 | metis PR#61 · 20260605_cal_booking_writer_role.sql · RS256 STANDBY |
| A2 | n8n receiver workflow (rebuilt) | done | 06-06→06-08 | live JklF5eKPa4dyzSvb · #10 |
| A3 | HMAC v2 edge shield (CF Worker) | done | 2026-06-09 | PR#17 f6571239 · hooks.boas.dev · fail-closed |
| A4 | E2E green verification | verify | 2026-06-09 | synthetic 4/4 · #98 purge test row (OPEN) |
| A5 | Vaporware incident + clean rebuild | closed | 2026-06-08 | proteus#120 · athena AD-004 · rule #18 |
| A6 | Runbook rewrite → clean topology | in-flight | pending | superseded by atlas#10 |
| A7 | Runtime-of-record decision | open | — | #96 / proteus-186 — gates A6, A8 |
| A8 | Retire n8n-spoke-calcom personal repo | not started | PROPOSED | after A7 + pops sign-off |
B
meet.boas.dev Conferencing
Phase 0.7 shipped · 0.8 in flight · self-host superseded
| ID | Stage | Status | Date | Board |
| B0.5 | DNS + CF Pages static front | done | 2026-05-15 | #41, #48 |
| B0.6 | JaaS pivot (8×8 hosted Jitsi) | done | 2026-05-15 | #48 (metis-069) |
| B0.7 | Host/guest auth split · /me dashboard · lobby + JaaS key rebind | shipped (PR#53) | — | #55 · #56 · #57 (kid 78a48e) |
| B0.8 | Two-door smart entry + CRM gate · /api/meetings CRM join | in-flight | — | #58 · #59 (join wired, PR#90 RO-grant) |
| B-x1 | jwt.ts server-side slug normalization (DiD) | Class C | — | #47 — heph + soak |
| B-x2 | fleet_services row meet-boas-dev-pages | blocked | — | #49 — service_type enum ALTER (Class C) |
| B-s | Self-host Jitsi (P1) · Jibri+R2 recordings (P2) | superseded | — | never deployed; decommission 06-08 |
C
Forward Scheduling Vision
defined · decisions open
| ID | Capability | Status | Depends | Open decision |
| C1 | Session create/update of meetings* via scoped key (arc-closer) | defined | A1 | write path proven 06-04 |
| C2 | Agentic E2E test harness | in-flight | A3/A4 | metis fired e2e 06-09 |
| C3 | Unified Supabase events SSOT | defined | C1 | metis-073 data-model fork |
| C4 | Supabase→CalDAV adapter (one-way, v1) | defined | C3 | — |
| C5 | ICS feed publisher | defined | C3 | — |
| C6 | Event-type taxonomy | not started | — | — |
| C7 | Canonical-calendar research A/B/C | research | — | A=Cal.com locked · operator decides |
| C8 | Bidirectional CalDAV (phone→Supabase) | v2 | C4 | — |
D
Meeting Transcription Engine
researching · gated
| ID | Capability | Status | Open decision / gate |
| D1 | Skynet + Jigasi bringup (Faster-Whisper + Llama-3.1-8B) | research | metis-051 GPU host (#10/#11) |
| D2 | Icelandic Whisper model | not started | — |
| D3 | IS-LLM eval suite | not started | metis-052 eval timing |
| D4 | Speaker diarization (pyannote, retro 522 transcripts) | research | metis-029 path |
| D5 | Consent flow design | HARD GATE | athena §6 Q5 — blocks prod cutover |
| D6 | Apollo notes companion view | not started | separate Apollo handoff |
E
Cal ↔ Meet Bridge
the original ask · not built
| ID | Capability | Status | Note |
| E1 | Per-booking meet.boas.dev/<slug> link generation on cal booking | not built | Cal.com has no native self-host-Jitsi custom-domain (calcom #1847). Two paths: (a) Cal "Link meeting" static URL → room collision · (b) n8n-injected unique slug into meetings.meeting_url + invite (per-booking, uses A3 spine). meet.boas.dev catch-all /<slug> already renders rooms → any emitted slug works. Path decision required. |
Iteration mapping (for /roadmap-bootstrap on #8)
ShippedMay–Jun 2026 · real dates
A0A1A2A3A5B0.5B0.6B0.7
In-flightnow
A4 #98A6A7 #96B0.8B-x1C2
NextPROPOSED — needs operator dates
E1C1C3A8
Research / GatedPROPOSED — needs operator dates
C4C5C6C7C8D1–D6