Voyage Roadmap

At-a-glance index of every Voyage workstream and its Ralph orchestration progress.

Updated 2026-06-08 · 3 Ralphs — Events feedback Ralph — ★★ sample-data code purge COMPLETE (all 5 areas + #72 deployed + live across 3 tenants; tails = live-D1 Aperture deletion in #70 + worker flags #74) · Studio/JB (holding — bug-fix loop cleared: integrations, Team&roles, create-screen skip, staff-pages gate all live L20–L23) · Fleet (holding — tenant-normalization queued). Active back-buffer below. · 4 live tenants
Workstreams

Events Studio

In flight

Voyage's events authoring + operator workspace. Currently in Polish-7 (simulator realism + operator QA feedback).

Polish 4 Polish 5 Polish 6 Polish 7
Live: events-in-studio.vxge-aperture.porivo.com

Fleet Management

Live

Operator dashboard + system-of-record for all Voyage tenant deployments. Live; federation Phase 2 + super-admin console build-out still open. 2026-06-08: Fleet admin 502 diagnosed + FIXED (admin-identity worker was missing the shared service secret → synced into both workers + reset the super-admin password; /v1/admin/summary 200); all 3 new tenants registered (16 total); Meridian edge-session fixed; and a ★ auto-register hook now self-registers every new deployment in the control-plane (live-verified idempotent: re-register Meridian → stays 16, no dup/FK). The ★ identity-architecture revisit (central super-admin IdP + per-account SSO federation, instead of injecting creds per tenant) is signed off (OIDC-first, central IdP at voyage-idp.porivo.com, Fleet-owned SSO config, cutover excludes JimWorld/NickWorld) and Phase 1 is building now — adding OIDC-provider endpoints to the central fleet/admin identity. Additive: no tenant login changes yet. North-star: Fleet grows into the super-admin console — a union of the JRNI Super-Admin Portal design + Voyage-specific controls (per-tenant module composition, provisioning, SSO federation, drift). Visibility is live today; the provision/deploy controls are the build-out (internal end-to-end est. late this week).

Build A–G 502 fixed super-admin SSO (aperture/jw/nw/meridian login) tenant registry 16 Meridian Studio live auto-register hook (live-verified) federation design signed off federation Phase 1 — central OIDC IdP live (voyage-idp.porivo.com) accounts filtering — 100 default + suspended-hidden (live-verified) federation Phase 2 queued
Live: fleet.porivo.com · api · auth
Platform-admin logins (fleet.porivo.com · central admin identity): All three verified live (login → /v1/admin/summary 200). Jim/Nick were platform_admin but credential-free (migration 0024 miss) — passwords seeded 2026-06-08.

Coord

Shipped

Mobile + desktop day-of coordinator surface. v-next design polish + guest ticket-type deployed 2026-05-31 (commit 495cecb4, Pages 2c9dbcd7) — feature markers grep-confirmed in the live bundle.

Initial build Design refresh Bug widget v-next polish Ticket-type
Live: coord.vxge-aperture.porivo.com

Demo One

New tenant · in flight

Generic demo tenant (appointments + queuing). Rebranded from "Golden 1" on 2026-06-12 following Cloudflare report 6d929a10b7d389d1 (trademark complaint). All Golden 1 Credit Union branding permanently removed. New hostnames: studio.demoone.porivo.com · coord.demoone.porivo.com

Phase A — scaffold Phase B — bones Phase C — Studio to design
Planned: studio.demoone.porivo.com · coord.demoone.porivo.com

JimWorld / NickWorld feedback

Triage · root-causing

Forensic triage of Jim's Studio / Journey Builder feedback on studio.jimworld.porivo.com. 16 issues reproduced + root-caused with Playwright against the live UI, then queued. No fixes land yet — these touch the shared Voyage core repo the Coord redesign is actively changing, so this runs read-only until Coord settles. Jim's thread is pulled every loop; new issues append automatically.

Triage 16 issues Forensic root-cause Implement (after Coord settles)
Surface: studio.jimworld.porivo.com

Studio / Journey Builder

Live · active backlog

The canvas-first WYSIWYG Journey Builder inside Studio — appointments · events · walk-in queues. Deployed + live on Aperture. Every operator-reported issue from this run is fixed, deployed, and live-verified: filter pills now list/filter all formats; events save with no staff host required; the eye icon is preview (not unpublish); booking links are now public customer pages (Staff pages) rather than studio-edit links; templates render in flex/grid layout. Latest (2026-06-08, deployed + live-walked across all 4 tenant studios): (1) ★ studio-shell now bounces unauthenticated users to login — the fake "Studio" placeholder user is gone; (2) staff/employee landing pages publish to a public host — meet.vxge-aperture.porivo.com/<employee> renders a clean public booking page (no studio chrome).

v4/v5 catalog + create-flow multi-format lifecycle visual sweep ≥80 concurrency guards filter pills host-less event save layout templates eye = preview staff pages (public links)
Live: studio.vxge-aperture.porivo.com

Tenants / Deployments

4 live

Voyage deployments (cross-sections of platform modules, not forks), all on the personal Cloudflare account + GitHub as peers of voyage-aperture. Fleet is the system of record — registry at 16, new deployments self-register. All four tenant Studios are live (login [email protected]):

Fleet shows 16 tenants. JW/NW were broken deployments (unseeded identity → 401s; hardcoded Aperture tables → 500s) — fixed (identity seeded, events-worker fix, catalog schema). Coord now deployed + tenant-isolated on all 3 (Aperture/JimWorld/NickWorld; each sees only its own locations). JimWorld create→publish regression passes LIVE.
Open work & validation backlog (honest)

🌙 Tonight's build plan + the testing trust contract

Sequenced

Operator 2026-06-08: stop declaring testing "complete" with untested swaths. The fix is a machine-checked coverage gate, not a promise.

The trust mechanism (coverage gate) Sequenced on the single voyage build slot (one Codex at a time)

★★ Sample-data purge — NO hardcoded data arrays anywhere (deep scrub)

✅ Code purge complete (3 tenants)

Operator 2026-06-08 (hard mandate): the platform must NOT ship sample-data arrays / hardcoded "bags of strings". Everything renders from a live database; empty/loading state when no data — never fake. The bank staff leaking into Jim/Nick's accounts was one symptom.

Deep-scrub audit complete (2026-06-08): the read-only audit found 104 findings — 56 CRITICAL · 25 MODERATE · 23 LOW. It's platform-wide, not one fallback. Cleanup runs serially through 5 areas (each Claude deploys + live-walks):

Area 1 — Studio App.tsx SAMPLE_* fallbacks done + live (Aperture; 0 sample markers) Areas 2–5 — queued (serialized on the voyage slot)

Each area completed gets marked here. Full finding table in the audit artifact (task #71).

✅ Shipped — Studio Settings (Team & roles + integrations)

Deployed + live (3 tenants)

✅ Shipped — JW/NW staff-pages gate (JB L23 · #69)

Deployed + live (3 tenants)

Public landing pages — validation matrix

Partly validated

★ Aperture → FULL-STACK event-planning org (events + appointments + queues)

Building now (Phase 1)

Operator 2026-06-08: Aperture is a full-stack event-planning org — runs events, takes appointments (planners w/ availability), AND has walk-in queues. Building now: flip Aperture to event,appointment,queue + seed real planning data + purge bank/salon placeholder (absorbs the Area-4 live-D1 deletion). Manifest already composes booking/coord/events; services tables exist.

Queued — tenant-normalization & design-first

Queued
Reference

Events Studio — per-turn detail

Detailed

Per-turn detail of every Polish-2 phase: turn-by-turn inbox, cumulative gate, operator-direction timestamps. The events-studio session republishes this on every oversight pass.