Projects Portal — Real-Time Review & Roadmap (2026-08-01)
Projects Portal — Real-Time Review & Roadmap
Full document: PORTAL-REALTIME-REVIEW-2026-08-01.md at jbnx/jbnx.io repo root. This is the working summary.
Findings (verified 2026-08-01)
- portfolio.activity had ZERO writes since 07-28 — no producer. FIXED (Phase 0): triggers on claims/handovers/usage_events/deploy_checks/ceo_actions now emit activity; usage cost_usd auto-fills from model_prices; claims.project_id canonicalized (+163 backfilled).
- No push anywhere — realtime publication was empty; SPA polls at 60s. FIXED (Phase 1 DB): log_activity NOTIFYs portal_events. PENDING (PR): server GET /api/events (SSE) + SPA EventSource nudging refreshNow().
- Rewrite battles are a FILE problem: 333KB single index.html + hand-dropped public/framework/*.html snapshots. FIXED (Phase 3): portfolio.documents (append-only versioned) + POST /api/1099/document + /framework/<slug> served from DB with disk archive fallback. PENDING (same PR).
Remaining phases
- Phase 2: split SPA into public/js/panels/*.mjs modules; live tiles w/ 3-depth drill-down (tile -> project -> fine grain: verifications, guard runs, site checks, facts, lessons, usage).
- Phase 4: enforcement — close-out refuses silent-$0; CI blocks new files in public/framework/ and status edits to index.html; nightly pg_cron reconciler flags expired-unreleased claims, stale handovers, zombie projects (full-stack, automation, fedm8-llc, ceo-desk: 96 tasks, 0 done).
- Phase 5: extract hi.jbnx.io to its own service (or cache directive stale-on-error); 2nd replica after SSE.
Rules honored
Claims untouched. All work claim->boot->work->verify->usage+status->release. DB-first standing rule in boot facts (global + per-slug) since 2026-08-01.