Changelog
320releases across 5 months
Every PAPI release, cycle by cycle. Each one pushes back against project drift.
Get started freeApril 202618 releases
- CRM priority field, source filters, design brain assets, and data-proxy display_id fix
- Guard onboard redirect with window.location check — avoid SSR/hydration issues
- Skip project redirect on public pages — /landing was redirecting to /onboard
- Cycle explainer — interactive Plan/Build/Review/Learn walkthrough
- Pre-auth interactive intake — situation/tool/project stored in localStorage
- Add validation warnings to setup apply — surface phase/AD seeding failures
- Remove setCycleHealth write path — boardHealth/strategicDirection are computed, not stored
- EnsureProject creates new project when name is provided — fixes multi-project creation
- Validate cycle_number on plan apply — reject mismatch with prepare instruction
- Null-safe date sort in board_view — handle Date objects from postgres.js
- Aspirational teasers — show sample data previews for Analytics, Strategy Reviews, Portfolio sections
- Guided setup steps — in-dashboard project details + AI tool connection + first cycle teaser
- Add "New Project" flow for returning users — dashboard button + multi-project support in proxy
- Add intelligent empty states with actionable guidance across dashboard
- Setup experience audit — external user FTUE findings
- Add isNewProject detection + conditional dashboard rendering
- Add 'What You Get' deliverables section to landing page
- Update empty state to remove deprecated .papi/ path reference
- Mine dogfood data for quantified value claim (landing page copy prerequisite)
- Replace deprecated .papi/ references in empty state copy
- Strategy review write-back sentinel bug + npm publish permissions
- Add
source field to cycle_tasks: structured provenance tracking for all tasks
- Fix data isolation bug — analytics showing wrong project data for new users
- Board_view default sort shows oldest tasks first — backlog checks waste context reading Done tasks instead of active items
- Transfer "Detect Strategic Decisions in Conversation" section into prompts.ts — external LLMs miss direction changes
- Strengthen post-write verification — verify task count matches expected handoffs
- Add GitHub Actions CD for Edge Function deployment
- Fix Duration metric — fall back to created_at when start_date is null
- Add cycle integrity checks — multi-active, ghost, orphaned
- Strengthen bug handoff template with reproduce/root-cause/fix/regression sections
- Add
spike task type with planner instructions for time-boxed investigation
- Add spike task type with time-boxed investigation template
- Make bootstrap prompt project-agnostic
- Correct stage position reporting — case-insensitive status, prefer lowest sort_order
- Add explicit type param (task/bug/research/spike)
- Hero copy refresh, dark login page, UI polish
- 3 bugs blocking external users — plan apply, AD upsert, createCycle
- Hub UI density pass — hero, carry forward, board cards
- Ad_hoc transitions In Progress tasks to In Review, add submitBugReport to proxy
- Lazy-load below-the-fold sections via IntersectionObserver
- Parallelize context assembly DB reads
- Add diagnostic bug report mode for cross-project issue reporting
- Surface pending recommendations in review close-out
- Add next/image remote patterns for GitHub avatars and Supabase
- Convert landing screenshots to WebP + use next/image
- Extend API cache TTLs to reduce Vercel bandwidth
- Add support-debug skill for external user issue diagnosis
- Handle double-encoded JSONB in proxy adapter and build-handoff serializer
- Fail-closed on Supabase unavailable + harden middleware public paths
- Fix 28 data-proxy bugs + add automated parity test
- Null-safe totalCycles in plan context assembly
- Harden multi-user data isolation across all API routes
- Prevent cross-user data leak on dashboard
- Complete planWriteBack rewrite to match pg adapter
- PlanWriteBack health updates wrote to wrong columns
- GetContextHashes queried non-existent table
- Human_reviews table doesn't exist — correct to reviews
- Add deploy:edge script with --no-verify-jwt baked in
- Deploy Edge Function with --no-verify-jwt
- Unblock external users from running /setup
- Handle re-onboarding when API key is lost
- Apply responsiveness fixes to main
- Add growth loop signals strip to Cycle Learnings
- Add ARIA attributes to 4 interactive components
- Migrate all codebase references from papi-web-three.vercel.app to getpapi.ai
- Surface actionable error messages for proxy auth failures
- Apply semantic colours to stat values per .impeccable.md
- Enforce 4-role typography system from .impeccable.md spec
- Enforce 4-role type system per .impeccable.md spec
- Replace hardcoded hex colours with CSS variable tokens
- Mobile landing page has horizontal scroll and misaligned header buttons
- Add overflow-hidden to hero section to prevent glow div horizontal scroll on mobile
- Defensive optional chaining + status string fixes, add frontend polish audit doc
- Move Edit beside status badge, tighten spacing
- Fetch structured build report from build_reports table
- Semantic build report colors, scrollbar styling, overflow fix
- Discovery table + panel quality fixes
- Click discovery row to open build report in side panel
- Right side task detail panel — design overhaul: fix triple scroll bars, spacing, information hierarchy
- Design overhaul — single scroll, collapsible sections, de-emphasized edit
- Time Machine: layout and UX polish — full width, velocity label, SR overlay, responsive resize
- Layout polish — taller velocity strip, Cycles label, active SR highlight
- Hub: "What We Discovered" section — restructure as table with Type / Cycle / Task / Detail columns
- Restructure "What We Discovered" as 4-column table
- Skip rate limiter in dev to unblock Playwright testing
- Add project management to settings — list, copy IDs, delete
- Redirect email sign-in users to onboard if no projects exist
- Validate proxy API key + project at MCP startup
- Prevent duplicate project creation in onboarding
- Fix all data-proxy field mismatches blocking external users
- Rename sprint_number → cycle_number in data-proxy
- Add GitHub repo URL picker to onboarding wizard
- Update landing page screenshots to dark mode with correct feature sections
- Update landing page carousel to dark mode with correct feature sections
- Sweep orphaned pending strategy recommendations on review prepare
- Filter ghost AD recommendations before writing to strategy_recommendations
- Surface error when strategy_review apply receives malformed JSON
- Fix all data-proxy field mismatches blocking external users
- Rename sprint_number → cycle_number in data-proxy
- Update landing page screenshots to dark mode with correct feature sections
- Update landing page carousel to dark mode with correct feature sections
- Sweep orphaned pending strategy recommendations on review prepare
- Filter ghost AD recommendations before writing to strategy_recommendations
- Surface error when strategy_review apply receives malformed JSON
- Auto-provision project on first proxy connect
- Branch onboarding path — new project vs existing codebase
- Surface project health score badge on Cockpit hero
- Compute composite project health score in orient — velocity, estimation, AD confidence, review cadence
- Add PRE-MORTEM section to BUILD HANDOFFs — planner predicts top risks from module build history
- Resolve merge conflict with (identical cwd fallback change)
- Replace papi.ai with current landing page URL
- Orient detects unrecorded commits and prompts ad_hoc capture
- Npm README with 30-second value prop and install-to-first-cycle path
- Auto-detect PAPI_PROJECT_DIR from cwd in init tool
- Fix duplicate key error when creating task via UI — display_id generation race condition
- In-terminal welcome message when server starts with no project
- NPM-first landing page, 2-step onboard wizard, claude mcp add support
- Fix setup blocking new proxy users + remove misleading GitHub guidance
- Time Machine — interactive cycle archaeology visualization
- Add depth limit and symlink guard to scanDir in build.ts
- Add confirmed/resolved to ActiveDecision outcome type union
- Auto-register docs in build_execute pipeline
- Scope cycle badge to Backlog tasks only
- Fix AD outcome field — set confirmed/revised/resolved/superseded on strategy review
- Update landing page screenshots with Cycle 188 data
- Planner already-built check with codebase cross-referencing
- Planner respects pre-assigned cycle tasks
- Plan tool handoffs_only flag — skip selection, generate handoffs only
- Carry-forward forced resolution after 3+ consecutive deferrals
- Increase landing page side nav label font size from 10px to 12px
- Backlog priority auto-recalibration — priorities are set at submission and never updated
- BUG: Board task cards don't update in real-time — require page refresh to reflect status changes
- Harden admin check — use Supabase user UUID from .env instead of username matching
- BUG: Silent project creation failure in onboarding lets user advance with no PAPI_PROJECT_ID in config
- BUG: API key rotated on every GET /api/auth/onboard call, invalidating downloaded .mcp.json