When something goes wrong, PAPI now tells you what and why
- When a connection fails, PAPI tells you the actual reason and the one thing to do about it, instead of guessing that you skipped sign-in.
- Project analytics show that project's numbers; some pages were quietly reporting totals from across every project.
- Links inside a project stay inside it, so Decisions, Roadmap and Time Machine no longer drop you into a different project.
- After three failed attempts on the same task, PAPI stops and asks you how to proceed rather than trying again the same way.
Full detail
- Reconcile 10 audited migration names into BASELINE_GAP_NAMES
- Add a loop-detection → Decision escalation primitive with guidance-injection on retry
- Connect failures are invisible — record post-auth project-resolution failures and surface the reason in the connect stall escalation
- Revoke anon EXECUTE on is_project_member/is_project_writer
- Doc_register must make the doc durable, not just index it — commit untracked doc bodies at registration
Everything waiting on you now lands in one place on your hub
- One card on your hub collects everything waiting on you, instead of the same signals scattered across three separate places.
- Switching cycles on the board keeps you inside your own project instead of bouncing you out of it.
- Buttons and status colours across the dashboard hold their contrast properly, so nothing important is hard to read.
- The runbook your assistant reads to install PAPI now leads with what PAPI does for your project, not with what PAPI is.
Full detail
- Lock one outcome-led tagline across every public surface
- Consolidate scattered hub attention surfaces into one aggregator with full cross-cycle signal coverage
- Enforce AD-81 on /forgot-password and /reset-password — document the dormant recovery flow, do NOT delete
- C352 ladder fallout: CTA fill contrast, hardcoded dashboard hexes, stale doc-styles contrast analysis
- Repair the Vercel burn fetcher — date window and unit matching
- Correct Railway burn figures — price usage units, snapshot daily flow
A rebuilt landing page and demo, first-run guidance, and cleaner settings
- The getpapi.ai landing page is fully rebuilt, with a self-playing plan, build, review, release loop and a live on-the-record decision board.
- The product demo at /try is now a side-by-side walkthrough: type a command on the left, watch your hub react on the right.
- First time you open your hub, quick pointers show where your decisions live, that tasks expand on click, and how to fill your backlog.
- Your settings are split into clear sections (account, projects, keys, feedback), so finding what you need is faster.
Full detail
- Cycle 351 — Core: hosted-path integrity + SECURITY DEFINER hardening
- Cycle 351 — Dashboard: coachmarks + Ops-console/settings IA consolidation
- Gate completeBuild active-task-scope clear on hasLocalWorkspace
- Consolidate dumping-ground pages: merge /admin + /admin/activation into one badged Ops console; split 1400-line /settings into concern sections
- Stop canonicalising public /docs/* pages into the project scope
- Lightweight in-hub coachmarks for first-time users (decisions, task-expand, backlog) — NOT a full-screen bloom
- Proof board reads as a showcase + rename Wes attribution
- Leaderboard cycles never rest at 0 on mobile
- Compact 2-col leaderboard + mobile composition pass (v7.2)
- Leaderboard as two columns, name links to the live site
- Pain beat v7.1, the sideways hourglass
- Checkpoint(landing): v7 partial (agent interrupted) + final leaderboard roster + v7.1 spec
- Redesign /try as chat-left / hub-right, dark canon
- CRM has no per-touch history — every outreach past the last one is lost to a notes blob
- V5+v6 — pain beat resolves through PAPI, vertical-space law swept page-wide
- Delete ~500 lines of unreachable Contacts/Accounts render blocks in the owner-actions page (dead since repointed contacts to /crm)
- Build checkpoint write/read/clear not gated on hasLocalWorkspace() — hosted multi-tenant cross-tenant collision risk
- Remove the StartupBar widget from the landing route
- The record beat runs on real data and gains the decision track
- Polish(landing): precision pass — one container system, one gutter clamp, proof links to benchmarks
- The record beat — every decision, on the record, staged as the live hub
- Ecosystem strip restored at the hero's close
- The loop gets its depth back — pain-killer plus three capabilities per station
- Pain beat made legible — every label owned by its strand
- Living close — verdict arrives, toggles choreograph, proof compacts
- The three set-pieces — drift fray, live vignettes, the cycle ring
- Hero v2 — the orient moment replaces the full board
- Proof, tightened pricing, the imperative close, and the 7-beat mount
- Visual-led middle beats — pillars, loop, strategy, control
- Word-led hero and pain beats from the locked story
- Governance beat — decision trail, tracked and revisable
- Revert(landing): scrap hero experiments, restore original hero
- Replace hero AmbientCard with self-playing Plan→Build→Review→Release loop
- Hero rebuild 3 — self-playing AmbientCard, no chat, stripped fold
- Make the hero board a living chat->board demo + drift purge
- Surface /admin/burn from the admin landing — it was an orphan (no in-app link)
- Rebuild getpapi.ai landing — 11 bands to 6 real-surface beats
- Live $/hr burn + est-cost-today with honest provenance labels on admin/burn