Changelog
388releases across 7 months
Every PAPI release, cycle by cycle. Each one pushes back against project drift.
Get started freeApril 202618 releases
- 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
- Admin: Per-user drill-down
- Admin churn signals, CRM contact on signup + auth hardening
- Correct null-email dedup in syncNewUsersToCRM, drop redundant ownerProfileId alias
- Trim OWNER_USER_ID in all API route UUID comparisons
- Trim OWNER_USER_ID in middleware UUID comparison
- Debug: expose ownerUserId and trim whitespace in /api/auth/me
- Debug: expose userId in /api/auth/me to verify OWNER_USER_ID
- Derive isOwner from Supabase session in /api/auth/me
- Admin: New user alert badge on sidebar nav
- Update briefs page — fix NaN and full width
- UUID-based owner verification, block ops routes server-side
- Add missing description column and per-user slug uniqueness on projects table
- Add reproducible live demo script
- Add Project Overview tab to Briefs page
- Resolve admin Forbidden for Google OAuth users
- Update Get Started CTAs to link to /onboard instead of /setup
- Reduce plan context size via conditional instructions + extended hash-diffing
- CRM contact & outreach tracker
- Operator task submission form at /requests
- Portfolio heartbeat — In Review count, 7-day stale threshold
- Release → content brief page at /briefs
- Show latest git tag in orient header