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

  1. 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.
  2. The cal-pipeline runbook is SUPERSEDED (atlas#10) — still labels the dead topology "PRODUCTION/GREEN". Rewrite pending (A6).
  3. Live: hooks.boas.dev/webhook/cal-booking* (proteus PR#17 f6571239) → n8n.srv908592meetings. Exact runtime = OPEN decision #96 — roadmap marks it open, does not pick.
  4. meet.boas.dev = CF Pages + 8×8 JaaS (hosted), live. Self-hosted jitsi.boas.dev never deployed; Phase 1/2 superseded.
  5. 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
IDStageStatusDateEvidence / board
A0cal.boas.dev self-host revive (Opt 1)shipped→sup2026-06-04metis-060 · scheduler-calcom-1 v6.2.0
A1Pantheon meetings target + cal_booking_writer RLS roledone2026-06-04metis PR#61 · 20260605_cal_booking_writer_role.sql · RS256 STANDBY
A2n8n receiver workflow (rebuilt)done06-06→06-08live JklF5eKPa4dyzSvb · #10
A3HMAC v2 edge shield (CF Worker)done2026-06-09PR#17 f6571239 · hooks.boas.dev · fail-closed
A4E2E green verificationverify2026-06-09synthetic 4/4 · #98 purge test row (OPEN)
A5Vaporware incident + clean rebuildclosed2026-06-08proteus#120 · athena AD-004 · rule #18
A6Runbook rewrite → clean topologyin-flightpendingsuperseded by atlas#10
A7Runtime-of-record decisionopen#96 / proteus-186 — gates A6, A8
A8Retire n8n-spoke-calcom personal reponot startedPROPOSEDafter A7 + pops sign-off
B meet.boas.dev Conferencing Phase 0.7 shipped · 0.8 in flight · self-host superseded
IDStageStatusDateBoard
B0.5DNS + CF Pages static frontdone2026-05-15#41, #48
B0.6JaaS pivot (8×8 hosted Jitsi)done2026-05-15#48 (metis-069)
B0.7Host/guest auth split · /me dashboard · lobby + JaaS key rebindshipped (PR#53)#55 · #56 · #57 (kid 78a48e)
B0.8Two-door smart entry + CRM gate · /api/meetings CRM joinin-flight#58 · #59 (join wired, PR#90 RO-grant)
B-x1jwt.ts server-side slug normalization (DiD)Class C#47 — heph + soak
B-x2fleet_services row meet-boas-dev-pagesblocked#49 — service_type enum ALTER (Class C)
B-sSelf-host Jitsi (P1) · Jibri+R2 recordings (P2)supersedednever deployed; decommission 06-08
C Forward Scheduling Vision defined · decisions open
IDCapabilityStatusDependsOpen decision
C1Session create/update of meetings* via scoped key (arc-closer)definedA1write path proven 06-04
C2Agentic E2E test harnessin-flightA3/A4metis fired e2e 06-09
C3Unified Supabase events SSOTdefinedC1metis-073 data-model fork
C4Supabase→CalDAV adapter (one-way, v1)definedC3
C5ICS feed publisherdefinedC3
C6Event-type taxonomynot started
C7Canonical-calendar research A/B/CresearchA=Cal.com locked · operator decides
C8Bidirectional CalDAV (phone→Supabase)v2C4
D Meeting Transcription Engine researching · gated
IDCapabilityStatusOpen decision / gate
D1Skynet + Jigasi bringup (Faster-Whisper + Llama-3.1-8B)researchmetis-051 GPU host (#10/#11)
D2Icelandic Whisper modelnot started
D3IS-LLM eval suitenot startedmetis-052 eval timing
D4Speaker diarization (pyannote, retro 522 transcripts)researchmetis-029 path
D5Consent flow designHARD GATEathena §6 Q5 — blocks prod cutover
D6Apollo notes companion viewnot startedseparate Apollo handoff
E Cal ↔ Meet Bridge the original ask · not built
IDCapabilityStatusNote
E1Per-booking meet.boas.dev/<slug> link generation on cal bookingnot builtCal.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
Canonical source: constellation-metis/.planning/SCHEDULING-CONFERENCING-ROADMAP.md · Board #8 Themis-PM (Metis) · Open: #96 runtime · #98 e2e-purge · #120 vaporware · Live shield n8n-spoke-pantheon-ops#17. Pending Metis ratification (P10). Forward dates are proposals (P11).