PAPI
InstallToolsChangelogDiscord

Changelog

Every PAPI release. What shipped, when. 226 releases across 2 months — each cycle moves the methodology forward.

April 2026 · 95 releases

v0.250.0

  • 7e61edf9 feat(cycle-250): merge shared cycle branch — dashboard (#796)
  • 414c6f88 feat(cycle-250): merge shared cycle branch — core (#795)
  • b475c970 research(task-1513): token tracking via Claude Code JSONL session logs (#794)
  • 5b2c93a7 chore: cycle 249 dogfood entry — multi-project UX + carry-forward + telemetry rescue

v0.249.0

  • 327b2dbc chore: cherry-pick task-1612 drop migration onto main
  • f74defcf feat(cycle-249): merge shared cycle branch — infrastructure (#792)
  • 8ec3bfaa feat(cycle-249): merge shared cycle branch — dashboard (#791)
  • f54431ef chore(task-1538): commit remaining changes before branch switch
  • 0e31a57e chore(task-1635): commit remaining changes before branch switch
  • 44861054 Merge pull request #790 from cathalos92/feat/task-1538
  • cd126782 Merge pull request #788 from cathalos92/feat/task-1635
  • 36d06785 Merge pull request #787 from cathalos92/feat/task-1638
  • f74ab058 feat(task-1538): Gestalt pre-build check — read cycle as a whole before first build_execute
  • 0dbee5ab fix(task-1635): point second-project init at /hub Add Project flow instead of /setup
  • 176c20b9 fix(task-1638): surface squash-merge errors + pre-flight guard for no-gh environments
  • 281d9414 fix(orient): parallelize health queries + deduplicate build reports fetch
  • ddf1dabb feat(docs): public docs site — install guide + tool reference + nav cleanup
  • 9f2b371e fix: branch detection + auth trim + release guard improvements
  • 36968307 Merge branch 'feat/cycle-242-marketing'
  • 62d2af73 Merge branch 'feat/cycle-242-infra'
  • 52f9f130 Merge branch 'feat/cycle-246-core'
  • d01d72de Merge branch 'feat/cycle-247-server'
  • 1a34a22f Merge branch 'feat/cycle-247-onboarding'
  • 4b983dc7 Merge branch 'feat/cycle-248-data-proxy'
  • 46666342 Merge branch 'feat/cycle-248-dashboard'
  • 864abee0 Merge branch 'feat/cycle-248-core'
  • 80a6903e Merge branch 'feat/cycle-248-auth'
  • 77b7d826 Merge pull request #763 from cathalos92/fix/external-onboarding-hardening
  • 8ea500d1 Merge remote-tracking branch 'origin/main' into fix/external-onboarding-hardening
  • f958b433 fix(task-1577): runtime self-host guard for shell DATABASE_URL leak (#770)
  • 38313334 fix(dashboard): replace project switcher select with bounded popover (#783)
  • e01bb713 chore: cycle 248 dogfood entry — AD-28 activation chain + git opt-out + coherence check
  • b4224783 feat(task-1594): /admin/activation scoreboard — six-metric funnel view (AD-27)
  • 5cf47d54 fix(task-1628): require PAPI_ADAPTER=pg when DATABASE_URL is set
  • fe87d495 feat(task-1627): add /docs/install public route — fixes dead --help link
  • e2bd35f9 fix(task-1611): preserve SQLSTATE code in proxy error path
  • fb2336ff fix(task-1581): user_profiles backfill migration + orphan alert on orient
  • dea36402 fix(task-1610): guard null task.title across build path + data-proxy
  • c0f38122 feat(task-1629): release server guard — block release when cycle tasks not Done/Cancelled
  • 139c5c79 feat(task-1598): auto-append .mcp.json to .gitignore on setup in git repos
  • 49499ad9 feat(task-1597): warn users to gitignore .mcp.json after API key generation
  • d7e6b5ba feat(task-1551,task-1552): arrival surface — recommendation pill + welcome letter
  • efa66d4b feat(task-1529): doc action-item scanner
  • 2082885c fix(adapter-pg): add pgcrypto extension + throw on schema-creation failure
  • 2be3fc5f docs: remove self-hosted Supabase path from external onboarding docs
  • 9b6e3a87 docs(task-1526): MCP directory listing audit + correction plan
  • 838da58b feat(task-1518): name lock — Adaptive across forward-facing surfaces
  • 9873322f test(task-1527): CI parity guard for api_keys.last_used_at write
  • 4f84ff40 feat(task-1525): diff-aware lint-staged — only block on errors touching staged lines

v0.248.0

  • 6826cbcc feat(cycle-248): merge shared cycle branch — dashboard (#786)
  • ff346294 chore: remove vestigial GuidedSetup fallback from hub new-project state
  • 5bb8a83d feat(task-1589): hub setup checklist widget — activation steps with DB-derived state (AD-28) (#785)
  • 29d58c83 Merge pull request #784 from cathalos92/feat/task-1588
  • 778a68f2 docs: rewrite llms-install.md for hosted flow + add OpenCode support
  • 1583c887 feat(task-1588): collapse setup wizard to 3-minute path (name → API key → MCP config)
  • 6d2ef8fd fix(hub): make '+N more' pill a full clickable link to board
  • 665c8eb9 chore: cycle 247 dogfood entry — AD-29 chain + Wes prod recovery

v0.247.0

  • 3db85932 Merge pull request #782 from cathalos92/feat/task-1586
  • ccaa5af5 feat(task-1586): scope_brief MCP tool — decompose brief-class tasks into scope docs
  • 405673c9 Merge pull request #781 from cathalos92/feat/task-1585
  • 730ff8f9 feat(task-1585): add scope_class to cycle_tasks — task vs brief distinction (AD-29)
  • aac18623 docs: add C245-246 research docs (Wes feedback, hierarchy spec, talk notes)
  • bd14643e chore: cycle 246 dogfood entry — FTUE arrival + activation bug-fixes

v0.246.0

  • 1557cc0c fix(cycle-246-mcp-server): orient ad_hoc suppression on fresh projects (task-1604) (#780)
  • 2d289c25 feat(cycle-246-dashboard): hub arrival pair (task-1551 + task-1552) (#779)
  • b830a8b9 feat(task-1529): doc action-item scanner (#778)
  • 87ce709b Merge pull request #777 from cathalos92/feat/task-1522
  • 0d5ca380 feat(task-1522): sub-agent dispatch for plan and strategy_review
  • b843fbd1 fix(bootstrap-project): insert projects row before writing .mcp.json
  • 27cd95c0 fix(task-1573): tighten init guard for partial-onboarding state (#775)
  • 1b7251de fix(task-1575): build workspace packages before CI tests (#774)
  • f4fba730 fix(data-proxy): resolve 500 on orient for user innateiq (#776)
  • 801dd532 fix(ci): handle bare-array JSON shape from supabase db query
  • 1e3d4025 docs(CLAUDE.md): tier PR review by risk
  • c7cf6daa chore: cycle 245 dogfood entry — distribution hardening

v0.245.0

  • 6bfb5da5 feat(task-1572): require manual workflow_dispatch + tag input for npm publish (#773)
  • 8d758fa5 feat(cycle-245-core): structured error wrapper + scoped CI lint policy (#771)
  • 3d6592fe feat(cycle-245-onboarding): self-host guard, wizard gate, settings snippet, FTUE spike (#772)
  • a14d0105 feat(cycle-245-onboarding): FTUE install cliff — three surgical fixes (#768)
  • 02ad2ed1 Merge pull request #769 from cathalos92/feat/task-1570
  • 4aab75c6 fix(task-1570): get CI lint green - simplest viable path
  • 08dce6e1 fix(SUP-2026-004): hoist plannerTasks declaration above doc-intelligence block (#765)
  • 33e95b7d chore: cycle 244 dogfood entry — FTUE wizard trio + skill detection

v0.244.1

  • 4fc7e9ae C244 follow-up: FTUE wizard trio (task-1546, task-1547) — orphaned by v0.244.0 release (#767)

v0.244.0

  • 89a9c03c Merge pull request #766 from cathalos92/feat/task-1548
  • bb4f2a4f feat(task-1548): detection over interrogation — auto-propose Claude Code skills on first orient
  • 2a7cccd2 Cycle 244 MCP Server: drift bugs + CI migration guard (5 tasks) (#764)
  • 48944602 fix: build report cards no longer pad to row max-height when collapsed
  • 1b11b028 chore: cycle 243 dogfood entry + planner module-classification rule (task-1555)

v0.243.0

  • baac301e Cycle 243 MCP Server: cycle_learnings scoping (task-1542) + orient discovered-issues clarity (task-1509) (#759)
  • eef939d8 fix(task-1512): mobile hero + nav polish on landing (#760)
  • ca4c6a43 docs(task-1510): document raw SQL project_id scoping rule (#761)
  • fdd41e04 Merge pull request #762 from cathalos92/feat/task-1533
  • 3a048505 fix(task-1533): align getActiveStage filter with stages CHECK constraint
  • 991ac44e Merge pull request #758 from cathalos92/feat/task-1532
  • 43b893ef feat(task-1532): deploy parity-aligned get_plan_context() SQL function
  • 7290bcb4 chore: drop unused NEXT_PUBLIC_LANDING_V2 flag and motion package
  • 37b23ada fix(plan): make apply cycle_number contract match prepare-phase header
  • 48978336 docs(dogfood): cycle 242 entry — research-to-action pipeline + handoff drift learning

v0.242.0

  • a8bc9c61 feat(cycle-242): merge shared cycle branch — mcp-server (#757)
  • a621cc15 Merge pull request #756 from cathalos92/feat/task-1528
  • 5a072104 fix(task-1528): orient surfaces doc_action_promote alongside Research Signals
  • 6638ea5f feat(task-1528): research-to-action pipeline — doc_action_promote + soft-warn surfaces
  • 93af73dc docs(c241): positioning/cost-model updates + landing v3 playgrounds
  • 3938e87b Merge pull request #755 from cathalos92/feat/task-1519
  • 537246eb feat(task-1519): pricing pre-conditions doc — activation gates before price
  • 5f6f8b0f docs(c241): positioning reset + star-map identity + ab-test brief
  • 96bf6417 docs(dogfood): cycle 241 entry — convention migration + rescue-merge learnings
  • bcbc5310 Merge pull request #754 from cathalos92/rescue/cycle-241-cherrypick
  • b1d20cf3 feat(task-1508): activation observability convergence
  • 9deaa9b8 feat(task-1507): /setup security & UX hardening

v0.241.0

  • b9eb9cec Merge pull request #753 from cathalos92/feat/task-1489
  • 51a7150f feat(task-1489): Next.js 16 middleware → proxy convention migration
  • 7f785786 feat(task-1489): migrate middleware.ts to proxy.ts (Next.js 16 convention)
  • 8a0cf2d2 fix(landing): make sticky nav always translucent to fix mobile overlap (task-1511) (#752)
  • 7c5fe983 docs: backfill C240 changelog + dogfood entry
  • d23361e0 fix(admin): surface /admin/activation in Ops nav + show user identity (#749)
  • 226f7d8f feat(task-1504): Dev-mode bypass for rate limiter when SKIP_AUTH=true (shared-IP fallback pitfall) (#751)
  • 7c9837a1 feat(cycle-240): dashboard — magic link, auth refactor, MCP detection, brief viewer, limit messaging (#750)

v0.240.0

  • c26230e0 docs(dogfood): cycle 239 entry — backlog-reduction batch throughput push

v0.239.0

  • a87bd2ad fix(task-1474): backfill strategy_reviews.user_id — remove null RLS escape hatch (#748)
  • aa84e22b feat(cycle-239): dashboard — admin nav + rate-limit bypass (#747)
  • 7949918c feat(task-1485/1490): MCP server fixes — Deferred count + grouped cycle branch auto-merge (#745)
  • bb337f78 feat(task-1497): GitHub OAuth re-consent notice on /settings (#744)
  • 13037fb1 Merge pull request #746 from cathalos92/feat/task-1486
  • 97f2b6b7 feat(task-1486): enhance discovered_issues → backlog auto-triage
  • 9d9e94b3 docs(dogfood): cycle 238 entry — FTUE return-user arc complete
  • 0228fb23 Merge pull request #743 from cathalos92/feat/task-1295
  • 81575803 Merge branch 'feat/task-1295' of https://github.com/cathalos92/papi-ui into feat/task-1295
  • 2701196c Merge remote-tracking branch 'origin/main' into feat/task-1295
  • 26a8e2f4 polish(task-1295): softer strategy copy + P1-only priority test
  • a2ae4579 feat(task-1295): direction confidence layer on /hub

v0.238.0

  • 012f105c Merge pull request #742 from cathalos92/feat/task-1491
  • c5575ebf Merge remote-tracking branch 'origin/main' into feat/task-1491
  • 5565b7dc Merge pull request #740 from cathalos92/feat/task-1481
  • 3dae5ed8 Merge pull request #739 from cathalos92/feat/task-1477
  • 5263c34c polish(task-1477): rename banner CTA to 'Connect to Claude Code'
  • ced74694 polish(task-1481): add "welcome back" heading for returning users
  • 7939a984 feat(task-1491): prefilled hub arrival surface + SSE phase order fix
  • d241e5b6 fix(setup): auto-provision project for new OAuth users (#741)
  • e4b458de fix(task-1481): prevent duplicate project creation for returning wizard users
  • 528180bd feat(task-1477): portfolio-level project creation with three intake paths
  • 7d1a4a49 Merge pull request #738 from cathalos92/feat/task-1476
  • 98fc1a99 feat(task-1476): GitHub OAuth repo scope + repo picker
  • 5c2637ab docs(research): extensibility + agent interop synthesis (C237) — register + index
  • edab5b4b docs(dogfood): cycle 237 entry — FTUE spine + three intake paths shipped

v0.237.0

  • 59f98452 Merge pull request #737 from cathalos92/feat/task-1467
  • e8cd25e1 Merge pull request #736 from cathalos92/feat/task-1466
  • d416ac70 feat(task-1467): Project creation via file upload — brief/PRD/doc extraction (FTUE Task E)
  • e50fc058 feat(task-1467): POST /api/projects/import-brief route + wizard wiring
  • 8a805db5 feat(task-1467): brief extraction library + unit tests
  • 18684629 feat(task-1466): POST /api/projects/import-repo route + wizard wiring
  • bb0d28aa feat(task-1466): GitHub import library + unit tests
  • 0dd213bf chore(task-1487): commit remaining changes before branch switch
  • 641bc2bd Merge pull request #735 from cathalos92/feat/task-1487
  • 5819fdd2 chore: gitignore playwright-skill temp execution scripts
  • 7e0c9cb9 fix(task-1487): populate phases 2/3/5 with real brief/backlog/plan on SSE done
  • 52b89a30 feat(task-1487): Implement /ftue-reference design as production SetupWizard — full rebuild
  • 200b4aca feat(task-1487): remove NEXT_PUBLIC_WEB_SETUP_ENABLED — wizard is default
  • ab7748ff feat(task-1487): rebuild SetupWizard to phase-feed matching /ftue-reference
  • 3ff1d639 docs(dogfood): cycle 236 entry — FTUE minimum viable activation path

v0.236.0

  • 25da1841 feat(task-1469): foundational task generation for thin-brief early cycles (#734)
  • 15b7652d feat(task-1465): setup tool respects existing project context (#733)
  • dc6cfdfa C236 dashboard: minimal /setup connect page + API key surfacing (#732)
  • 4b7954cc Merge pull request #731 from cathalos92/feat/cycle-235-dashboard
  • 6946ce50 docs(dogfood): cycle 235 entry — FTUE auth redirect & wizard copy
  • cdf64b11 feat(task-1463): Simplify dashboard wizard copy — remove jargon (FTUE Task F)
  • 6f426160 feat(task-1460): Fix auth → wizard redirect flow (FTUE Task 0)

v0.235.0

  • cb5945a3 feat(task-1475): FTUE wizard design spec — visual reference for all onboarding tasks
  • f9a73c94 Merge pull request #730 from cathalos92/feat/cycle-235-dashboard
  • 28e5f8ba Merge pull request #729 from cathalos92/feat/task-1464
  • c140a2e4 feat(mcp): md adapter registration gate + heartbeat telemetry (task-1464)
  • 3bab45ea fix(hub): fix plan button next-action and surface planning errors clearly (task-1462)
  • 2d658f56 docs: FTUE onboarding rework research doc (cycle 234)

v0.234.0

  • bacf9f6a Merge pull request #728 from cathalos92/feat/task-1449
  • b8368e90 Merge pull request #727 from cathalos92/feat/task-1293
  • a8150ae3 feat(task-1449): Strategy review agenda system — decouple strategy reviews from cycles, add topic queue for future reviews
  • 02c598cd feat(task-1293): Task lifecycle phase timeline in detail panel
  • fcd38a68 fix: login redirect sending existing users to /setup (#726)
  • b259d461 fix: login redirect sending existing users to /setup (#725)
  • 3bff8fc5 docs: Cycle 233 dogfood log entry

v0.233.0

  • c1bddaad Merge pull request #724 from cathalos92/feat/cycle-233-dashboard
  • b361f46f Merge pull request #723 from cathalos92/feat/cycle-233-analytics
  • fcfab1ce Merge pull request #722 from cathalos92/feat/cycle-233-landing
  • 1d1943ec Merge pull request #721 from cathalos92/feat/cycle-233-mcp-server
  • dcfc5db7 Merge pull request #720 from cathalos92/feat/task-1446
  • aa0455fd feat(task-1446): planner two-pass note reading
  • 0b9eff8b perf(task-1454): defer decision-scores and entity-references to lazy load
  • af63a254 fix(task-1452): eliminate react-hooks/set-state-in-effect ESLint errors
  • 5f109beb feat(task-1450): post-auth funnel instrumentation
  • 88c705aa feat(task-1451): Proxy-parity shape standardisation — getCycleLog + upsertNorthStar mapping + drift-aware smoke test
  • cf8be45d feat(task-1436): Rework landing → /setup flow: CTAs, pre-auth intake placement, and wizard continuity
  • 87bdee9f feat(task-1453): Version literal sync — server.ts handshake + plugin.json

v0.232.1

  • 1aba363f Merge pull request #719 from cathalos92/feat/cycle-232-dashboard
  • e1d4f52b Merge pull request #718 from cathalos92/feat/cycle-232-mcp-server
  • b394f97c feat: dev-only PAPI_ARTIFICIAL_DELAY_MS for latency auditing (task-1225)
  • ca5e4306 test: add vitest coverage for loadProjectsFromDb enrichment (task-1443)
  • 7b979271 docs: codify batch rollup requirement in CLAUDE.md (task-1441)
  • a5690d2e fix: add upsertNorthStar to data-proxy ALLOWED_METHODS (task-1442)

v0.232.0

  • 5db2fedc Merge pull request #717 from cathalos92/feat/task-1445
  • 50ce9eba Merge pull request #716 from cathalos92/feat/task-1248
  • 2f265456 Merge pull request #715 from cathalos92/feat/task-1444
  • 802a9167 feat: portfolio split-panel project switcher (task-1445)
  • 8f939619 feat: ambient indicator on In Progress cards, drop empty column (task-1248)
  • 9c4d0ab5 feat: add environment context to orient recommendations (task-1444)
  • 7ffdbc46 docs: restore hub-redesign-c224 design-brain + ignore docs/design in eslint
  • 0ceda56f docs: update brand tagline to include "You Drive"

v0.231.1

  • a3372a34 Merge pull request #712 from cathalos92/feat/task-1294
  • 99052ba1 merge: resolve orient.ts conflict with task-1440 alerts split
  • 56ef4ea3 Merge pull request #714 from cathalos92/feat/cycle-231-mcp-server
  • 8ec59b1a Merge pull request #713 from cathalos92/feat/cycle-231-dashboard
  • e6fb0c0c fix(task-1312): guard ALLOWED_METHODS extraction against silent regex failure
  • 86ad6889 fix(task-1294): split context-bloat detector into independent signals
  • 75a81677 fix(task-1216): collapse task card to 2 rows — metadata on row 1, title on row 2
  • 1e303c8d fix(task-1216): render type pill for all types + strip size word from priority tooltip
  • b56638ed fix(task-1216,1219): denser task cards, clearer type pill, stronger ring pulse
  • 61d817e8 feat(task-1318): add date field to CycleLogEntry
  • bf22e97c test(task-1312): fail proxy-parity when an ALLOWED_METHODS entry lacks a case handler
  • 4589d8ce fix(task-1316): portfolio lastActivity now reflects actual task activity
  • afa0bbfa feat(task-1221): animated connection beam on pre-first-cycle Hub empty state
  • 8887b120 feat(task-1219): respect prefers-reduced-motion on Cycle Ring pulse
  • 2f5faab5 feat(task-1216): task card type + module + size visual differentiation
  • b2463217 feat(task-1294): proactive session management signals in orient

v0.231.0

  • b57aade2 Merge pull request #711 from cathalos92/feat/task-1440
  • c2fab957 fix(task-1440): compute alert/unactioned counts from full list + cap alerts at 10
  • 8b226e7b feat(task-1440): split discovered issues into Alerts (P0/P1) and Unactioned (P2/P3)
  • a79c77c4 docs: refresh product brief (C229 rewrite)
  • 28388e8c chore: add C230 dogfood log entry

v0.230.0

  • 4a5b1bf6 fix(task-1434): admin funnel — user identity per project, stage labels, drop-off KPI (#710)
  • ce6844cb fix(task-1433): block md adapter for external users with PAPI_PROJECT_ID (#709)
  • 3e1c721d fix(task-1400): close P1 RLS gap — scope cycle_learnings to project owner (#708)
  • 92923c02 fix(task-1430, task-1432): hub plan CTA + cycleComplete scoping fix (#707)
  • e36c2d90 fix(task-1431): wire claim_project() in setup flow + backfill migration (#706)
  • 94e9001c feat(task-1084): RLS performance optimization — fix auth_rls_initplan across all tables
  • 42a03fa9 hotfix: redirect new email sign-up users to /setup instead of dead /onboard (#705)
  • 79b10f56 fix(task-1438): redirect empty-project users to /setup instead of dead /onboard route (#704)
  • 85bbe16f chore: add C229 dogfood log entry
  • 415b9dbe feat(C229): dashboard polish — error copy, skeleton loaders, security audit

v0.229.0

  • eacdfc41 Merge pull request #703 from cathalos92/feat/task-1428
  • 41c336f1 feat(task-1428): detect setup wizard rehydration failure across OAuth redirect
  • 95887295 Merge pull request #700 from cathalos92/feat/task-1415
  • 16a4da10 fix(task-1415): replace --font-body with --font-sans across hub components
  • ef0dec8a Merge pull request #702 from cathalos92/feat/task-1421
  • 5ca30f78 feat(task-1421): align TaskDetailPanel with Claude Design V3 typography and spacing
  • c73b0924 feat(task-1415): hub visual quality pass — spec-aligned headings, font vars, spacing
  • 9ff4c613 chore: add C228 dogfood log entry

v0.228.0

  • ccfffb26 Merge pull request #699 from cathalos92/feat/task-1424
  • 23059557 Merge pull request #698 from cathalos92/feat/task-1402
  • 22f29471 feat(task-1424): close md adapter blind spot via anonymous install pings
  • fdf60e29 feat(task-1402): 'Connect existing project' flow — description-based MVP
  • c3f4341f chore: bump server to v0.7.11
  • f0209571 chore: add C227 dogfood log entry
  • e4a209d8 feat(cycle-227-core): Core S tasks — dep vulns, admin 503 guards, plan telemetry, worktree fix (#697)

v0.227.0

  • 502d324d Merge pull request #696 from cathalos92/feat/task-1412
  • 7f6c1d3a feat(task-1412): add Research Signals section to orient output
  • a4e619d5 Merge pull request #695 from cathalos92/feat/task-1417
  • f47800c7 feat(task-1417): add dependency chain section to plan output
  • f2416fb0 chore: add C226 dogfood log entry

v0.226.0

  • bf9b01b6 Merge pull request #693 from cathalos92/feat/task-1413
  • 7fe0be04 Merge pull request #692 from cathalos92/feat/task-1411
  • f42599bb Merge pull request #694 from cathalos92/feat/task-1406
  • 51921d4a fix: use upsert for active_decisions in setup-project for idempotency
  • 0fb83808 fix(task-1406): correct column names in setup-project DB writes
  • 898bc68d feat(task-1413): planner doc intelligence — relevance-matched doc context
  • c6558264 feat(task-1411): planner context tiering — exclude P3 Low tasks + budget logging

v0.225.0

  • 0f2457c4 Merge pull request #690 from cathalos92/feat/task-1404
  • bb840c4b Merge pull request #691 from cathalos92/feat/task-1403
  • bd633452 fix(task-1403): enforce strict build order in setup intelligence prompt
  • d873b0dd feat(task-1403): web-first project setup wizard with AI seeding
  • 25a70b0f fix(task-1404): merge Plan CTA into cycle-state-aware next action
  • 43535a16 fix(task-1404): restore Strategy & Decisions section
  • 9a64a864 fix(task-1404): address all 10 feedback items — quality rebuild
  • 294b258d feat(task-1404): restructure hub with three-question frame and new sections
  • 2f52227b chore: ignore .claude/worktrees in gitignore
  • 074365fc design: add hub v2 playground — design reference for task-1404
  • 6940affd feat: promote LandingPageV2 to production, remove feature flag scaffolding
  • 443dbd73 perf: add compact queryBoard to eliminate 2.2MB JSONB waste in plan flow
  • 1595f1e6 Merge pull request #689 from cathalos92/claude/eloquent-stonebraker
  • 2535ff67 fix(task-1260): cap login width at 1200px, remove dead terms/privacy links
  • 325608ea feat(task-1405): add LandingPageV2 — full redesign behind NEXT_PUBLIC_LANDING_V2 flag
  • 139e6686 feat(task-1401): add non-code brief handoff types for Owner persona
  • c3ae4e5d docs(c224): append DOGFOOD_LOG entry for Cycle 224

v0.224.0

  • c6e48e86 Merge pull request #687 from cathalos92/feat/task-1395
  • 02c87e45 Merge pull request #688 from cathalos92/feat/task-1260
  • 7fd099be fix(task-1260): reset agree on tab switch, disable button until terms accepted
  • 37ddcbef feat(task-1260): redesign login/signup — two-panel layout, clear tab separation, contextual errors
  • f7631400 fix(task-1395): correct model IDs, SSE parsing, and PlanLauncher disabled prop
  • 295fb84b feat(task-1395): plan from dashboard — streaming plan launcher + structured artifact renderer
  • 37b20981 docs(c223): add product frame — dashboard-as-cockpit north star
  • d8de7089 security (pass 2): rate limits, Next.js bump, and 2 more findings (#686)
  • a2db4a23 security: patch project takeover, bug-report forgery, and 7 other findings (#685)
  • 8d34db62 docs(c223): append DOGFOOD_LOG entry for Cycle 223

v0.223.0

  • 31d7db2f feat(task-1392/1191/1208): dashboard improvements — MCP phase 2 scoping, SQL views, human language metrics (#684)
  • 77165ccf feat(task-1130): Create DEPLOYMENT.md — secrets, rollback, and error recovery reference (#683)
  • 2a3ea829 feat(task-1008): legacy cleanup — fence md adapter + untrack .papi/ files (#682)
  • 3c4861fe docs(c222): append DOGFOOD_LOG entry for Cycle 222

v0.222.0

  • 5403e462 feat(task-1365): show auto-review batch summary when last cycle review is submitted (#681)
  • d92e498a feat(cycle-222-mcp-server): task-1393 lint-staged --no-stash + task-1315 SQL migration docs (#680)
  • 6f7037b4 fix: accept /sse path alias for claude.ai Projects compatibility
  • 1ee2df45 fix: railway build — include @papi-ai/shared in build chain
  • 2c1e21ea fix: railway build command — plain npm run build from packages/server root
  • 5f206bce fix(task-1391): use PORT env var for Railway deployment, 0.0.0.0 bind when deployed
  • fe9c092d feat(task-1391): add HTTP/SSE transport + bearer token auth to PAPI MCP server
  • ca4ff4b6 docs(c221): append DOGFOOD_LOG entry for Cycle 221
  • b83a58a6 Merge pull request #678 from cathalos92/feat/cycle-221-mcp-server
  • d303cfe6 merge: resolve ad-hoc conflict — main version has final task-1092+1195 state
  • 613de518 feat(task-1380,task-1092): add discovery/spike task types + ad_hoc triage routing
  • a7d4b299 feat(task-1380): Add 'discovery' task type — track discovered issues from builds through to backlog with origin task, priority, and notes

v0.221.0

  • 7a860a6e Merge pull request #676 from cathalos92/feat/task-1195
  • 44d9eb4b Merge pull request #675 from cathalos92/feat/task-1255
  • 1b9d9f05 feat(task-1195,task-1092): enforcement split + ad_hoc triage routing
  • e85353cc release: v0.7.7 — fix north star write gap (SUP-2026-001/002)
  • 22f2c96c fix: mobile responsive layout for CycleExplainer on landing page
  • 48b3699c fix(SUP-2026-001/002): persist north star on strategy_review/change apply + orient unregistered doc warning
  • 592420ce docs(c220): append DOGFOOD_LOG entry for Cycle 220

v0.220.0

  • 9a59bcb9 feat(task-1378): add P1 stall warning to orient output (#674)
  • 8c3d2472 feat(task-1290): Landing page interactive "moment" — visual centerpiece (#670)
  • e71890c4 feat(cycle-220-mcp-server): task-1381 adapter-pg tests + task-1382 tool annotations + task-1383 server tests (#672)
  • 5d9caf0c feat(task-1377): dashboard dead-path cleanup (#673)
  • c9cc71a6 feat(cycle-220-core): task-1384 branching rule + task-1385 lint-staged hook (#671)
  • 076afd81 fix(task-1380): promote discovery tasks to tier 1 — visible to planner
  • d578c48d feat(task-1380): add 'discovery' task type for build-originated issues

v0.219.0

  • 586ffde4 Merge pull request #669 from cathalos92/feat/task-1376
  • 8229ac2c feat(task-1376): write-read round-trip guard in build_execute — emit warning if report write cannot be verified (#668)
  • 4e5dc93b feat(task-1376): write-read round-trip guard in build_execute — emit warning if report write cannot be verified
  • 12591ea2 Merge pull request #667 from cathalos92/feat/task-1375
  • 921e6d1c feat(task-1375): auto-triage P0-P3 discovered issues to Backlog on build complete (#666)
  • 27845bf0 feat(task-1375): auto-triage P0-P3 discovered issues to Backlog on build complete
  • 3f306113 Merge pull request #665 from cathalos92/feat/task-1371
  • 2cd763ac fix(tests): fix 38 failing server tests across 10 failure categories
  • 8c48dea2 chore(c218): commit CLAUDE.md updates and system interrogation audit doc
  • 59458a35 fix(hub): refresh cycle-info and cycle-metrics on realtime task changes
  • ddcb1ec5 chore(task-1368): remove stale notify/Slack plumbing from review_submit
  • db49fc8c Merge pull request #664 from cathalos92/feat/cycle-218-mcp-server
  • 041fe227 Merge pull request #663 from cathalos92/feat/cycle-218-dashboard
  • e1f1227e Merge pull request #662 from cathalos92/feat/cycle-218-core
  • 7ec50eac feat(task-1367): hub-insights: "Unresolved only" filter always blank — all learnings have action_ref set but may not be truly resolved
  • 34a5dce7 feat(task-1366): Cost snapshots: Tokens metric blank in CycleHero — cost-snapshots.json has no data for current cycle
  • 9d8fc9bc feat(task-1227): Fix last_referenced_cycle on Active Decisions table — compute from decision_events or hide zeros
  • 36151c0a feat(task-1192): Fix N+1 query patterns in /api/ads and loadProjectsFromDb
  • d366d403 feat(task-1153): BUILD HANDOFF acceptance criteria include stray out-of-scope items from planner template
  • 45e519aa feat(task-1348): Add CHECK constraints on status column for stages and horizons tables — only phases has phases_status_check
  • f47a0d77 feat(task-1317): telemetry_events.user_id never populated — lifecycle queries less accurate
  • 75c8d3ee feat(task-1314): Add prompt guidance for learning:UUID notation — feature exists but LLMs never generate it
  • c75dfd5f feat(task-1313): Regenerate Supabase TypeScript types — contacts table and others missing

v0.218.0

  • 00ffcaff Merge pull request #661 from cathalos92/feat/task-1283
  • 7146db01 feat(task-1283): Intra-cycle task dependencies: shared branch grouping for dependent tasks in the same cycle
  • 7e2b5db9 feat(c217-dashboard): task-1357, 1359, 1360 hub fixes (#660)

v0.217.0

  • a4d0ef90 Merge pull request #656 from cathalos92/feat/task-1353
  • fa70bc36 Merge pull request #659 from cathalos92/feat/task-1358
  • bafc81c5 Merge pull request #658 from cathalos92/feat/task-1356
  • fd93b86a Merge pull request #657 from cathalos92/feat/task-1355
  • f7125d6c feat(task-1358): migrate CycleLearnings into IntelligenceSummary, retire from hub
  • 25a38606 feat(task-1357): Hub 2.0 quick fixes: remove dead links, fix Duration metric, add hero metric tooltips, board/roadmap CTAs
  • b1543ce8 feat(task-1356): Analytics: Patterns report tab
  • afa7f4a2 feat(task-1355): Analytics: Token Efficiency panel
  • dcd134d7 feat(task-1354): Analytics: Fix & Elevate existing panels
  • 3f3aa0c7 feat(task-1213): Analytics: Hero Insight Panel rewrite
  • 1f15cb7a feat(task-1353): build_execute should auto-reuse cycle branch for same-module XS/S tasks instead of creating a new branch per task
  • 7826cd35 chore: track archive components and landing page cleanup plan
  • dbddf036 fix(orient): soften unrecorded-commit warning when ad_hoc tasks already exist
  • 3f727d15 fix(landing): side nav visibility, scroll detection, section widths, live stats
  • 922da5af Merge pull request #655 from cathalos92/feat/task-1250
  • c1cb24fd feat(task-1250): idea tool should auto-classify task_type on submission — stop defaulting everything to "idea"

v0.216.0

  • e6e92c4d Merge pull request #649 from cathalos92/feat/task-1352
  • 0c3d867c Merge pull request #648 from cathalos92/feat/task-1334
  • 85417aa9 Merge pull request #650 from cathalos92/feat/task-1282
  • a82a3703 Merge pull request #654 from cathalos92/feat/task-1259
  • 3592bcec Merge pull request #653 from cathalos92/feat/task-1247
  • 456fca0a Merge pull request #652 from cathalos92/feat/task-1091
  • 4954fcbc fix: map tool_call_count in rowToBuildReport read path
  • c31fc79d fix: remove dangling health entry from TOOLS_REQUIRING_PAPI
  • 2d11d39d feat(task-1259): Merge papi-audit into pr-reviewer and retire health MCP tool
  • 9d756763 feat(task-1247): Auto-link cycle learnings to completed tasks via semantic matching — replace manual learning:UUID refs
  • ac74a533 feat(task-1091): Add task type planner template: scope + acceptance criteria + explicit out-of-scope statement
  • 632ff3de feat(task-1282): Feed full discovered_issues and architecture_notes into strategy_review and zoom_out — currently only truncated surprises are consumed
  • 72aeebf5 feat(task-1352): Add DEFAULT now() to tool_call_metrics.timestamp column to prevent silent insert failures
  • c4b38248 feat(task-1334): Wire toolCallCount into build reports (field exists, not populated)

v0.215.0

  • df836ea8 Merge pull request #647 from cathalos92/feat/task-1281
  • 2b3e4b62 feat(task-1281): surface unactioned P0-P2 discovered issues in orient
  • c9860b1d Merge pull request #645 from cathalos92/feat/task-1045
  • 40672a37 fix(task-1045): resolve merge conflicts with main
  • caf3e34c Merge pull request #644 from cathalos92/feat/task-1332
  • c48f6172 Merge pull request #641 from cathalos92/feat/task-1285
  • e856a21c Merge pull request #643 from cathalos92/feat/task-1237
  • 44e3ceaf Merge pull request #642 from cathalos92/feat/task-1210
  • 032fc2b7 Merge pull request #646 from cathalos92/feat/task-1046
  • 9625ca70 feat(task-1046): standardise heading hierarchy and typography across pages
  • 6d728517 feat(task-1045): unify loading/empty/error state patterns across pages
  • 32a3fa43 fix(task-1332): add timestamp and user_id to proxy metric inserts
  • 51d34a5c feat(task-1237): Accessibility pass: add ARIA attributes, focus-visible states, and error message linking across auth + form pages
  • 49d18c26 feat(task-1210): Hub page layout: apply four-zone model + Bento grid metrics
  • 158017bd feat(task-1285): Route change — landing owns root domain, hub at /hub
  • 263ff57a chore: dogfood log — Cycle 214 (design system consistency & hub data quality)

v0.214.0

  • 54b47be7 feat(task-1204): font-mono misuse sweep — replace all non-ID, non-code monospace with Plus Jakarta Sans (#640)
  • 62ec5755 chore: dogfood log — Cycle 213 (dogfood pipeline & route restructure)

v0.213.0

  • c1dc15ce Merge pull request #639 from cathalos92/feat/task-1342
  • 98a8f521 Merge remote-tracking branch 'origin/main' into feat/task-1342
  • 711317fd Merge pull request #638 from cathalos92/feat/task-1338
  • e2a9ce03 merge: resolve conflict in release.ts — take more descriptive schema descriptions
  • f2f02538 Merge pull request #637 from cathalos92/feat/task-1336
  • 7887b3d3 merge: resolve conflict in board.ts — both sides use 'resolved' status
  • 97ef12e6 Merge pull request #636 from cathalos92/feat/task-1335
  • 5406d168 feat(task-1342): root route layout restructure — (dashboard) route group
  • 1ca24003 feat(task-1338,1337,1336,1335): dogfood pipeline complete — context in handoff, keyword match, resolve on build, write at release
  • d7e392a2 feat(task-1336): release tool: auto-write dogfood observations to DB after each cycle
  • 7c074256 feat(task-1335): build_execute complete: mark linked dogfood entries as resolved
  • 93f6914e fix(plan): coerce cycle_number to Number and preserve cache on validation failure
  • a554c2f5 chore: dogfood log — Cycle 212 (planner intelligence & scope awareness)
  • c82036a8 Merge pull request #633 from cathalos92/feat/task-1275
  • 037a1228 feat(task-1275): Planner epic-aware batching — when selecting cycle tasks, prefer co-scheduling tasks from the same epic rather than cherry-picking across epics
  • c11ef4ae Merge pull request #632 from cathalos92/feat/task-1133
  • f8bb3f39 feat(task-1133): Pre-plan codebase awareness — scan for existing implementations before generating handoffs

v0.212.0

  • 5226cb98 Merge pull request #634 from cathalos92/feat/task-1106
  • 0505e87d Merge pull request #631 from cathalos92/feat/task-1088
  • 3dd668cd Merge pull request #630 from cathalos92/feat/task-1015
  • 76f95905 feat(task-1106): Increase default cycle sizing — group tasks by module/similarity, target 8-10 tasks when backlog supports it
  • e7310926 feat(task-1088): Progressive context loading — scale plan prompt complexity with project maturity
  • b4fb8a97 feat(task-1015): Add opportunity field to idea tool — LLM auto-fills from problem context, planner clusters backlog by opportunity
  • cdaf2515 fix: compute strategy review cadence from DB in plan context + bump server to 0.7.6
  • f5a5dbaa fix: exclude dogfood log commits from unrecorded ad-hoc detection in orient
  • 3c8ca87e chore: dogfood log — Cycle 211 (intelligence surface + onboarding consolidation)

v0.211.0

  • a1e4bb28 Merge pull request #626 from cathalos92/feat/task-1291
  • f99ce4bf Merge pull request #627 from cathalos92/feat/task-1289
  • 40b36ed8 Merge pull request #628 from cathalos92/feat/task-1287
  • 3b9d9062 Merge pull request #629 from cathalos92/feat/task-1279
  • 1a01f88f feat(task-1279): Consolidate onboarding paths — merge /onboard page and GuidedSetup Hub component into single in-dashboard flow
  • f1c04ddc feat(task-1287): Surface intelligence above the fold in hub
  • 2540cf2c feat(hub): surface intelligence above the fold with IntelligenceSummary card
  • 757b10ba fix(task-1289): fix style conflict, widen bridge gap, center label
  • 4e3fce06 feat(task-1289): "Run in your own ecosystem" positioning section on landing page
  • 39298f24 feat(task-1289): add animated ecosystem section to landing page
  • 758639ce feat(task-1291): Command reference in dashboard — CLI training through doing
  • 3ddc7935 feat(task-1291): add copyable CLI command chips to hub action row and empty states
  • 1018dc00 chore: dogfood log — Cycle 210 (security hardening + data integrity)

v0.210.0

  • 9b0b64f7 Merge pull request #625 from cathalos92/feat/task-1309
  • f8a90c3f Merge pull request #624 from cathalos92/feat/task-1308
  • 1d6e5556 Merge pull request #622 from cathalos92/feat/task-1306
  • 0e146719 Merge pull request #621 from cathalos92/feat/task-1305
  • 053e5ff4 feat(task-1309): Add ON DELETE CASCADE to project child table foreign keys — replace fragile manual array
  • 29ea9d0b feat(task-1308): Remove dead fetchMetricsFromSupabase function — unused code with data leakage bug
  • 588e5221 feat(task-1306): hierarchy_update tool sends 'completed' but DB constraint only accepts 'Done' — silent failure
  • 8096196a feat(task-1305): product_briefs_insert permissive RLS policy never dropped — any authenticated user can INSERT
  • ca18b2ad fix(landing): polish batch — live metrics, brand CTA, ring cleanup, responsive intake (#620)
  • 8aeeee34 release: v0.209.0
  • a11692a2 chore(task-1303): commit remaining changes before branch switch
  • 943424d4 Merge pull request #619 from cathalos92/feat/task-1108
  • 7d4c9099 Merge pull request #618 from cathalos92/feat/task-1256
  • 9f92e785 Merge pull request #617 from cathalos92/feat/task-1280
  • abba1690 Merge pull request #615 from cathalos92/feat/task-1303
  • 47f9aab6 Merge pull request #616 from cathalos92/feat/task-1276
  • b591ef6e Merge pull request #614 from cathalos92/feat/task-1258
  • 3c9681eb fix(hub): clean up pulse timer on unmount
  • 259b53de feat(hub): add visual pulse on realtime-changed task cards
  • 4e4befa4 feat(telemetry): capture per-tool timing for all MCP calls + build wall-clock duration
  • e13a068a feat(hub): add PostSetupState for post-setup/pre-plan empty state
  • 8ef16d8c feat(task-1276): Auth file guard — PreToolUse hook warns before modifying auth/middleware
  • 9dd2947a fix(task-1303): PreAuthIntake — don't auto-restore situation selection on revisit
  • 349f46bb fix(task-1258): wire doc_search into strategy review — Edge Function gaps + prompt instruction
  • a1b1bddf chore: dogfood log — Cycle 208 (landing page voice + conversion flow)

v0.209.0

  • ed2946ce chore(task-1303): commit remaining changes before branch switch
  • 47f9aab6 Merge pull request #616 from cathalos92/feat/task-1276
  • b591ef6e Merge pull request #614 from cathalos92/feat/task-1258
  • 8ef16d8c feat(task-1276): Auth file guard — PreToolUse hook warns before modifying auth/middleware
  • 349f46bb fix(task-1258): wire doc_search into strategy review — Edge Function gaps + prompt instruction
  • a1b1bddf chore: dogfood log — Cycle 208 (landing page voice + conversion flow)

v0.208.0

  • a72e062d Merge pull request #613 from cathalos92/feat/task-1286
  • d2f25a7b Merge pull request #612 from cathalos92/feat/task-1284
  • 889be293 Merge pull request #611 from cathalos92/feat/task-1300
  • e7a51044 feat(task-1286): Onboard reads pre-auth intake data from localStorage
  • 986c4f44 feat(task-1284): Landing page copy rewrite — vibecoder voice + split hero layout
  • fddaad10 feat(task-1300): Add cycle learnings support to proxy adapter + Edge Function — 4 methods missing for external users
  • fea8720d feat(task-1285): Route change — landing owns root domain, hub at /hub
  • d1b07a0d chore: commit leftover task-1298 changes (doc registry proxy adapter methods)

v0.207.0

  • cfe5de9e Merge pull request #610 from cathalos92/feat/task-1174
  • 67ad4148 Merge pull request #606 from cathalos92/feat/task-1261
  • 599797f0 Merge pull request #608 from cathalos92/feat/task-1257
  • 705ab036 Merge pull request #607 from cathalos92/feat/task-1254
  • eef2f71c feat(task-1174): Redesign cycle explainer (task-1109) — show what a cycle looks like in practice, not describe the methodology
  • a856ff98 feat: redesign CycleExplainer + PreAuthIntake for landing page (task-1173, task-1174)
  • bdba724e fix(edge-function): newTaskIdMap keys use batch-relative index to match pg adapter
  • 58ea603a Merge fix/sup-2026-001-002: setCycleHealth wrong table + newTaskIdMap fix published as 0.7.5
  • 60415d27 fix(strategy): remove stale writeCycleLogEntry() dual-write from strategy_review writeBack
  • 55b1316c fix(task-1254): add INNER JOIN to v_decision_usage to filter ghost ADs
  • 278a4199 docs: FTUE process map — full funnel flow with gap analysis (task-1261)
  • d37e9f41 chore: commit leftover task-1277 changes (SKIP_AUTH bypass + Playwright auth helper)
  • dd54bcd4 fix(sup-2026-001/002): setCycleHealth wrong table + publish newTaskIdMap fix as latest

v0.206.0

  • f3b569ad Merge pull request #605 from cathalos92/feat/task-1180
  • 37a88601 Merge pull request #604 from cathalos92/feat/task-1203
  • 4de29486 Merge pull request #603 from cathalos92/feat/task-1198
  • 2e0487c4 Merge pull request #602 from cathalos92/feat/task-1197
  • c309148f Merge pull request #601 from cathalos92/feat/task-1194
  • 5e306fdc feat(task-1180): Investigate build_execute auto-commit behaviour — commits ALL working directory files
  • 70753ad5 feat(task-1203): Font migration: Geist Sans → Manrope + Plus Jakarta Sans via next/font/google
  • f3a5a00e feat(task-1198): Hardcoded hex sweep — Hub + Board components token replacement
  • c7c5085a feat(task-1197): Full CSS token audit + Design Brain token migration — map globals.css to approved colour roles
  • cfa647f9 feat(task-1194): Compile Design Brain into .impeccable.md — full rewrite with all 10 approved sections

v0.205.0

  • 34601091 Merge pull request #589 from cathalos92/feat/task-1184
  • 02dc4cac feat(task-1184): Column-specific SELECTs in queryBoard and getActiveDecisions — eliminate SELECT *
  • cc172d72 Merge pull request #588 from cathalos92/feat/task-1183
  • 7fa64433 Merge pull request #587 from cathalos92/feat/task-1182
  • 6c0d3ac6 Merge pull request #586 from cathalos92/feat/task-1181
  • 06c692e9 Merge pull request #599 from cathalos92/feat/task-1193
  • 45866a1e Merge pull request #598 from cathalos92/feat/task-1190
  • 11961340 Merge pull request #597 from cathalos92/feat/task-1189
  • 1a2380a2 Merge pull request #596 from cathalos92/feat/task-1188
  • a68ab57a Merge pull request #595 from cathalos92/feat/task-1187
  • 400203f2 Merge pull request #594 from cathalos92/feat/task-1186
  • 8e3b2d8c Merge pull request #593 from cathalos92/feat/task-1235
  • 480b1f8d Merge pull request #592 from cathalos92/feat/task-1234
  • a9d5a490 Merge pull request #591 from cathalos92/feat/task-1228
  • cf661274 Merge pull request #590 from cathalos92/feat/task-1185
  • 31d72298 feat(task-1193): Deduplicate build reports fetch in plan context assembly — fetch once, reuse across both paths
  • cb31b010 feat(task-1190): Add Cache-Control headers to read-only /api/data/ responses
  • 8a7f07cd feat(task-1189): add pagination to /api/data/ endpoints — limit/offset query params
  • 0275bf9d feat(task-1188): Add bounded eviction to ownershipCache and rateLimitStore in Edge Function
  • dd3e6fdf fix(task-1188): bounded eviction for ownershipCache + rateLimitStore
  • e10a4769 fix(task-1187): getLatestDecisionScores proxy — add camelCase field mapping
  • b10a9282 fix(task-1186): readPlanningLog proxy — correct shape to match pg adapter
  • b530f6df docs(task-1235): verify font loading approach — Manrope + Plus Jakarta Sans via next/font/google
  • 3b2826a3 feat(task-1234): install MagicUI dependencies — motion + clsx + cn utility
  • 03174603 docs(task-1228): deprecate stale onboarding docs — mark superseded, update INDEX
  • 0e900e17 feat(task-1185): Add LIMITs to unbounded adapter queries — readToolMetrics, readCycles, readCycleMetrics, queryBoard
  • c6078ba9 feat(task-1183): Add request timeout to executeAdapterMethod in Edge Function
  • c7ed2ccf feat(task-1182): Shared Supabase client in Edge Function — eliminate per-request client creation
  • a7090954 feat(task-1181): Replace JS aggregation in getCostSummary with SQL GROUP BY RPC
  • bd06044b chore: commit patch-notes skill update and brand book
  • 457606ee fix: v_decision_usage view — filter ghost ADs from orphaned entity_references
  • fd1bfa6e fix: apply orphaned C204 fixes — remove font-mono from roadmap/breadcrumb, fix backlog empty state
  • 97ce471e merge: feat/task-1170 — npm version check on startup (orphaned C203 branch)
  • 95c30610 merge: feat/task-1127 — doc action staleness in strategy review (orphaned C203 branch)
  • a0a459ed feat(plan): remove 5-task handoff cap, add skipHandoffs mode, extract handoff service
  • 57851caf merge: feat/task-1067 — scaling audit doc (orphaned C203 branch)
  • 753b00e0 fix: show task type badge for all types including 'task'
  • cd8414fa docs: C204 dogfood log entry
  • ff22506b feat(task-1127): add doc action staleness audit section to strategy review
  • 9ce6753c feat(task-1170): add non-blocking npm version check on startup
  • 4fdd74d3 docs: scaling audit C203 — Edge Function, DB queries, API routes

v0.204.0

  • 7b3f66dc Merge pull request #584 from cathalos92/feat/task-1245
  • 1a8d9fac feat(task-1231): Hardcoded hex sweep — CRM + Time Machine + Briefs + Portfolio + Requests + Docs + Admin + Settings pages (#585)
  • 8288779e Merge pull request #583 from cathalos92/feat/task-1230
  • 2c5845aa Merge pull request #582 from cathalos92/feat/task-1207
  • b832c78f Merge pull request #581 from cathalos92/feat/task-1206
  • 13db93ff Merge pull request #580 from cathalos92/feat/task-1202
  • 6061c8ec Merge pull request #579 from cathalos92/feat/task-1201
  • fc899266 Merge pull request #578 from cathalos92/feat/task-1200
  • 6b1995ff feat(task-1245): EmptyState component: replace CLI command props with user-friendly action copy across Strategy + Roadmap pages
  • 2b6c2e23 design(c204): hex sweep — Login/auth page full token migration (task-1230)
  • bb449ab3 design(c204): anti-jargon audit — remove CLI commands from user-facing copy (task-1207)
  • 60ebfe77 design(c204): correct heading weights to Design Brain spec (task-1206)
  • eec5f2b0 design(c204): hex sweep — Analytics/Strategy/Shell/Landing (task-1202)
  • 9b885298 design(c204): update status colour tokens to Design Brain palette (task-1201)
  • d4e0d549 design(c204): gradient audit — constrain to hero moments only (task-1200)

v0.203.0

  • 06e76ab6 feat: CRM priority field, source filters, design brain assets, and data-proxy display_id fix
  • 9a2abc3a docs: C202 dogfood log entry
  • 6a614019 Merge pull request #577 from cathalos92/feat/task-1116-1109
  • 0c3b956b fix: guard onboard redirect with window.location check — avoid SSR/hydration issues
  • ea1cec0d fix: skip project redirect on public pages — /landing was redirecting to /onboard
  • 536eb002 feat(task-1109): cycle explainer — interactive Plan/Build/Review/Learn walkthrough
  • 9f5ff19c feat(task-1116): pre-auth interactive intake — situation/tool/project stored in localStorage

v0.202.0

  • 09eeb88b Merge pull request #576 from cathalos92/feat/task-1143
  • 54e1b34c Merge pull request #573 from cathalos92/feat/task-1168
  • e5c17ccb Merge pull request #575 from cathalos92/feat/task-1159
  • a4bc1ecb Merge pull request #574 from cathalos92/feat/task-1165
  • 224e6ae1 Merge pull request #572 from cathalos92/feat/task-1164
  • 0a4fb69d Merge pull request #571 from cathalos92/feat/task-1169
  • a32f163e docs(task-1143): rewrite README with Builder/Owner audience framing for public readiness
  • 69569633 feat(task-1159): add validation warnings to setup apply — surface phase/AD seeding failures
  • 4dc4ef75 fix(task-1165): remove setCycleHealth write path — boardHealth/strategicDirection are computed, not stored
  • 3c637c86 fix(task-1168): ensureProject creates new project when name is provided — fixes multi-project creation
  • 02406b51 feat(task-1164): validate cycle_number on plan apply — reject mismatch with prepare instruction
  • 62dd505f fix(task-1169): null-safe date sort in board_view — handle Date objects from postgres.js
  • 0a04dfe5 chore: bump MCP server to v0.7.4-alpha.4

v0.201.0

  • 35c662b6 Merge pull request #570 from cathalos92/feat/task-1115
  • ece04732 Merge pull request #569 from cathalos92/feat/task-1114
  • f4efa8d4 Merge pull request #568 from cathalos92/feat/task-1059
  • 1750df73 feat(task-1115): Aspirational teasers — show sample data previews for Analytics, Strategy Reviews, Portfolio sections
  • d33790db feat(task-1114): Guided setup steps — in-dashboard project details + AI tool connection + first cycle teaser
  • 7d91e48f feat(task-1059): Add "New Project" flow for returning users — dashboard button + multi-project support in proxy
  • 66448fea Merge pull request #566 from cathalos92/feat/task-1112
  • e09f1502 merge: resolve strategy/page.tsx conflict with main
  • 1e195186 feat(task-1112): add intelligent empty states with actionable guidance across dashboard

v0.200.0

  • 34b3d3cd Merge pull request #567 from cathalos92/feat/task-1058
  • 03d220aa Merge pull request #565 from cathalos92/feat/task-1113
  • e7301f4e Merge pull request #564 from cathalos92/feat/task-1140
  • 8aa07335 Merge pull request #563 from cathalos92/feat/task-1141
  • 01c1f1be Merge pull request #562 from cathalos92/feat/task-1111
  • 8ab5db96 feat(task-1058): setup experience audit — external user FTUE findings
  • c6f3ac43 feat(task-1113): add isNewProject detection + conditional dashboard rendering
  • 8759abba feat(task-1140): add 'What You Get' deliverables section to landing page
  • ed92dedc fix(roadmap): update empty state to remove deprecated .papi/ path reference
  • e686f3b1 feat(task-1141): Mine dogfood data for quantified value claim (landing page copy prerequisite)
  • 8a6d9547 fix(dashboard): replace deprecated .papi/ references in empty state copy
  • 040e81a4 chore: remove untracked papi-plugin/commands/idea.md
  • b5e97792 fix: strategy review write-back sentinel bug + npm publish permissions
  • 4a08cc3e chore(server): bump to v0.7.4-alpha.2
  • 622b734e chore(server): bump to v0.7.4-alpha.1 — proxy handoff tempId fix + source field

v0.199.0

  • 6e205ea5 Merge pull request #561 from cathalos92/feat/task-1096
  • 80e0464b Merge pull request #557 from cathalos92/feat/task-1128
  • bad5c58f Merge pull request #559 from cathalos92/feat/task-1103
  • 62f1edd1 Merge pull request #560 from cathalos92/feat/task-1110
  • 7f1380b4 feat(task-1096): Add source field to cycle_tasks: structured provenance tracking for all tasks
  • 4f6f2d37 feat(task-1110): Fix data isolation bug — analytics showing wrong project data for new users
  • 745fb884 feat(task-1103): board_view default sort shows oldest tasks first — backlog checks waste context reading Done tasks instead of active items
  • 65705e41 feat(task-1128): Transfer "Detect Strategic Decisions in Conversation" section into prompts.ts — external LLMs miss direction changes
  • 3d9bef06 docs: doc registry updates and new files from C198 session
  • 8c93ef5f docs: full funnel onboarding rethink — strategic research from C198 session

v0.198.0

  • 706dd28a feat(plan): strengthen post-write verification — verify task count matches expected handoffs
  • 6da47d67 feat(ci): add GitHub Actions CD for Edge Function deployment
  • 93f12491 fix(dashboard): fix Duration metric — fall back to created_at when start_date is null
  • 2b9f3b4e feat(reconcile): add cycle integrity checks — multi-active, ghost, orphaned
  • 3d3c607d feat(planner): strengthen bug handoff template with reproduce/root-cause/fix/regression sections
  • 56700a28 feat(task-1089): Add spike task type with planner instructions for time-boxed investigation
  • a7df8984 feat(planner): add spike task type with time-boxed investigation template
  • 3b4ba7ca feat(planner): make bootstrap prompt project-agnostic
  • dc6e5212 fix(orient): correct stage position reporting — case-insensitive status, prefer lowest sort_order
  • e9a51f40 refactor: drop feedback ghost type from TaskType enum
  • bc362402 feat(idea): add explicit type param (task/bug/research/spike)
  • 67db6cb1 Merge feat/task-1095: landing page UI pass + dark login redesign
  • 329d4ab5 feat(landing): hero copy refresh, dark login page, UI polish
  • 7475f3f1 chore(server): bump to v0.7.3-alpha.1 for proxy bug fixes
  • 883ec1b4 fix(proxy): 3 bugs blocking external users — plan apply, AD upsert, createCycle
  • 56c24ee2 feat(dashboard): hub UI density pass — hero, carry forward, board cards
  • f0ca1dd2 fix(security): RLS hardening phase 3 — fix all Supabase linter errors
  • 4358b98b fix(server): ad_hoc transitions In Progress tasks to In Review, add submitBugReport to proxy

v0.197.0

  • 3a12673e Merge pull request #556 from cathalos92/feat/task-1062
  • 8afc5108 Merge pull request #555 from cathalos92/feat/task-1068
  • 759e6649 Merge pull request #554 from cathalos92/feat/task-1057
  • fe9a9189 Merge pull request #553 from cathalos92/feat/task-1072
  • f8115eb0 Merge pull request #552 from cathalos92/feat/task-1064
  • 15a38921 perf(cockpit): lazy-load below-the-fold sections via IntersectionObserver
  • 5a0f4d31 perf(plan): parallelize context assembly DB reads
  • 297f60f7 feat(bug): add diagnostic bug report mode for cross-project issue reporting
  • 869421f0 feat(strategy): surface pending recommendations in review close-out
  • fc30e0e6 feat(config): add next/image remote patterns for GitHub avatars and Supabase
  • 5f5484bb chore: remove Slack-specific commands and suggest skill

v0.196.0

  • b391993e perf(images): convert landing screenshots to WebP + use next/image
  • ca53c2b9 perf(cache): extend API cache TTLs to reduce Vercel bandwidth
  • 74a7feac Merge pull request #551 from cathalos92/feat/task-1056
  • 747e4d9d feat(skills): add support-debug skill for external user issue diagnosis
  • b859993c docs: add competitive research on Hermes Agent (Nous Research)
  • 847dcef9 chore(skills): add session close-out guidance to patch-notes skill
  • 458c0377 fix(proxy): handle double-encoded JSONB in proxy adapter and build-handoff serializer
  • 25a39f64 fix(security): fail-closed on Supabase unavailable + harden middleware public paths
  • 2c8eaccf style: widen content max-width to 1920px
  • 15bcb367 fix(proxy): fix 28 data-proxy bugs + add automated parity test
  • 3978a82a fix(server): null-safe totalCycles in plan context assembly
  • 33300686 fix(security): harden multi-user data isolation across all API routes
  • 721dc156 fix(security): prevent cross-user data leak on dashboard
  • 875f500c fix(proxy): complete planWriteBack rewrite to match pg adapter
  • 5977584c fix(proxy): planWriteBack health updates wrote to wrong columns
  • dce6e51b fix(proxy): getContextHashes queried non-existent table
  • 680f06ad fix(proxy): human_reviews table doesn't exist — correct to reviews
  • 13a17eae fix: add deploy:edge script with --no-verify-jwt baked in
  • 2b9ce004 fix(proxy): deploy Edge Function with --no-verify-jwt
  • 4f0eac23 docs: add onboarding crisis audit (C196)
  • ecae01a9 chore: bump server version to 0.7.0 (latest)
  • 0a94a3fc fix(onboarding): unblock external users from running /setup
  • b22c1a1e fix(onboard): handle re-onboarding when API key is lost
  • 1ce41fa8 fix(mobile): apply task-1042 responsiveness fixes to main

v0.195.0

  • 9ff913fd Merge pull request #548 from cathalos92/feat/task-1044
  • 97855fcc Merge pull request #547 from cathalos92/feat/task-1052
  • 0f2a78a6 Merge pull request #546 from cathalos92/feat/task-1050
  • f29dfef1 feat(hub): add growth loop signals strip to Cycle Learnings
  • 384ec246 feat(a11y): add ARIA attributes to 4 interactive components
  • 231a8f47 feat: migrate all codebase references from papi-web-three.vercel.app to getpapi.ai
  • a6f3db2c Merge pull request #545 from cathalos92/feat/task-1041
  • dbe17f1d feat(server): surface actionable error messages for proxy auth failures
  • d69fb4c1 Merge pull request #545 from cathalos92/feat/task-1041
  • 5d1edae9 refactor(styles): purge inline styles across 26 components, migrate to Tailwind

v0.194.0

  • 901784ef Merge pull request #544 from cathalos92/feat/task-1047
  • ffd717bc Merge pull request #543 from cathalos92/feat/task-1043
  • 38788a13 Merge pull request #542 from cathalos92/feat/task-1040
  • a918f211 Merge pull request #541 from cathalos92/feat/task-1022
  • 0db27b08 feat(colour): apply semantic colours to stat values per .impeccable.md
  • 34a32261 feat(task-1043): Enforce 4-role typography system from .impeccable.md spec
  • 9d9a3ffc feat(typography): enforce 4-role type system per .impeccable.md spec
  • 0f0eaa8c feat(task-1040): replace hardcoded hex colours with CSS variable tokens
  • 173e3f85 feat(task-1022): Mobile landing page has horizontal scroll and misaligned header buttons
  • c433d978 fix(landing): add overflow-hidden to hero section to prevent glow div horizontal scroll on mobile
  • 86411445 fix(server): defensive optional chaining + status string fixes, add frontend polish audit doc
  • 55f2a5d6 fix(panel): move Edit beside status badge, tighten spacing
  • 5d7c173d fix(panel): fetch structured build report from build_reports table
  • bba2d890 fix(panel): semantic build report colors, scrollbar styling, overflow fix
  • ea7a8ef1 fix(dashboard): discovery table + panel quality fixes
  • 5c7887ea chore: remove temp playwright execution file
  • 3f068042 Merge pull request #540 from cathalos92/feat/task-1030
  • 87613591 Merge branch 'main' into feat/task-1030
  • ad255aa8 chore(task-1025): commit remaining changes before branch switch
  • cc69a4c8 feat(hub): click discovery row to open build report in side panel

v0.193.0

  • 2e97aee2 Merge pull request #539 from cathalos92/feat/task-1031
  • df6bfad4 Merge pull request #538 from cathalos92/feat/task-1021
  • 1a6ab115 Merge pull request #537 from cathalos92/feat/task-1029
  • d6945380 Merge pull request #536 from cathalos92/feat/task-1025
  • 6f6fa56a feat(task-1031): Right side task detail panel — design overhaul: fix triple scroll bars, spacing, information hierarchy
  • db6b3f63 feat(detail-panel): design overhaul — single scroll, collapsible sections, de-emphasized edit
  • 09824f94 feat(task-1021): Time Machine: layout and UX polish — full width, velocity label, SR overlay, responsive resize
  • e3e44677 feat(time-machine): layout polish — taller velocity strip, Cycles label, active SR highlight
  • 56f066a7 feat(task-1029): Hub: "What We Discovered" section — restructure as table with Type / Cycle / Task / Detail columns
  • d1f6e8a0 feat(dashboard): restructure "What We Discovered" as 4-column table
  • dcef779b fix(auth): skip rate limiter in dev to unblock Playwright testing
  • 4bff1288 docs: add model recommendation rule to Planning Rules

v0.192.0

  • 01772123 Merge pull request #535 from cathalos92/feat/task-1033
  • 5da3dd72 Merge pull request #534 from cathalos92/feat/task-1023
  • 5a3daca1 Merge pull request #533 from cathalos92/feat/task-1035
  • a77c7caf Merge pull request #532 from cathalos92/feat/task-1034
  • b586096a feat(task-1033): add project management to settings — list, copy IDs, delete
  • 91c13fa8 fix(task-1023): redirect email sign-in users to onboard if no projects exist
  • 95111152 feat(task-1035): validate proxy API key + project at MCP startup
  • 4d841cc0 feat(task-1034): prevent duplicate project creation in onboarding
  • 8ef21c56 release: v0.191.0
  • 979f12fc chore(task-1010): commit remaining changes before branch switch
  • c54575ec Merge pull request #531 from cathalos92/feat/task-998
  • a99c072c Merge pull request #528 from cathalos92/feat/task-1028
  • d5b1050a Merge pull request #529 from cathalos92/feat/task-1027
  • a9d65c1d Merge pull request #527 from cathalos92/feat/task-1026
  • 3cee3e1a Merge pull request #530 from cathalos92/feat/task-1010
  • d9164898 chore: bump @papi-ai/server to 0.6.2
  • 075de4d1 fix(proxy): fix all data-proxy field mismatches blocking external users
  • 5d598e3d fix(edge-function): rename sprint_number → cycle_number in data-proxy
  • 0fa557f3 feat(task-998): add GitHub repo URL picker to onboarding wizard
  • 0f6ded3f feat(task-1010): Update landing page screenshots to dark mode with correct feature sections
  • a4190004 feat(task-1010): update landing page carousel to dark mode with correct feature sections
  • 8935e69d feat(task-1027): sweep orphaned pending strategy recommendations on review prepare
  • 1974568a fix(task-1028): filter ghost AD recommendations before writing to strategy_recommendations
  • 2f99526f fix(task-1026): surface error when strategy_review apply receives malformed JSON
  • b0c14a12 chore: mobile landing responsive fixes + de-scope operator gate from S3 criteria

v0.191.0

  • ca59fe27 chore(task-1010): commit remaining changes before branch switch
  • a99c072c Merge pull request #528 from cathalos92/feat/task-1028
  • d5b1050a Merge pull request #529 from cathalos92/feat/task-1027
  • a9d65c1d Merge pull request #527 from cathalos92/feat/task-1026
  • 3cee3e1a Merge pull request #530 from cathalos92/feat/task-1010
  • d9164898 chore: bump @papi-ai/server to 0.6.2
  • 075de4d1 fix(proxy): fix all data-proxy field mismatches blocking external users
  • 5d598e3d fix(edge-function): rename sprint_number → cycle_number in data-proxy
  • 0f6ded3f feat(task-1010): Update landing page screenshots to dark mode with correct feature sections
  • a4190004 feat(task-1010): update landing page carousel to dark mode with correct feature sections
  • 8935e69d feat(task-1027): sweep orphaned pending strategy recommendations on review prepare
  • 1974568a fix(task-1028): filter ghost AD recommendations before writing to strategy_recommendations
  • 2f99526f fix(task-1026): surface error when strategy_review apply receives malformed JSON
  • b0c14a12 chore: mobile landing responsive fixes + de-scope operator gate from S3 criteria

v0.190.0

  • e41eb844 Merge pull request #526 from cathalos92/feat/task-1018
  • 1bdffda8 Merge pull request #525 from cathalos92/feat/task-997
  • 24ce05eb Merge pull request #524 from cathalos92/feat/task-1012
  • 28a70a92 Merge pull request #523 from cathalos92/feat/task-1011
  • c6c2840c Merge pull request #522 from cathalos92/feat/task-1014
  • 4cd32b11 feat(task-1018): Auto-provision project on first proxy connect
  • 04257eaa feat(task-997): Branch onboarding path — new project vs existing codebase
  • 948107f6 feat(task-1012): Surface project health score badge on Cockpit hero
  • 92b952e4 feat(task-1011): Compute composite project health score in orient — velocity, estimation, AD confidence, review cadence
  • 36e87922 feat(task-1014): Add PRE-MORTEM section to BUILD HANDOFFs — planner predicts top risks from module build history

v0.189.0

  • 9e66a2f8 Merge pull request #521 from cathalos92/feat/task-1004
  • de9508dc Merge pull request #520 from cathalos92/feat/task-1020
  • f5486450 Merge pull request #519 from cathalos92/feat/task-1017
  • 00db23f1 fix: resolve merge conflict with task-1019 (identical cwd fallback change)
  • 9817d323 Merge pull request #518 from cathalos92/feat/task-1005
  • beecaa8e Merge pull request #517 from cathalos92/feat/task-1019
  • 35a3fd89 fix(task-1020): replace papi.ai with current landing page URL
  • c8358745 feat(task-1004): Orient detects unrecorded commits and prompts ad_hoc capture
  • 5f332ccf feat(task-1020): npm README with 30-second value prop and install-to-first-cycle path
  • da7a7c35 feat(task-1017): Auto-detect PAPI_PROJECT_DIR from cwd in init tool
  • 08e640f8 feat(task-1005): Fix duplicate key error when creating task via UI — display_id generation race condition
  • 7ac0bf88 feat(task-1019): In-terminal welcome message when server starts with no project
  • 19aa425e chore: commit stray C188 changes before C189 batch build
  • 43b0766b feat(onboarding): NPM-first landing page, 2-step onboard wizard, claude mcp add support

v0.188.0

  • 0c4c7f8d chore(task-961): commit remaining changes before branch switch
  • c48fdd9f fix(onboarding): fix setup blocking new proxy users + remove misleading GitHub guidance (#516)
  • e0a5ec77 feat(task-961): Time Machine — interactive cycle archaeology visualization (#515)
  • 19d4b0a3 Merge pull request #514 from cathalos92/feat/task-988
  • 500ff280 Merge pull request #513 from cathalos92/feat/task-1002
  • 7ce7db5a Merge pull request #512 from cathalos92/feat/task-986
  • d7550b0b Merge pull request #511 from cathalos92/feat/task-994
  • 2213ea2e fix(task-988): add depth limit and symlink guard to scanDir in build.ts
  • a2e75be1 fix(task-986): add confirmed/resolved to ActiveDecision outcome type union
  • a3678570 feat(task-988): auto-register docs in build_execute pipeline
  • ed653c09 feat(task-1002): scope cycle badge to Backlog tasks only
  • 4a57d433 feat(task-986): fix AD outcome field — set confirmed/revised/resolved/superseded on strategy review
  • 8481bc36 feat(task-994): update landing page screenshots with Cycle 188 data
  • 65bfb994 Merge pull request #510 from cathalos92/feat/task-983
  • 23f8d9ca feat(task-983): planner already-built check with codebase cross-referencing
  • 68e0dbb9 Merge pull request #508 from cathalos92/feat/task-1000
  • 4ef60d83 feat(task-1000): planner respects pre-assigned cycle tasks

v0.187.0

  • b3f81c37 Merge pull request #509 from cathalos92/feat/task-1001
  • c33b26d8 Merge pull request #507 from cathalos92/feat/task-984
  • 65fefdf4 Merge pull request #506 from cathalos92/feat/task-993
  • 072c3c92 feat(task-1001): plan tool handoffs_only flag — skip selection, generate handoffs only
  • 06263455 feat(task-984): carry-forward forced resolution after 3+ consecutive deferrals
  • 210de630 feat(task-993): increase landing page side nav label font size from 10px to 12px

v0.186.0

  • 31f97fd4 Merge pull request #505 from cathalos92/feat/task-982
  • 8feee0d5 feat(task-982): Backlog priority auto-recalibration — priorities are set at submission and never updated
  • 2a2c1a37 Merge pull request #504 from cathalos92/feat/task-999
  • deaef9fd Merge pull request #503 from cathalos92/feat/task-987
  • 6d0f2853 Merge pull request #502 from cathalos92/feat/task-996
  • 49d7e0ff Merge pull request #501 from cathalos92/feat/task-995
  • 1167f6d0 feat(task-999): BUG: Board task cards don't update in real-time — require page refresh to reflect status changes
  • 176155a5 feat(task-987): Harden admin check — use Supabase user UUID from .env instead of username matching
  • 54d84708 feat(task-996): BUG: Silent project creation failure in onboarding lets user advance with no PAPI_PROJECT_ID in config
  • 55bcd749 feat(task-995): BUG: API key rotated on every GET /api/auth/onboard call, invalidating downloaded .mcp.json

v0.185.0

  • 4488d1e4 feat(task-990): Admin: Per-user drill-down (#500)
  • e44b98a0 feat(task-992): Admin churn signals, CRM contact on signup + auth hardening (#498)
  • d72e9b22 fix(crm): correct null-email dedup in syncNewUsersToCRM, drop redundant ownerProfileId alias
  • ce90b022 fix(auth): trim OWNER_USER_ID in all API route UUID comparisons
  • 874f9016 fix(auth): trim OWNER_USER_ID in middleware UUID comparison
  • 69215ead debug: expose ownerUserId and trim whitespace in /api/auth/me
  • 2b27f952 debug: expose userId in /api/auth/me to verify OWNER_USER_ID
  • 9e911234 fix(auth): derive isOwner from Supabase session in /api/auth/me
  • bee470df feat(task-991): Admin: New user alert badge on sidebar nav (#495)
  • e0d8664a feat(task-981): Update briefs page — fix NaN and full width
  • cbb111c5 fix(auth): UUID-based owner verification, block ops routes server-side (#497)
  • 6985cef2 fix: add missing description column and per-user slug uniqueness on projects table

v0.184.0

  • 426bdb2a Merge pull request #493 from cathalos92/feat/task-957
  • 7379d3d5 Merge pull request #492 from cathalos92/feat/task-962
  • 9a053dd0 Merge pull request #491 from cathalos92/feat/task-977
  • 1814bed0 Merge pull request #490 from cathalos92/feat/task-980
  • ee4dfe02 feat(task-957): add reproducible live demo script
  • fd411362 feat(task-962): add Project Overview tab to Briefs page
  • b0ad2fb2 fix(task-977): resolve admin Forbidden for Google OAuth users
  • b0b60195 fix(task-980): drop telemetry_service_role_all RLS policy targeting public role

v0.183.0

  • ce9f0d36 fix(task-978): update Get Started CTAs to link to /onboard instead of /setup
  • 7d2f0eb9 Merge pull request #489 from cathalos92/feat/task-954
  • 08b7e718 Merge pull request #488 from cathalos92/feat/task-975
  • d709d9d2 docs(task-954): define S3/S4/S5 exit criteria and split Context & Intelligence phase
  • 419719bf feat(task-975): reduce plan context size via conditional instructions + extended hash-diffing
  • 855eada7 chore: sidebar Ops section — groups CRM, Briefs, Requests, Admin under collapsible Ops nav
  • 3aada983 Merge feat/task-968: CRM contact & outreach tracker
  • 38d12eb9 Merge feat/task-970: operator task submission form at /requests
  • 8111a5ed feat(task-968): CRM contact & outreach tracker
  • 0c42165c feat(task-970): operator task submission form at /requests

v0.182.0

  • 3baab49e Merge pull request #486 from cathalos92/feat/task-972
  • 7f40d67b Merge pull request #485 from cathalos92/feat/task-971
  • e9ee4a4d Merge pull request #484 from cathalos92/feat/task-974
  • a4c31e97 feat(task-972): portfolio heartbeat — In Review count, 7-day stale threshold
  • 78083e7b feat(task-971): release → content brief page at /briefs
  • b0409990 feat(task-974): show latest git tag in orient header

v0.181.0

  • be3a7418 Merge pull request #483 from cathalos92/feat/task-952
  • 0a905a90 chore(task-952): resolve merge conflict — keep full 950+951+952 implementation
  • 42f99e09 Merge pull request #482 from cathalos92/feat/task-951
  • 551bc9fb chore(task-951): resolve merge conflict with main after task-950 merged
  • 99d762bf Merge pull request #481 from cathalos92/feat/task-950
  • 88caa107 Merge pull request #480 from cathalos92/feat/task-967
  • 9af3f364 Merge pull request #479 from cathalos92/feat/task-966
  • d648f875 feat(task-952): docs page — side panel with path copy, sortable table, no inline expand
  • 4dbb2e35 feat(task-951): docs page — dense sortable table view with sort by name/type/status/cycle/date
  • 6c91a4e4 feat(task-950): docs page — remove expand toggle and inline expanded detail from rows
  • f990b143 feat(task-967): hub UI fixes — carry-forward tooltip, hours in cycle metric, new task form requires priority+complexity
  • 0d39db69 fix(task-966): fix strategy review rendering bugs — recs object array, confirm action badge, gaps string items
  • 3c10d566 docs: add CRM & Operator role design doc and INDEX.md entry (C180)
  • 8abf2b95 chore: dogfood log entry for Cycle 180

v0.180.0

  • b1706411 Merge pull request #475 from cathalos92/feat/task-964
  • 0e11830d Merge pull request #474 from cathalos92/feat/task-960
  • 1df99b13 Merge pull request #478 from cathalos92/feat/task-958
  • 5561044f Merge pull request #477 from cathalos92/feat/task-956
  • 99d8225f Merge pull request #476 from cathalos92/feat/task-955
  • bf909eb0 feat(task-960): move new task button into board toolbar, add success toast
  • 1e7c17cb feat(task-958): wire doc registry read path into plan context
  • c8c8283d feat(task-956): Wire build report patterns into planning signals — estimation bias by module, merge conflict hotspots, scope drift indicators
  • 34c9b1ce feat(task-955): Automated board reconciliation — detect code-ahead-of-status mismatches and prevent planner scheduling already-built work
  • 8edd82af feat(task-964): Terminology audit for external users — replace PAPI jargon with human language across dashboard, MCP tool output, and docs
  • 3c557506 feat(task-960): Add "New Task" button to cockpit page for direct backlog intake

v0.179.0

  • dca29e98 Merge pull request #473 from cathalos92/feat/task-965
  • 65bbf2b8 Merge pull request #468 from cathalos92/feat/task-959
  • 29686837 Merge pull request #471 from cathalos92/feat/task-948
  • 0d48f136 Merge pull request #470 from cathalos92/feat/task-947
  • c6a65713 Merge pull request #469 from cathalos92/feat/task-946
  • eeae0ef0 feat(task-965): transfer universal CLAUDE.md rules into CLAUDE_MD_TEMPLATE
  • 812683ac fix(task-948): compute actual MAE and bias from build_reports effort fields
  • 554b8cee fix(task-947): analytics hero uses actual cycle/task counts from DB
  • 722cb1a6 feat(task-959): show deferred task count badge on board filter
  • c06db1c1 chore(task-945): commit remaining changes before branch switch

v0.178.0

  • 8ff30246 Merge pull request #467 from cathalos92/feat/task-943
  • 77bb3257 Merge pull request #466 from cathalos92/feat/task-942
  • 583462e1 Merge pull request #465 from cathalos92/feat/task-944
  • be4540dd Merge pull request #464 from cathalos92/feat/task-941
  • fa79f092 Merge pull request #463 from cathalos92/feat/task-945
  • f5339b33 feat(task-943): link cycle learnings to tasks via action_ref
  • 134f16ff chore(task-942): SQL migration audit — all functions and migrations verified applied
  • f77bac41 fix(task-944): doc_scan false unregistered — query all statuses not just active
  • 964d3da0 refactor(task-941): rename Cockpit→Hub in component names, API endpoint, file names
  • bc4a654d feat(task-945): parse [bug]/[research]/[feedback] prefixes in idea tool
  • c1c347d0 fix(dashboard): handle object array in strategicRecommendations parsing

v0.177.0

  • d7750227 Merge pull request #462 from cathalos92/feat/task-927
  • 69b0afe9 Merge pull request #461 from cathalos92/feat/task-940
  • af4be3a7 Merge pull request #460 from cathalos92/feat/task-939
  • b6093f8c Merge pull request #459 from cathalos92/feat/task-938
  • 69285c24 Merge pull request #458 from cathalos92/feat/task-937
  • 39b2e6b1 feat(task-927): convert overlay sidebar to inline panel, add nav collapse
  • 9ce249db feat(task-940): reduce sidebar width, expand build report details by default
  • c9793c21 feat(task-939): show priority dot on narrow viewports, text label on wide
  • e6aa6fe5 fix(task-938): show cycle-assigned Backlog tasks in 'In Cycle' column
  • e102642e fix(task-937): guard strategicRecommendations against array/non-string values
  • 48a7fba4 chore: rename parallel cycle architecture doc to include cycle ID (c176)

v0.176.0

  • d4ba102a Merge pull request #457 from cathalos92/feat/task-852
  • 1797b231 Merge pull request #456 from cathalos92/feat/task-933
  • 66de2270 Merge pull request #455 from cathalos92/feat/task-936
  • 2bdcc7df Merge pull request #454 from cathalos92/feat/task-935
  • 988207f6 research(task-852): parallel cycle architecture — multi-user/multi-session design doc
  • e4dfaad9 feat(task-933): MCP prompt audit — fix 7 gaps across 5 high-frequency tools
  • b28bc485 feat(task-936): add priority drift suggestions to planner triage step
  • 3a300bb0 feat(task-935): orient release reminder when all cycle tasks Done but unreleased
  • 58485008 chore: bump MCP server to 0.6.0 for npm publish (latest)
  • c8787ef4 chore: bump MCP server to 0.6.0-alpha.1 for npm publish
  • 29b2b47e chore: housekeeping — move playgrounds to docs, remove dead tests, add C175 research doc
  • 322c2fa3 feat: cycle learnings system — structured learning loop + cockpit redesign
  • 62b7cc5c fix: activity feed shows task names + module badges + transition count
  • dd495599 fix: task names in activity feed + discovery feed compact layout
  • 1c1e20ea fix: cockpit components match playground design exactly
  • 72b7e40a redesign: landing page + cockpit shell and dashboard improvements

v0.175.0

  • 020e3505 Merge pull request #453 from cathalos92/feat/task-915
  • c99394d5 Merge pull request #452 from cathalos92/feat/task-928
  • 4c9d1e7e Merge pull request #451 from cathalos92/feat/task-924
  • 247bcd6f Merge pull request #450 from cathalos92/feat/task-930
  • 860af0b6 Merge pull request #449 from cathalos92/feat/task-929
  • 05d2118c fix(task-915): tighten hero headline to 2 lines
  • 68dbaf24 feat(task-915): landing page refresh — side nav, CTA, remove Taskmaster, update copy
  • 226eb135 feat(task-928): task type behavioral differentiation
  • c38eac60 feat(task-924): wire decision-scores and entity-references to cockpit
  • d824ae87 feat(task-924): enrich AD table with risk scores and ref counts
  • db44287f feat(task-930): cycle log structured metadata — task_count and effort_points fields
  • c173c4e5 fix: compute methodology trends from build reports, not stale snapshots table

v0.174.0

  • b6cc4cc6 Merge pull request #448 from cathalos92/feat/task-926
  • 34a07058 Merge pull request #447 from cathalos92/feat/task-917
  • c71a41b6 Merge pull request #446 from cathalos92/feat/task-925
  • 0a0fc890 Merge pull request #445 from cathalos92/feat/task-923
  • 3a983f9e Merge pull request #444 from cathalos92/feat/task-919
  • b5540868 chore: gitignore pitch-assets, pycache, and papi-pitch.js
  • 8a15b223 chore: gitignore pitch-assets, pycache, and papi-pitch.js
  • d65e2cee chore: gitignore pitch-assets, pycache, and papi-pitch.js
  • ba5502b4 feat(task-926): structured build report display + clean metadata fields
  • 7170093f feat(task-917): Show Deferred tasks in full board and cockpit kanban with visual indicator (muted style + badge), hidden by default behind existing Deferred toggle
  • deb1a9a6 feat: show Deferred tasks in Backlog column with muted style + divider (task-917)
  • 2dcc1edb chore: untrack pitch-assets and papi-pitch.js (gitignored)
  • 394cbc31 chore: ignore pitch-assets, pycache, and papi-pitch.js
  • 457aaef7 feat(task-925): Board task card enrichment — richer cards, task type visuals, collapse empty columns
  • 98ac01f4 feat: board task card enrichment — complexity badge, type indicator, hide empty columns (task-925)
  • 3826f2dd feat: Recent Cycles structured rows with task count, effort, summary (task-923)
  • 068558d8 feat: throttle RT events and dedup task refetches (task-919)

v0.173.0

  • 67c62c12 Merge pull request #443 from cathalos92/feat/task-922
  • 96b0a2f3 feat: Cycle Intelligence overhaul — densify activity, resolution tracking, kill DiscoveryFeed RT
  • fb04806a feat: humanise Hero widget and Carry Forward display
  • 55c25f07 fix: store project description during onboard pre-provisioning
  • bbfc2f32 fix: strip markdown headers and prevent double-numbering in strategy recommendations parser
  • 1dc17e00 docs: add cockpit UX overhaul research from C171
  • ab2f4680 docs: add Cycle 172 dogfood log entry
  • 910c2cab feat(task-911): add password reset flow for email/password users (#439)

v0.172.0

  • df1ddfe4 Merge pull request #442 from cathalos92/feat/task-914
  • 8eee005a Merge pull request #441 from cathalos92/feat/task-916
  • d232418d Merge pull request #440 from cathalos92/feat/task-912
  • a65bccb6 Merge pull request #438 from cathalos92/feat/task-910
  • 1261c497 feat(task-914): add next-step guidance to MCP tool responses
  • 4234026a feat(task-916): guide CLI-first users to web signup when no config exists
  • 3e9cfb45 feat(task-912): add onboarding resume banner on cockpit
  • 4fb72d05 feat(task-910): guide non-GitHub OAuth users through onboarding

v0.171.0

  • dd5c4aef feat(task-908): structured recommendation display with status badges (#437)
  • d1043386 feat(task-909): PLAN_FULL prompt at 93% of Supabase env var limit — add size guardrail or migrate to DB table (#436)
  • ef16be8a feat(task-907): create strategy_review_events table for real-time review awareness (#435)
  • 832ebb44 docs: add Cycle 170 dogfood log entry
  • 9ea01ab0 Merge pull request #432 from cathalos92/feat/task-793
  • ac7665a2 merge: resolve conflict with main — keep task-793 enhanced strategy review markers
  • b845d79c feat(task-793): Timeline: Strategy Review markers between cycle bars with full labels

v0.170.0

  • 7fa2f612 Merge pull request #434 from cathalos92/feat/task-826
  • 8728765b Merge pull request #433 from cathalos92/feat/task-796
  • ceb67ebb Merge pull request #431 from cathalos92/feat/task-790
  • e0a2ad0b Merge pull request #430 from cathalos92/feat/task-789
  • e281deb7 feat(task-826): Edge Function prompts stored as env vars may hit size limits (8-73KB each) — evaluate alternatives
  • 8fcf6ee7 feat(task-796): Enrich ReviewCard with strategy review numbering, recommendation tracking, and review-to-review comparison
  • afe93a3a feat(task-790): Preparation preview card + zoom-out markers on timeline
  • 5c24aa1b feat(task-789): SSE: Real-time strategy review awareness with cockpit banner
  • 3888f75e fix(dashboard): add cache: no-store to tasks.json fetch to prevent stale board state after parallel reviews

v0.169.0

  • cd34677a Merge pull request #429 from cathalos92/feat/task-902
  • db0bb9b0 Merge pull request #428 from cathalos92/feat/task-889
  • 2d6736a0 feat(task-902): Themed cycle planning mode — planner suggests single-dependency-chain cycles
  • 82b5174c feat(task-889): Include task comments in strategy_review context — discussion history currently invisible to strategic analysis
  • 094c411c feat(task-905): Create demo walkthrough artifact — orient to release narrative for outreach conversations

v0.168.0

  • 9e8b3b8b Merge pull request #427 from cathalos92/feat/task-888
  • 8d4c4717 Merge pull request #426 from cathalos92/feat/task-824
  • 002bd8df Merge pull request #425 from cathalos92/feat/task-803
  • d2e025a3 feat(task-888): Strategy review should populate discovery canvas on first run
  • 9d148d24 feat(task-824): Owner view mode — role-based dashboard filtering to hide builder plumbing
  • ed84c72f feat(task-803): Dashboard chart audit & redesign — eliminate redundancy, fix broken charts, add interpretation
  • 2e1a9c43 feat(task-903): CycleHero shows "ready for release" CTA even when cycle is already released
  • 99eaa355 feat(task-901): Light-mode commits on shared branches get stripped during PR merge — CLAUDE.md documentation changes lost in C166

v0.167.0

  • 6b3a18e0 chore: reorganise pitch deck and Kieran brief into subdirectories
  • 365e708a feat(task-895): rebuild CycleHero — larger ring, Cycle label, plain-language stats
  • bdbb1bc4 feat(task-887): surface task transition stats on analytics page
  • 69c5d444 feat(task-898): strategy reviews — truncate recs to 3, add count badges
  • daacb05f feat(task-897): simplify analytics Reports tab — cut 6 sub-tabs to 2
  • b56da8a1 feat(task-899): reorder More dropdown — Portfolio and Roadmap first
  • 1116f239 Merge pull request #424 from cathalos92/fix/recover-c166-light-mode
  • 33608e28 feat(task-891): Document that only plan.ts reads task comments — intentional design, not a gap
  • 86c5547b feat(task-890): Remove 200-char notes cap in strategy_review — full notes are in DB but truncated in review context
  • 6b2bf992 docs(task-900): document intentional bulk-actioning of strategy_recommendations on plan apply
  • 85da7b0c docs: restore CLAUDE.md additions stripped during C166 release merge

v0.166.0

  • 9ec6161b Merge pull request #421 from cathalos92/feat/task-884
  • 51271c0c feat(task-884): wire stage_id on new tasks and guard closure_reason for Deferred/Cancelled
  • db2a0cc9 chore: add Cycle 165 dogfood log entry

v0.165.0

  • fe62c2a7 Merge pull request #420 from cathalos92/feat/task-886
  • 11eba617 Merge pull request #419 from cathalos92/feat/task-896
  • 57c45e53 feat(task-886): surface AD intelligence signals on strategy page
  • 38fcdda0 feat(task-896): apply four-role typography and color pass to CockpitBoard
  • e4c46ce6 Merge pull request #418 from cathalos92/feat/task-883
  • ddfacb3a Merge pull request #417 from cathalos92/feat/task-893
  • 3ec72c48 feat(task-883): add plan_runs table and non-blocking insert on every plan apply
  • 39059dd0 feat(task-893): define four-role typography system and color palette in design config

v0.164.0

  • 08a745b0 Merge pull request #416 from cathalos92/feat/task-885
  • f8e4f695 feat(task-885): surface build intelligence on dashboard — handoff accuracy, arch notes, issues, dead ends
  • 74c85a67 fix: reapply linter-reverted changes from task-881 and task-882
  • 35cd1483 Merge pull request #415 from cathalos92/feat/task-880
  • a369b9e0 fix(task-880): wire AD write paths — last_referenced_cycle, revision_count, outcome
  • 0636b21a chore: dogfood log entry for Cycle 163

v0.163.0

  • b2bf9905 Merge pull request #414 from cathalos92/feat/task-744
  • 1d1118eb Merge pull request #413 from cathalos92/feat/task-853
  • fa191f01 Merge pull request #412 from cathalos92/feat/task-742
  • b4dcc8b6 research: branching/deployment strategy audit — npm dist-tags, Vercel, Edge Functions C163
  • 51d9d4a3 research(audit): dashboard CRUD → MCP pipeline audit — write-read matrix C163
  • cf821521 docs(claude): add security audit cadence — /security-audit every 10 cycles, /simplify post-build
  • 5a37892e docs: add schema-for-ui-analysis research doc
  • e66e7665 docs(positioning): add product-brief.md — full rewrite from C158

v0.162.0

  • 885bc0e2 Merge pull request #411 from cathalos92/feat/task-663
  • e42737c5 Merge origin/main into feat/task-663 — resolve globals.css comment conflict
  • b1b689ce fix(portfolio): reapply task-663 changes lost in failed PR merge
  • d4d10c40 feat(portfolio): differentiate active vs dormant projects with visual weight
  • ca447617 fix(roadmap): restore papi-pulse keyframe animation (removed by linter)

v0.161.0

  • bfffb5d2 Merge pull request #409 from cathalos92/feat/task-665
  • d50901e9 Merge pull request #408 from cathalos92/feat/task-781
  • 335aa0d0 Merge pull request #407 from cathalos92/feat/task-869
  • baeee656 Merge pull request #406 from cathalos92/feat/task-792
  • 1a3054c4 feat(roadmap): color-code progress state and add "you are here" markers
  • 725ab2af feat(task-781): add Google OAuth sign-in button to login page
  • 24d1ae7d feat(task-869): add get_sibling_ads MCP tool for cross-project AD sharing
  • 4787b050 feat(task-792): add Strategy stage to cockpit lifecycle indicator

v0.159.0

  • f1ee0a4d Merge pull request #405 from cathalos92/feat/task-810
  • 43b3b45f Merge pull request #404 from cathalos92/feat/task-872
  • 53417374 Merge pull request #403 from cathalos92/feat/task-877
  • ddf54b2c Merge pull request #402 from cathalos92/feat/task-876
  • 096b37a2 feat(task-810): add dashboard docs page with filtering and staleness indicators
  • dcb6d789 feat(task-872): add doc_ref field to cycle_tasks for structured doc references
  • e4cbdfe8 feat(task-877): humanize taxonomy codes across dashboard
  • d648e371 feat(task-876): add carry-forward visibility to cockpit page
  • b9f1f316 fix: change plan hook from ask to allow — removes unnecessary permission prompt

v0.158.0

  • 321e3008 Merge pull request #398 from cathalos92/feat/task-871
  • ec2d021f merge: resolve conflict — combine module instructions + module context in build output
  • bfe43cac Merge pull request #400 from cathalos92/feat/task-870
  • 456bcf82 Merge pull request #399 from cathalos92/feat/task-875
  • b7798fe8 Merge pull request #397 from cathalos92/feat/task-874
  • 10f3e3a2 Merge pull request #396 from cathalos92/feat/task-873
  • 36f3881d fix(task-870): polish Cycle Intelligence — fix truncation, spacing, borders, subheadings
  • 8aca51d3 fix(task-870): revert left panel to ActivityPulse transition ticker
  • 9007ea87 fix: strengthen Dashboard module instructions — mandatory steps, visual checklist, production concerns
  • 96df57fc fix(task-870): redesign Cycle Intelligence — replace generic cards with proper visual hierarchy
  • e3ad204e feat(task-870): Cycle Intelligence rethink — replace raw data with interpreted insights, compact layout, actionable discoveries
  • ce6d7a31 feat(task-875): Fix dashboard AD display — outcome field shows 'pending' for all ADs
  • b2fa81db feat(task-871): Module-specific builder instructions — inject execution guidance at build_execute start time based on task module
  • 45714c92 feat(task-874): Builder execution context — include recent same-module build reports when build_execute starts
  • 060ea9b5 feat(task-873): Improve build report field quality — add guidance, examples, and quality bar for surprises/issues/architecture fields
  • c7e4a9f6 fix: reduce Vercel bandwidth — disable polling when Realtime active, add cache headers, lazy-load heavy endpoints
  • a395a982 feat: restructure strategy review + improve UI task handoffs in planner

March 2026 · 131 releases

v0.157.0

  • 5063c5ee feat(C157): Cycle Intelligence — SSE removal, data pipeline, cockpit components
  • cd230618 fix: order discoveries by cycle not date — date column has corrupt data in old rows
  • 8cf14348 fix: filter discoveries by current cycle, not data max
  • d20007b1 fix: CycleIntelligence layout — side-by-side, compact, filter recent cycles
  • 1d54a2e8 feat: wire ActivityPulse + DiscoveryFeed into CycleIntelligence wrapper
  • 47895791 Merge branch 'feat/task-801' into feat/cycle-157-integration
  • c6537881 Merge branch 'feat/task-800' into feat/cycle-157-integration
  • ba8f6fdf Merge branch 'feat/task-802' into feat/cycle-157-integration
  • 22e28224 Merge branch 'feat/task-799' into feat/cycle-157-integration
  • 730558f0 feat(task-801): add DiscoveryFeed component — scrollable surprises, issues, AD refs
  • a6c46872 feat(task-800): add ActivityPulse component — real-time task transition ticker
  • 9f351f86 feat(task-802): add CycleIntelligence section wrapper to cockpit
  • 0f4f0604 feat(task-799): add cockpit-insights API — task transitions + discoveries data pipeline
  • 0a1832cb feat(task-822): remove SSE emitter architecture — Supabase Realtime handles all live updates

v0.156.0

  • bdb61b83 feat(task-807): Portfolio UX: improve multi-project navigation, project cards, and dashboard context switching
  • bc52dc77 fix(portfolio): remove duplicate currentPhase text on project cards
  • 1038b0a1 feat(task-841): Multi-editor setup scaffolding — detect Claude Code vs Cursor and scaffold appropriate config files
  • f580a690 feat(task-868): Research tasks need a review gate — output draft doc, surface to owner, get approval before submitting follow-up ideas to backlog
  • 919fda20 feat(task-864): Data proxy rate limiting — per-user throttle at Edge Function level
  • bf89b333 feat(task-859): Expose MCP server skills as MCP prompts for Claude Code discovery

v0.155.0

  • 540a5620 Merge pull request #389 from cathalos92/feat/task-857
  • e6bf9deb Merge pull request #388 from cathalos92/feat/task-863
  • 012c7fc6 Merge pull request #387 from cathalos92/feat/task-865
  • fe523e0f Merge pull request #386 from cathalos92/feat/task-861
  • c4bb5a46 Merge pull request #385 from cathalos92/feat/task-867
  • ffe7bf9b docs: rewrite c154-distribution-decisions as draft for owner review
  • dc874be0 research(task-857): distribution decisions — license, repo structure, git audit
  • 8be5a38a feat(task-863): user admin panel — list/disable/delete users
  • 82baf4ef feat(task-865): Stage exit criteria — schema, MCP tool, orient output
  • 474adf61 feat(task-861+867): Cycle task count accuracy + board_edit cycle auto-assign
  • 691b11c5 feat(task-867): board_edit auto-assigns cycle number when status set to In Cycle
  • b5c6a81a chore: dogfood log entry for Cycle 153

v0.153.0

  • fcae2cfd Merge pull request #384 from cathalos92/feat/task-860
  • 59a73232 Merge pull request #383 from cathalos92/feat/task-862
  • 18ca1a5f feat(task-860): Replace logout icon + bare select with avatar dropdown + styled project switcher
  • 89c09960 feat(task-862): telemetry disclosure + PAPI_TELEMETRY=off opt-out
  • fb05f547 docs: add cycle field SQL rule to CLAUDE.md

v0.152.0

  • 032b9d01 Merge pull request #382 from cathalos92/feat/task-774
  • 21a443eb Merge pull request #381 from cathalos92/feat/task-858
  • 2d249b2f fix(task-774): use design token for build report card spacing
  • 8da9b35a fix(task-858): clarify config snippet — update key only, keep project ID
  • 73700946 feat(task-774): add AD and build report cards to onboarding cockpit preview
  • 8b42d175 feat(task-858): show .mcp.json config snippet after API key regeneration
  • 829e637b docs: add public repo distribution research

v0.151.0

  • 529702a6 chore: bump @papi-ai/server to 0.5.3
  • 080a2de2 chore: bump @papi-ai/server to 0.5.2
  • fee67fa0 fix: restrict ?force=1 onboard bypass to owner only
  • 6631a09d feat(task-840): End-to-end new user smoke test — walk full signup→setup→first cycle→dashboard as non-owner
  • 651c21cb feat(task-846): Pre-provision projects during dashboard onboarding — wire FTUE end-to-end
  • be7c223d feat(task-847): Audit and fix /setup for alpha users — ship critical skills, add dogfood log, fix CLAUDE.md references
  • 66731736 feat(task-850): Onboard error states — handle auto-link failure, API key failure, username mismatch
  • fcc0a6ca feat(task-849): Auto-poll on onboard verify step — replace manual button with interval polling
  • a6699a23 feat(task-851): Onboard copy polish — tighten microcopy and add troubleshooting hints
  • 4f63da2e fix: onboard download button, taxonomy rename skills, template security wording

v0.150.0

  • 5f7d1710 Merge pull request #380 from cathalos92/feat/task-773
  • 27610ae1 feat(task-773): Onboarding wizard: multi-step guided flow for new users (Phase 2)
  • 7323b6ba fix: replace expired Discord invite with permanent link
  • 65cc2b4f fix: replace expired Discord invite with permanent link
  • a6ac0d2c fix(task-773): let Claude Code create .mcp.json — user pastes one prompt
  • ebb2f66e fix(task-773): rewrite config + install steps for clarity
  • 101af82d fix(task-773): simplify onboard config to match zero-config proxy architecture
  • 68fdfbe4 feat(task-787): Dev Mode panel — simulate user states for testing onboarding and user-type flows
  • 9ade038b feat(task-773): Onboarding wizard: multi-step guided flow for new users (Phase 2)
  • 7d248f47 feat(task-844): Transfer guiding principles and strategy detection to prompts.ts planner prompt
  • 1080fcbf docs: add Cycle 149 dogfood log entry
  • 080a2d17 release: v0.149.0
  • bb1f1a20 feat(task-739): Owner-to-product transfer audit — categorise memory files and CLAUDE.md rules
  • f442a8f8 feat(task-808): Research Cursor IDE compatibility with PAPI MCP server
  • 734c4c84 Merge pull request #379 from cathalos92/feat/task-817
  • b243985f feat(task-817): Add phase-level update support to hierarchy_update tool
  • d9154594 feat(task-764): Stage definitions should include auth/security as explicit phase prerequisites
  • 063cc2c5 feat(task-763): Security audit gate — require pre-shipment surface audit before any access-widening change
  • 1e23d8e6 docs: add Cycle 148 dogfood log entry

v0.149.0

  • 4ee3de7d feat(task-739): Owner-to-product transfer audit — categorise memory files and CLAUDE.md rules
  • 867e667b feat(task-808): Research Cursor IDE compatibility with PAPI MCP server
  • d9154594 feat(task-764): Stage definitions should include auth/security as explicit phase prerequisites
  • 063cc2c5 feat(task-763): Security audit gate — require pre-shipment surface audit before any access-widening change
  • 1e23d8e6 docs: add Cycle 148 dogfood log entry

v0.148.0

  • de599ef6 Merge pull request #378 from cathalos92/feat/task-745
  • d8029876 Merge pull request #377 from cathalos92/feat/task-743
  • 54aa4e5e Merge pull request #376 from cathalos92/feat/task-812
  • 5ef6bee0 feat(task-745): Progressive CLAUDE.md enrichment based on project maturity
  • 245216ea feat(task-743): Add first-connect telemetry event to data-proxy
  • 7ad2107d feat(task-812): Reduce strategy review context ceiling from 100K to 60K chars
  • 187e4d80 feat(task-836): Codify AD quality bar in prompts.ts — define what qualifies as an Active Decision vs what doesn't
  • 9b8db738 docs: add Cycle 147 dogfood log entry

v0.147.0

  • 64799dda feat(task-838): Apply security hardening RLS migration to production — backfill user_id on existing rows, then apply 20260328_security_hardening_rls.sql
  • cfcaa50f feat(task-837): Default new tasks to Small complexity — bulk creation from research sessions should not assume Medium
  • c9e79f3a feat(task-835): Update get_plan_context SQL function to include dead_ends column
  • 103be3c4 fix: board_edit clears cycle assignment when status set to Backlog
  • e9db5401 fix: overhaul priority system and task selection logic

v0.146.0

  • 610407c3 feat(task-809): Discovered issues pipeline: surface unactioned issues at cycle end and create linked backlog tasks
  • b51339ec feat(task-761): Strategy review pre-check — scan plans directory and recent docs before assembling context
  • a2343415 feat(task-806): Landing page: honest multi-client messaging — "Works best with Claude Code, compatible with any MCP client"
  • bff905ec fix: add XS estimation rule for copy-only changes, cite over-estimation stats
  • 3b19517c fix: strengthen idea tool reference requirement — mandatory for research/planning sessions

v0.145.0

  • e536923f fix: address PR review findings — JSONB passthrough, duplicate import, planWriteBack stringify
  • 151144cd feat(task-805): MCP server: improve dead_ends and brief_implications capture in build_execute
  • 07fcb1e5 feat(task-818): realignPhases should run during orient or plan, not only during strategy review
  • eb0e7f38 feat(task-834): BUG: Data-proxy JSONB double-encoding — JSON.stringify before Supabase JS insert
  • 0485fca5 feat(task-832): BUG: Proxy-adapter returns snake_case rows — camelCase field access silently fails
  • b2ed906c feat(task-833): Fix stale [S${cycle}] prefix in briefImplications format string — should be [C${cycle}]
  • 2339f827 docs: add Cycle 144 dogfood log entry

v0.144.0

  • d918a338 Merge pull request #373 from cathalos92/feat/task-825
  • f585b8b1 Merge pull request #372 from cathalos92/feat/task-815
  • 5d0e21c3 Merge pull request #371 from cathalos92/feat/task-830
  • 0aa4aeb3 feat(task-825): Consolidate TaskStatus definitions and fix sanitize.ts gaps
  • 55421cf2 feat(task-815): Replace hardcoded cycle counts with live data on landing page
  • 7dc59876 feat(task-830): Add briefImplications to strategy_change context assembly
  • 107e24aa chore: remove git branch -D from deny list — branch cleanup is permitted
  • 6861c589 docs: add Cycle 143 dogfood log entry

v0.143.0

  • fa8b419d feat(task-831): Audit all JSONB write paths for double-encoding — JSON.stringify before postgres.js insertion
  • 3ee964bf feat(task-813): BUG: planWriteBack in data-proxy is not atomic — sequential calls race under concurrent use
  • eeefc35c feat(task-814): BUG: Migration file 20260328_security_hardening_rls.sql doesn't match applied state + reviews_stage_check constraint missing from migrations
  • e53793f3 feat(task-829): Dead code cleanup: remove use-data-url.ts, ProjectIdentityHeader, brain-reader.ts fetchBrainData
  • 1303cb31 feat(task-828): writeCostSnapshot never called — dead write path with working read path
  • 51e9ec9a docs: add Cycle 142 dogfood log entry

v0.142.0

  • 574bb345 feat(task-816): PAPI_USER_ID auto-detection during setup — prevent NULL user_id projects visible to all OAuth users
  • 7e9bd7e6 feat(task-820): Fix structured_data JSONB double-encoding — stored as JSON string requiring double-parse
  • d6c25437 feat(task-811): Bug: phase-realign auto-updater contaminates H2 phases — needs horizon-aware gating
  • 492228b6 feat(task-827): Setup page references private repo URL — won't work for external users
  • e6b85e0a feat(task-821): Fix two unsuperseded North Stars in DB — only most recent should be active
  • 59a0805c docs: add Cycle 141 dogfood log entry

v0.141.0

  • 67adccf0 feat(task-798): Wire doc_search into strategy review context assembly
  • 6afba043 feat(task-791): DB: Add review_number + review_type columns to strategy_reviews
  • fed4414d feat(task-795): MCP tool: board_edit for editing backlog task fields from CLI
  • 4605c6e5 feat(task-785): Update investor one-pager traction numbers — cycles 119→138, tasks 634→current
  • 5beea03b feat(task-797): Fix H2 hierarchy contamination — reset premature In Progress/Done statuses on H2 stages and S5
  • 210caabf copy: rewrite hero heading — specific problem statement over vague claim
  • bfcd8a2a revert: undo velocity governance copy changes on landing page
  • 40655ae9 docs: add Cycle 140 dogfood log entry

v0.140.0

  • 0e0bf8c4 Merge pull request #370 from cathalos92/feat/task-784
  • 84d46b45 Merge pull request #369 from cathalos92/feat/task-786
  • 01ca9382 Merge pull request #368 from cathalos92/feat/task-783
  • 6820cca1 Merge pull request #367 from cathalos92/feat/task-775
  • 6ed11e71 Merge pull request #366 from cathalos92/feat/task-788
  • a0ac0f15 copy: shift positioning from context persistence to velocity governance
  • df3a6057 docs: add doc_register, doc_search, doc_scan to tool reference
  • b167052a feat(audit): add Active Decision compliance check to papi-audit skill
  • bcc5e656 feat(dashboard): add cockpit empty state for new projects and completed cycles
  • b113a127 fix(idea): only show doc reference nudge when task is actually created
  • a32920d7 docs: add Cycle 139 dogfood log entry

v0.139.0

  • 9b368b93 Merge pull request #365 from cathalos92/feat/task-778
  • 987a3b87 Merge pull request #364 from cathalos92/feat/task-777
  • 33570823 Merge pull request #363 from cathalos92/feat/task-782
  • da6cb38c Merge pull request #362 from cathalos92/feat/task-779
  • ebaccca8 Merge pull request #361 from cathalos92/feat/task-780
  • 32e29d8b feat(task-778): user-friendly error messages in DataWarning
  • 7d351333 feat(task-777): show user identity in dashboard header
  • 749301ee feat(task-782): inject relevant Active Decisions into build_execute handoff
  • 59dfd275 feat(task-779): rename Docs to Get Started on landing page
  • aaf8a0ae feat(task-780): extract hardcoded Vercel URLs to env vars
  • 8e9981de fix: doc registry actions param + idea tool reference nudge
  • 751fef39 docs: add Cycle 138 dogfood log entry

v0.138.0

  • 01736d77 Merge pull request #360 from cathalos92/feat/task-771
  • c90661b3 Merge pull request #359 from cathalos92/feat/task-772
  • 03501bcc feat(task-771): SSE refresh debounce — prevent excessive re-renders on batch operations
  • 3980042b feat(task-772): Extract comment formatting helper — dedup build.ts and board.ts
  • 2630d931 fix: resolve onboarding/auth bugs breaking dashboard (#358)
  • 6d5c917c feat(task-697): doc registry phase 3 — doc_scan tool + dashboard data + plans directory
  • 160e7c78 docs: add Cycle 137 dogfood log entry

v0.137.0

  • c76a5e26 fix: add retry on display_id collision in dashboard review submit
  • 5f16e37f Merge pull request #356 from cathalos92/feat/task-758
  • fbd8647a Merge pull request #355 from cathalos92/feat/task-759
  • 7103ac17 Merge pull request #354 from cathalos92/feat/task-767
  • 9d6dc447 fix: exclude scripts/ from tsconfig to fix Vercel type-check
  • 1fb433e0 fix: only build prompts entry on Vercel — skip full server bundle
  • a33bcb5f fix: split tsup config so prompts entry builds without adapter deps
  • 4c0dfd3d fix: add server package build to Vercel build pipeline
  • 188168a7 fix: add prompts subpath export to MCP server package
  • 70e3bacd fix: add display_id to dashboard review submission
  • 827ef47a feat(task-758): wire SSE into cockpit for instant dashboard refresh
  • 93bbccd0 feat(task-759): surface task comments in build_list and board_view output
  • 0bea3faa feat(task-768): add request-scoped memoization to dashboard data-provider
  • f62d76f6 feat(task-767): fix N+1 queries in loadProjectsFromDb and completeBuild over-fetch
  • 3d1abe39 docs: add Cycle 136 dogfood log entry

v0.136.0

  • 5dc2b117 Merge pull request #353 from cathalos92/feat/task-769
  • 9b9614a0 Merge pull request #352 from cathalos92/feat/task-766
  • ef7087bf Merge pull request #351 from cathalos92/feat/task-765
  • 258dda0c Merge pull request #350 from cathalos92/feat/task-757
  • 806a808c fix: protect Deferred phases from auto-propagation regression
  • e6ed7001 fix: tighten mapSupabaseResult — require mapper, restore length guard
  • 3549830d refactor: extract mapSupabaseResult utility to deduplicate data-provider (task-769)
  • 41dcafec feat: idea tool similarity gate — block creation and require user confirmation (task-766)
  • 29fb2278 feat: enforce full-depth strategy review output with two-phase delivery (task-765)
  • a8b9b495 fix: prevent phase auto-update from regressing manually-set statuses (task-757)
  • 9b65e9e5 refactor: apply codebase simplification audit findings
  • 1f906858 docs: add Cycle 135 dogfood log entry

v0.135.0

  • 22f00ba2 Merge pull request #349 from cathalos92/feat/task-692
  • 964dd108 Merge pull request #348 from cathalos92/feat/task-740
  • 107e5ca9 Merge pull request #347 from cathalos92/feat/task-753
  • 1893f604 Merge pull request #346 from cathalos92/feat/task-756
  • 0555cafd feat: add project bootstrap from portfolio page (task-692)
  • d4b71581 feat: add cockpit polling and focus revalidation (task-740)
  • 8f3452b9 fix: replace allowlist gate with email-verified check (task-753)
  • 784c58fa fix: secure multi-tenant write paths (task-756)
  • 509aefd0 docs: add Cycle 134 dogfood log entry

v0.134.0

  • f8542917 Merge pull request #345 from cathalos92/feat/task-734
  • e6f167b9 Merge pull request #344 from cathalos92/feat/task-741
  • f8a2bf99 Merge pull request #343 from cathalos92/feat/task-755
  • 71fb12a1 Merge pull request #342 from cathalos92/feat/task-752
  • 24682ec8 fix(task-734): skip .papi commits when directory is gitignored
  • 7ebe6c22 docs(task-741): document npm publish and Vercel deploy workflows in CLAUDE.md
  • a064aff1 feat(task-755): API key management UI — generate, view, and revoke keys
  • 14a8e4b5 feat(task-752): email signup + sign-in with confirmation flow
  • a1127e86 docs: add Cycle 133 dogfood log entry

v0.133.0

  • f022894c Merge pull request #341 from cathalos92/feat/task-750
  • d3c26046 Merge pull request #340 from cathalos92/feat/task-749
  • f86e2232 Merge pull request #339 from cathalos92/feat/task-748
  • c8eb81b2 feat(task-750): provider-aware user_profiles trigger for email auth
  • 7ff9bb38 feat(task-749): provider-aware auth — support email alongside GitHub OAuth
  • 67fdebdb fix(task-748): preserve Supabase session cookies through middleware
  • a67554f8 Merge pull request #338 from cathalos92/feat/task-754
  • fbbcc565 Merge pull request #337 from cathalos92/feat/task-751
  • 68c1f590 feat(task-754): separate auth layout — login/onboard without app nav
  • 6eae6042 feat(task-751): redirect unauthenticated root URL to landing page
  • 13ab8b19 docs: add Cycle 132 dogfood log entry

v0.132.0

  • c579d626 Merge pull request #336 from cathalos92/feat/task-738
  • 6eafcb15 Merge pull request #335 from cathalos92/feat/task-737
  • ad3bb6ec feat(task-738): personalised MCP config on setup page for logged-in users
  • e37673ea feat(task-737): setup verification endpoint + dashboard status indicator
  • d7a1483e Merge pull request #334 from cathalos92/feat/task-736
  • 806abdb4 security(task-746): fix doc_registry RLS — replace USING(true) with strict project_id scoping
  • d456667e feat(task-736): Onboarding flow audit & redesign document
  • 3de6b16b security: remove hardcoded proxy key and shared-secret auth from data-proxy
  • d9c566ff docs: add Cycle 131 dogfood log entry

v0.131.0

  • c85d4905 feat(task-700): Landing page branding: Visual refresh with improved imagery and brand identity
  • 0b8c2bab feat(task-699): Landing page messaging: Sharpen value proposition and above-the-fold clarity
  • 646896ab feat(task-732): Dashboard API: decision_events endpoint for AD timeline and relationship views
  • 875ef065 feat(task-688): Surface pending AD state on dashboard and flag in planner
  • 98d8bd6a feat(task-733): Fix pre-existing next build type error in stress test createTask call
  • 293ebc35 docs: add Cycle 130 dogfood log entry

v0.130.0

  • b81f4ae0 feat(task-662): Setup page: add orientation context, completion state, error guidance
  • 9773bc76 feat(task-664): Strategy page: decision staleness signals, relationships, connected narrative across tabs
  • 8eee37d3 feat(task-695): Doc Registry Phase 1: Foundation — Schema, Registry Service, Auto-Detection
  • acada475 feat(task-681): Complete taxonomy migration: rename Sprint* interfaces/types in pg-papi-adapter.ts and data-proxy
  • 0ce5f477 feat(task-691): Strategy review apply persistence — retry lost reviews next session
  • c1efac99 docs: add Cycle 129 dogfood log entry

v0.129.0

  • aa7af1e9 feat(task-694): Strategy review: replace cycle-count staleness with drift-based staleness for briefs, ADs, and North Star
  • f7c444e3 feat(task-693): Strategy review: link recommendations to action items with status tracking
  • 275904c9 feat(task-682): Track build iteration count (pushbacks before review) as rework metric
  • f5bc47fd feat(task-721): Strategy review: include non-task git commits in context to catch ad-hoc work
  • 7a0fc62e feat(task-722): Orient: include npm published version vs local version check — flag dist-tag drift
  • bcc9b563 docs: add Cycle 127 + 128 dogfood log entries

v0.128.0

  • f30ff798 feat(task-713): Fix process.env.PAPI_PROJECT_DIR mutation race condition in API routes
  • 9ceaab76 feat(task-720): npm security audit — verify package config, 2FA, access controls
  • 2a5c0b6e feat(task-714): Validate /api/intelligence model and maxTokens to prevent cost abuse

v0.127.0

  • 045c5dde Merge pull request #333 from cathalos92/feat/task-518
  • 33bfd520 Merge pull request #332 from cathalos92/feat/task-712
  • bd67f0a7 Merge pull request #331 from cathalos92/feat/task-729
  • 7bfbe853 feat(task-518): add PAPI_LIGHT_MODE config for branchless builds
  • 596a1cbb feat(task-712): create /security-audit skill for codebase-wide reviews
  • 28cc0561 feat(task-729,730,731): fix planner cycle sizing, rec expiry, scope pre-check
  • 56a1c765 docs: dogfood log for Cycle 126 — undersized cycle, stale strategy recs

v0.126.0

  • f4e810c9 Merge pull request #330 from cathalos92/feat/task-728
  • 5cf725bf Merge pull request #329 from cathalos92/feat/task-726
  • 0b050e64 feat(task-728): add block action to board_deprioritise + planner blocked-task instructions
  • 8514a985 feat(task-726): add PRE-BUILD VERIFICATION to BUILD HANDOFFs
  • 86d4dce9 ci: build packages individually to unblock publish past adapter-pg DTS errors
  • da74962a fix: drop -alpha suffix from npm package versions so latest dist-tag advances

v0.125.1

  • 78faa4fa docs: dogfood log for Cycle 125 — planner already-built check failure

v0.125.0

  • 4407003a Merge branch 'feat/task-687'
  • 794ae077 Merge pull request #328 from cathalos92/feat/task-690
  • 1c5cfa11 feat(task-690): pg adapter stress test — 10 cycles with RLS validation
  • 95398617 feat(task-687): Add Strict-Transport-Security header to next.config.ts
  • a8087bae ci: auto-publish MCP server to npm on merge + fix CI lock file drift

v0.124.0

  • 09ea6224 refactor: auto-link projects by GitHub username, remove manual claim flow
  • ab59c70d feat(task-711): Data proxy: per-user API keys with project ownership verification
  • f33d5330 feat(task-710): Scope onboard endpoint to prevent cross-user project enumeration and claiming races
  • 89d98bfc feat(task-708): Remove hardcoded project UUIDs from brain-supabase.ts
  • b60ea0e8 feat(task-715): Create waitlist_signups migration (table has no migration, was created manually)
  • cc01536f fix: cockpit shows 'Released' instead of 'ready for release' for completed cycles
  • 8be52a45 security: restrict admin telemetry to owner-only, not any authenticated user
  • f6ed2b90 fix: allow authenticated dashboard sessions to access admin telemetry

v0.123.0

  • 05271935 Merge pull request #327 from cathalos92/feat/task-717
  • e9906661 Merge pull request #326 from cathalos92/feat/task-709
  • 2b18bed1 Merge pull request #325 from cathalos92/feat/task-706
  • 7ba26f5b merge: feat/task-661 — board empty states (orphaned from C120)
  • 19b488e9 refactor(task-717): deduplicate isProjectAllowed — use lib/auth.ts canonical version
  • 649652c6 fix(task-709): add missing NOT NULL fields to dashboard createBuildReport
  • 45ecc41e feat(task-706): cascade user_id on project claim + fix ensure-schema gaps
  • a227cb85 security: critical hotfixes — auth on 5 unprotected routes, IDOR fix, admin gating, RLS hardening
  • 7aa60eeb fix: board empty states, hide filters when empty, remove CLI jargon (task-661)

v0.122.0

  • 91c92563 Merge pull request #324 from cathalos92/feat/task-705
  • 4224b937 security: remove user_id IS NULL fallback — strict user isolation
  • 4f4f87df feat(task-705): data isolation — scope DB queries by user_id + onboarding gate
  • c3fd38ad security: restrict OAuth login to allowlisted GitHub accounts

v0.121.0

  • 9f7a3b25 chore(task-703): commit remaining changes before branch switch
  • db719a4b security: strip x-papi-* headers from incoming requests to prevent spoofing
  • e72f80d2 Merge pull request #322 from cathalos92/feat/task-701
  • daf7454d Merge pull request #321 from cathalos92/feat/task-704
  • 69e31d9c Merge pull request #320 from cathalos92/feat/task-703
  • 28a97b27 Merge pull request #323 from cathalos92/fix/oauth-data-api
  • 9c861718 fix: unify API route auth to support GitHub OAuth sessions
  • 315a787a Revert "Revert "fix: guard ProjectProvider against non-array API responses""
  • 52a766c4 Revert "fix: guard ProjectProvider against non-array API responses"
  • ed614a12 fix: guard ProjectProvider against non-array API responses
  • 02c15f6d fix: guard ProjectProvider against non-array API responses
  • f5760f07 fix(task-703): use correct theme tokens in admin page — fixes production render
  • aebba391 fix(task-703): add Admin link to dashboard navigation under More menu
  • b5c9838d feat(task-701): add funnel analytics tracking to landing and setup pages
  • 7c9533e0 feat(task-704): configure dogfood logging for external users during setup
  • 7b5b5eff feat(task-703): MCP telemetry infrastructure — track tool calls, projects, milestones
  • 57515172 docs: add Cycle 120 dogfood log entry

v0.120.0

  • 7ae0ee3d Merge pull request #319 from cathalos92/feat/task-660
  • b3d47033 Merge pull request #318 from cathalos92/feat/task-659
  • e486d59c feat(task-660): Landing page: CTA hierarchy, scroll incentive, social proof with real numbers
  • a13f3cba feat: landing page CTA hierarchy, scroll incentive, social proof (task-660)
  • ad9f6ed7 feat(task-659): Mobile responsive pass: fix critical breakage on cockpit, board, and analytics
  • 7f51031d fix: mobile responsive pass — cockpit, board, analytics (task-659)
  • fc7fb581 chore: clean up temp files and add waitlist route
  • cf95de42 chore: pre-cycle-120 cleanup — landing page, auth, docs, config updates
  • 42f7ad0b docs: add Cycle 119 dogfood log entry

v0.119.0

  • ee150cbd perf: delta-only discovery canvas in strategy review
  • 6c712268 perf: summarise completed tasks by module in strategy review
  • 021b1f7f perf: compact previous strategy reviews to summary + top recommendation
  • 1448d12a perf: exclude deferred tasks from strategy review context
  • 9a8687e8 perf: fetch 5 human reviews instead of 20 in strategy review
  • 88e2528c docs: add Cycle 118 dogfood log entry

v0.118.0

  • 2f8b03df perf: strip AD body text in strategy review context
  • 19409d07 fix: release tag version derived from task cycle, not health.totalCycles
  • 66b6c0b4 fix: skip .papi commit in review_submit when directory doesn't exist
  • ed9ffd13 fix: review_submit handles uncommitted changes before branch switch
  • 02e6fa0f fix: ad_hoc no longer marks tasks Done when passed a task_id
  • aebe560c perf: PgBouncer prepare:false fix + strategy review query parallelization
  • d07ac1fa docs: add Cycle 117 dogfood log entry

v0.117.1

  • c0b9efae fix: CycleHero layout — flex instead of grid for even stat distribution
  • d0cbfaf6 Merge pull request #315 from cathalos92/feat/task-672
  • eea039d2 Merge pull request #317 from cathalos92/feat/task-658
  • c6ac958f Merge pull request #316 from cathalos92/feat/task-657
  • 449e78ab fix(task-657): single-row grid layout — stats beside headline with divider
  • 768f6059 fix(task-657): segmented ring — shows Done/InReview/InProgress progress
  • 9a1cbd9a fix(task-657): ring visibility — brighter track, done/total counter
  • 8f449c75 fix(task-657): stats strip redesign — full-width grid with large numbers
  • f0c14758 fix(task-657): address review feedback — consolidate hero pane
  • 326f674e feat(task-658): Analytics reframe: kill metrics wall, add headline insight, make velocity chart the hero
  • c73a0bc0 feat(task-658): analytics reframe — velocity chart hero + headline insight + kill metrics wall
  • a755e856 fix: update stale sprint_number/sprint_range column refs to cycle_number/cycle_range
  • 1e6d8bec feat(task-657): Cockpit redesign: Cycle Ring hero + headline insight + progressive disclosure
  • c2a60873 feat(task-657): cockpit redesign — Cycle Ring hero + headline insight + progressive disclosure
  • c39b1b66 chore(task-672): bump adapter-pg to 0.1.2-alpha for republish
  • b05e4df8 Merge branch 'main' into feat/task-672
  • 941e8800 docs: add Cycle 116 dogfood log entry
  • 6c947808 feat(task-657): Cockpit redesign: Cycle Ring hero + headline insight + progressive disclosure
  • 6d57ef80 revert(task-657): restore cockpit to pre-redesign state
  • 12d3905a fix(task-657): address cockpit review feedback — 6 fixes
  • e7664759 feat(task-657): cockpit redesign — Cycle Ring hero, stats bar, progressive disclosure
  • 5addb9f2 chore(task-672): bump versions for npm publish

v0.117.0

  • 27152d1c Merge pull request #314 from cathalos92/feat/task-673
  • b2be0801 Merge pull request #313 from cathalos92/feat/task-671
  • 82cdd7a9 feat(task-673): add XS to effort/complexity taxonomy
  • 2481977f fix(task-671): bootstrap-project skill prefers local PAPI build
  • b98f7569 docs: add Cycle 115 dogfood log entry

v0.116.0

  • 707b6537 Merge pull request #312 from cathalos92/feat/task-670
  • 8ffc9b92 Merge pull request #311 from cathalos92/feat/task-669
  • abeda75d Merge pull request #310 from cathalos92/feat/task-668
  • ad376628 Merge pull request #309 from cathalos92/feat/task-667
  • c1d281be Merge pull request #308 from cathalos92/feat/task-666
  • 7e91674a fix(task-670): clean up .papi/ references in user-facing strings for PG adapter
  • d3a160f5 fix(task-669): make error messages adapter-aware for PG users
  • 9c8ea99b fix(task-668): rename sprint_number to cycle_number in MCP tool schemas
  • 27b97bad fix(task-667): surface schema creation errors instead of silent swallow
  • 7a733107 fix(task-666): remove duplicate column definitions in ensure-schema.ts
  • 5c418ab2 fix: remove artificial effort budget floor from cycle sizing
  • efcb6566 docs: add Cycle 114 dogfood log entry

v0.115.0

  • 04ef38ed docs: add C114 dashboard UX audit docs and impeccable config
  • 029c3856 feat: add project frame + dogfood log to bootstrap-project skill
  • c0881640 feat: add bootstrap CLAUDE.md to /bootstrap-project skill
  • a6f86cdd feat: add /bootstrap-project skill for rapid client project setup
  • 9ba2e2fa fix: complete sprint→cycle DB column rename (migration + adapter)

v0.114.0

  • 944e5779 docs: Cycle 114 research — scope enforcement, AD validation, feature durability audit
  • bca01138 feat(task-653): Codebase sprint→cycle rename — 1,753 references across 108 files still use old taxonomy (#307)
  • a68d1561 docs: Cycle 113 dogfood log entry

v0.113.0

  • bf193d83 Merge pull request #305 from cathalos92/feat/task-651
  • 0a853d19 merge: resolve conflict in middleware.ts — combine task-651 + task-655 public paths
  • 8045f2f5 Merge pull request #306 from cathalos92/feat/task-652
  • 056a9a45 Merge pull request #304 from cathalos92/feat/task-655
  • 0420aee6 feat(task-652): Drop orphaned sprint-era DB tables (sprints, sprint_tasks, sprint_metrics_snapshots, v_velocity_by_sprint) — taxonomy migration left parallel structures causing data divergence
  • 736530a8 feat(task-651): Dashboard sign-up form — self-service user registration
  • 48423b24 feat(task-655): GitHub OAuth + RLS authentication for dashboard
  • 21766633 feat(task-654): Write-path routing decision — MCP proxy vs direct Supabase for dashboard actions
  • a8d914d5 feat: zero-config external user onboarding — hosted proxy as default

v0.112.0

  • 05c69e05 feat(task-420): Build start/complete flow through dashboard
  • 4327e92d feat(task-164): Export sprint reports and metrics to PDF or CSV
  • 8fc13f41 feat(task-603): Generate project CLAUDE.md during setup — give the user's Claude Code session PAPI workflow instructions

v0.111.0

  • eb9af815 feat(task-475): Board filter bar UX — add visual grouping and reduce density
  • 7b50423b feat(task-256): NorthStar supersede indicator — show previous/replaced NorthStar on dashboard
  • 52e8339c feat(task-299): Add [bug] command to log bugs to task backlog — bug tasks can be grouped together into a single sprint task

v0.110.0

  • cb2fc74a Merge pull request #303 from cathalos92/feat/task-646
  • db6c1954 feat(task-646): Dashboard attention system — "needs attention" badges on cockpit
  • 3211e19e feat(task-646): Dashboard attention system — "needs attention" badges on cockpit
  • 5430d822 feat: add attention strip to cockpit CommandHeader
  • 1e8572ba fix: treat 'In Cycle' status as buildable in dashboard action derivation
  • e2063594 fix: remove stale migration path references from llms-install.md
  • 34314038 docs: update setup page and discord guide to reflect current install path
  • 317b4d05 feat: add deleteActiveDecision — allow strategy tools to permanently remove ADs
  • 5974f467 docs: add C109 dogfood log entry

v0.109.0

  • 1a13af1d Merge pull request #301 from cathalos92/feat/task-643
  • 78820be0 feat(task-643): Data write proxy for external users — route MCP server writes through hosted API instead of direct DATABASE_URL
  • 59770cd8 feat(task-643): data write proxy for external users
  • 87dda291 chore: add dashboard screenshots for landing page
  • 7c259d36 Merge pull request #300 from cathalos92/feat/task-632
  • 1b6c1e0c docs(task-632): CLI-to-dashboard connected ecosystem research
  • 37daec2f feat: add Active Decision health audit to zoom-out prompt
  • d2d62620 fix: exclude supabase/ from tsconfig to fix Vercel build
  • 5d646b40 feat(task-644): dashboard overhaul — fix bugs, remove bloat, improve cockpit strategy
  • 34df27ba chore: add playwright-skill for browser automation and screenshots
  • 6b24d0d6 docs: add C108 dogfood log entry

v0.108.0

  • 7f65707e Merge pull request #298 from cathalos92/feat/task-642
  • aebf9acb Merge pull request #297 from cathalos92/feat/task-640
  • 54e3a9e4 Merge pull request #296 from cathalos92/feat/task-641
  • cc29e8ef feat(task-642): Implement hosted API proxy for external PAPI distribution — Supabase Edge Function for prompt serving + remote fetch in MCP server
  • 0a4d66fd feat(task-640): Wire pr-reviewer skill output into review_submit auto_review format — close the auto-review integration gap
  • d18dd49b feat(task-641): Auto-update phase status when all phase tasks are Done — eliminate manual phase status tracking
  • 282057e2 docs: add C107 dogfood log entry

v0.107.0

  • 6d73d725 Merge pull request #295 from cathalos92/feat/task-577
  • e41ff15f fix: resolve merge conflict in docs/INDEX.md
  • 8618d392 Merge pull request #294 from cathalos92/feat/task-638
  • a2906783 feat(task-577): Remote-hosted prompt architecture — move methodology prompts server-side
  • f9e825d8 feat(task-638): Distribution architecture: how to let external users access PAPI without exposing codebase or sharing DB
  • d56aebd0 docs: add C106 dogfood log entry

v0.106.0

  • 69642867 Merge pull request #293 from cathalos92/feat/task-637
  • 317ed683 feat(task-637): Audit action routes (app/api/actions/) for project ownership verification — may not check project_id belongs to authenticated user
  • d1cab0e1 docs: add C105 dogfood log entry

v0.105.2

  • a4cd248b Merge pull request #292 from cathalos92/feat/task-620
  • 738704e1 Merge pull request #291 from cathalos92/feat/task-634
  • fac4486f Merge pull request #290 from cathalos92/feat/task-633
  • a44719cd Merge pull request #289 from cathalos92/feat/task-635
  • 79e09c38 feat(task-620): fix multi-tenant data isolation (Phase 1)
  • fe8bf4d7 feat(task-634): add IDE branch-switch notification note to build output
  • 81691119 feat(task-633): bump @papi-ai/server to 0.3.1-alpha.0 and update plugin
  • 5a26ffa4 fix(task-635): correct handleBoardDeprioritise test expectations
  • 3b7452aa Merge branch 'feat/task-619'
  • 0ecb1e4d docs: add C104 dogfood log entry
  • 67e36498 fix: orient missing 'In Cycle' and 'Ready' tasks in sprint count

v0.105.1

  • 49340e99 Merge pull request #286 from cathalos92/feat/task-602
  • aefd80ab feat(task-602): Automated code review subagent in review phase — two-layer review before human
  • 4d1bcad1 Merge pull request #288 from cathalos92/feat/task-630
  • 3e3ceeb4 Merge pull request #287 from cathalos92/feat/task-623
  • 4e5d1712 Merge pull request #285 from cathalos92/feat/task-626
  • de9e7d48 feat(task-630): Research: Hosted backend feasibility — cost model, auth model, data isolation, aggregate learning pipeline for external users
  • 26395244 feat(task-623): Plugin distribution MVP — bundle updated npm server + existing skills + hooks + commands into installable Claude Code plugin
  • 4929f29a feat(task-626): Light-ceremony mode for XS/S tasks — allow recording work without full build_execute ceremony (skip handoff generation and branch creation when unnecessary)
  • 30248105 docs: add C103 dogfood log entry

v0.105.0

  • 5b65f423 Merge pull request #282 from cathalos92/feat/task-621
  • 7eef35bd Merge pull request #284 from cathalos92/feat/task-624
  • 61cc110e Merge pull request #283 from cathalos92/feat/task-622
  • 20798a6d Merge pull request #281 from cathalos92/feat/task-625
  • caadbe73 feat: dogfood pipeline v1 — status tracking and planner integration
  • b90c23da docs: fix broken references in install/setup/quickstart docs
  • 6abc1623 chore: bump @papi-ai/server to 0.3.0-alpha.1
  • bc73490d fix: add progressive context budget to zoom-out tool
  • 34035b8d docs: add C102 zoom-out session artifacts

v0.104.0

  • c39158f5 Merge pull request #280 from cathalos92/feat/task-572
  • a5bd7aa5 Merge pull request #279 from cathalos92/feat/task-494
  • 0b299c4f Merge pull request #278 from cathalos92/feat/task-619
  • 71ffca9b Merge pull request #277 from cathalos92/feat/task-618
  • ec7c6415 feat(task-572): Discord server setup for PAPI community
  • 7da4e73c feat(task-494): Zoom-out session — higher-level retrospective above strategy reviews
  • 16dd0220 feat(task-619): Board reconcile hierarchy alignment + similarity detection
  • 74833667 feat(task-618): Planner stale task detection + extractAdReferences dedup
  • ebfc6c68 docs: add branding assets — branding prompt, Discord setup guide, icon
  • a38ae297 docs: restore Sprints 23-35 catch-up dogfood entry from stash
  • eae968e2 docs: add Cycle 101 dogfood log entry

v0.103.0

  • 4ea5058a Merge pull request #276 from cathalos92/feat/task-281
  • ac437942 feat(task-281): Wire context utilisation measurement and persistence
  • b8a649ca Add Vercel Analytics and update Discord link (#275)
  • a0ff372e docs: add Cycle 100 dogfood log entry

v0.102.0

  • a62bf061 Merge pull request #274 from cathalos92/feat/task-611
  • fbc77f16 Merge pull request #273 from cathalos92/feat/task-587
  • 722861e6 Merge pull request #272 from cathalos92/feat/task-613
  • 03c2d16e Merge pull request #271 from cathalos92/feat/task-614
  • d46fa8b1 feat(task-611): progressive context budget for strategy review
  • 109a7b75 feat(task-587): instrument time-to-first-value milestones
  • 6351f4f4 feat(task-613): add decision scores table to Strategy Decisions tab
  • 857e3bab feat(task-614): add dogfood log API endpoint and dashboard display
  • 1049a7c5 docs: add Cycle 99 dogfood log entry

v0.101.0

  • 1526e155 Merge pull request #270 from cathalos92/feat/task-612
  • 6a665249 Merge pull request #269 from cathalos92/feat/task-576
  • d8201e1b Merge pull request #268 from cathalos92/feat/task-616
  • 49782af3 Merge pull request #267 from cathalos92/feat/task-615
  • 6e26970c feat(task-612): Dogfood log action pipeline — surface recurring friction as candidate backlog tasks during strategy review
  • 3d325d71 feat(task-612): strengthen dogfood friction→task conversion pipeline
  • c5afc454 feat(task-576): write-read round-trip audit — map all data flows
  • 9ee9dfb3 feat(task-616): add hierarchy_update MCP tool for stage/horizon status
  • 305e64c0 feat(task-615): auto-propagate phase status on task status changes

v0.100.0

  • 9df0f726 Merge pull request #266 from cathalos92/feat/task-601
  • 57a07d51 Merge pull request #265 from cathalos92/feat/task-599
  • f7e25671 Merge pull request #262 from cathalos92/feat/task-610
  • 0a1bb38d feat(task-601): add PAPI verification skill — structured cycle health check
  • 6b774bf7 feat(task-599): add PAPI lifecycle hooks — context recovery, plan guard, release reminder
  • 6726d935 feat(task-610): consolidate Strategy page — 5 tabs to 3
  • eb22a322 chore: append dogfood log entry for cycles 93-97

v0.99.0

  • 17de9b5c feat(task-607): analytics page overhaul — metric explanations, chart cleanup, tab rename
  • eeed3848 Merge pull request #260 from cathalos92/feat/task-609
  • da45cd39 Merge pull request #259 from cathalos92/feat/task-606
  • 8a73ee63 Merge pull request #258 from cathalos92/feat/task-605
  • f17f62b2 Merge pull request #257 from cathalos92/feat/task-608
  • 84443e40 feat(task-609): add dates alongside cycle numbers, rename Lineage to Decision History
  • 1359cee3 feat(task-606): replace MCP command names with human-readable text
  • 93d96185 feat(task-605): add project identity header to cockpit
  • fbce139a feat(task-608): remove /brain page, redirect to /analytics, fix hardcoded slug

v0.98.0

  • 2531d3e8 Merge pull request #256 from cathalos92/feat/task-581
  • aecd6c63 feat(task-581): Dashboard audit from external user perspective — "sales tool" review
  • 7d5f1746 Merge pull request #255 from cathalos92/feat/task-580
  • 1f481c1e feat(task-580): Landing page full redesign — 11 sections to 7, community-first
  • db14a04d feat(task-580): Landing page rewrite — update v4 spec for post-research reality
  • ff9ce42b Merge pull request #254 from cathalos92/feat/task-571
  • 36448dcf feat(task-571): FAQ page — 10 essential questions for evaluating PAPI
  • 39046810 Merge pull request #253 from cathalos92/feat/task-570
  • aab38107 feat(task-570): Architecture overview — one-page what-runs-where diagram
  • f705de82 Merge pull request #252 from cathalos92/feat/task-604
  • 36371763 feat(task-604): Build proof-of-concept PAPI plugin — validate plugin distribution end-to-end

v0.97.0

  • 3bff9d2f Merge pull request #251 from cathalos92/feat/task-590
  • a7ea3203 Merge pull request #250 from cathalos92/feat/task-598
  • 76dc4ffc Merge pull request #249 from cathalos92/feat/task-597
  • c8faf70b Merge pull request #248 from cathalos92/feat/task-596
  • 924e6f17 Merge pull request #247 from cathalos92/feat/task-600
  • 72870f08 feat(task-590): Research: PAPI as Claude Code plugin — single-command installation
  • a11a34af feat(task-598): Add gotchas section to alpha tester guide — 95 cycles of learned failure modes
  • a8998dcb feat(task-597): Harden .claude/settings.json for external users — pre-approve PAPI workflow permissions
  • 15b71de0 feat(task-596): Split CLAUDE.md under 200 lines — monorepo-aware structure
  • 908f9be5 feat(task-600): Audit all PAPI skill descriptions — rewrite as trigger conditions, not summaries

v0.96.0

  • 28d3907a Merge pull request #246 from cathalos92/feat/task-573
  • 62a6b32c Merge pull request #245 from cathalos92/feat/task-568
  • 03785f4d Merge pull request #244 from cathalos92/feat/task-569
  • 1ba7de0e Merge pull request #243 from cathalos92/feat/task-589
  • 160f4026 Merge pull request #242 from cathalos92/feat/task-588
  • 6bd35884 feat(task-573): MCP Registry listing — register PAPI on modelcontextprotocol.io
  • 6d16079d feat(task-568): 5-minute quickstart guide for external users
  • 33eac45f feat(task-569): MCP tool reference page — what each tool does, inputs, outputs
  • ca0479d6 feat(task-589): Add "Run setup first" guard to orient and plan when project doesn't exist in DB
  • de6ffbf5 feat(task-588): Update init.ts to generate npx-based .mcp.json config instead of hardcoded node path
  • 701a1ef3 chore: add untracked research doc

v0.95.0

  • 7122ab26 Merge pull request #241 from cathalos92/feat/task-567
  • 65a2d48b Merge pull request #240 from cathalos92/feat/task-566
  • 36688190 Merge pull request #239 from cathalos92/feat/task-565
  • c6322ffa Merge pull request #238 from cathalos92/feat/task-562
  • 72eacf3c Merge pull request #237 from cathalos92/feat/task-564
  • 20dc480d feat(task-567): Fresh alpha readiness audit (Cycle 29 audit is stale)
  • abb9c92a feat(task-566): Example project brief template for new users
  • dd7079dd feat(task-565): Public README rewrite with Taskmaster-benchmark structure
  • 9d18215b feat(task-562): Create llms-install.md — AI-readable install guide
  • 3b74d568 feat(task-564): One-command Claude Code install — verify and document npx path

v0.94.0

  • 18a7e60f Merge pull request #236 from cathalos92/feat/task-561
  • d4a2cf31 Merge pull request #235 from cathalos92/feat/task-563
  • 3997f3b8 Merge pull request #234 from cathalos92/feat/task-585
  • a56bad94 Merge pull request #233 from cathalos92/feat/task-586
  • d638b99e feat(task-561): License decision and LICENSE files for all packages
  • ab0391a1 feat(task-563): Ship .env.example with placeholder values for all packages
  • baa69522 feat(task-585): Validate DATABASE_URL on first tool call — surface clear error instead of silent degraded mode
  • 3f2a6c90 feat(task-586): Auto-add .mcp.json to .gitignore during init — contains credentials

v0.93.0

  • a287f66a Merge pull request #232 from cathalos92/feat/task-583
  • 00271558 Merge pull request #231 from cathalos92/feat/task-538
  • f1c0707b Merge pull request #230 from cathalos92/feat/task-584
  • c83df218 Merge pull request #229 from cathalos92/feat/task-560
  • 8e18dd76 feat(task-583): new project smoke test — friction audit and checklist
  • 129cbf30 feat(task-538): dogfood pipeline — strategy reviews write observations to DB
  • ce7b0199 feat(task-584): deprioritise preserves BUILD HANDOFF, only defer clears it
  • 443066f3 fix(task-560): fix 3 pre-existing server test failures

v0.92.0

  • 7d2093aa docs: update competitive landscape + add strategic research, recommendation chart

v0.89.1

  • 2e7a3a68 Merge pull request #228 from cathalos92/feat/task-537
  • e7b14b9f Merge pull request #227 from cathalos92/feat/task-556
  • 5fb30aa3 feat(task-537): add existing project adoption flow to setup
  • e6e9c451 feat(task-556): add one-line pitch, elevator description, and tagline

v0.88.1

  • 78f64703 Merge pull request #226 from cathalos92/feat/task-559
  • 1546a0bb Merge pull request #225 from cathalos92/feat/task-558
  • 1c0b2929 Merge pull request #224 from cathalos92/feat/task-557
  • 9e863cb2 Merge pull request #223 from cathalos92/feat/task-555
  • 8c1c89af feat(task-559): Strategy review action items — structured output with follow-through gate before plan
  • 949a605b feat(task-558): Create PAPI positioning doc — consolidate scattered messaging into single artifact for S3 completion
  • c1447b27 feat(task-557): Remove dead code — CycleHeader.tsx, ActiveCycleTasks component, brain.json file fallback handler
  • c15709e8 feat(task-555): Idea tool auto-routing silently swallows ideas into Discovery Canvas instead of backlog — revert to always create task
  • b0a4e47f fix: build @papi-ai/shared before next build for Vercel
  • f770543f fix: AD cards — collapsible with markdown rendering, strip HTML comments

v0.87.1

  • e4d6160d Merge pull request #222 from cathalos92/feat/task-490
  • c100df89 Merge pull request #221 from cathalos92/feat/task-551
  • d6229331 Merge pull request #220 from cathalos92/feat/task-549
  • 97932df5 Merge pull request #219 from cathalos92/feat/task-266
  • 55b771f2 Merge pull request #218 from cathalos92/feat/task-540
  • f2cd8b61 feat(task-490): Idea tool smart routing — classify discovery context vs backlog tasks
  • f8ceebfd feat(task-551): Standard doc management system generated by papi setup
  • e38253b9 feat(task-549): Review feedback loop — wire v_recommendation_effectiveness to track if strategy recs were followed
  • a9654ce8 feat(task-266): Real-time dashboard updates via Supabase Realtime
  • c2e343ac feat(task-540): Dead ends field in build reports — track failed approaches to prevent repeat blind alleys

v0.86.1

  • 71559bd3 Merge pull request #217 from cathalos92/feat/task-550
  • abde9e09 feat(task-550): Dashboard design audit — comprehensive UX/visual pass using frontend-design skill
  • 868c4720 fix: cockpit re-fetches on papi-refresh events
  • 50c9475c Merge pull request #216 from cathalos92/feat/task-487
  • 79f8c156 Merge pull request #215 from cathalos92/feat/task-470
  • 790b964d Merge pull request #214 from cathalos92/feat/task-539
  • 4989ae1f feat(task-487): Phase/horizon timeline band — clean up phase data and add visual roadmap band above project timeline bars
  • b58c2d57 fix: cycle assignment + In Cycle status for planned tasks
  • ba3dcaf9 feat(task-470): Add optimistic UI for status changes, saves, and comment posts
  • 468a502b feat(task-539): Setup smoothness audit — test and polish the install-to-first-orient flow end-to-end

v0.91.0

  • d9508402 Merge pull request #213 from cathalos92/feat/task-528
  • 092de9ff Merge pull request #212 from cathalos92/feat/task-531
  • 55210d34 Merge pull request #211 from cathalos92/feat/task-546
  • a5a96a17 Merge pull request #210 from cathalos92/feat/task-545
  • 0c9791f3 feat(task-528): Taxonomy migration Batch D2: Dashboard roadmap — restructure for Horizon→Stage→Phase hierarchy with management UI
  • 94cdcde9 feat(task-531): Setup/init flow update — support new Horizon→Stage→Phase hierarchy for new PAPI projects
  • 58097ef1 feat(task-546): Taxonomy migration: DB schema + code rename — sprint to cycle across tables, columns, and TypeScript
  • 53f02c92 feat(task-545): Graceful fallback if getPlanContextSummary() fails — dead code path in plan service

v0.90.0

  • 7135c033 fix: cockpit dashboard polish — compact board, strategy layout, typography
  • 08e84fa4 Merge pull request #209 from cathalos92/feat/task-536
  • a914b841 Merge pull request #208 from cathalos92/feat/task-256
  • 879b95bb Merge pull request #207 from cathalos92/feat/task-543
  • ed8176d3 feat(task-536): Dashboard consolidation — cockpit as central hub with embedded kanban and project timeline
  • a60c9c23 feat(task-256): NorthStar supersede indicator — show previous/replaced NorthStar on dashboard
  • ce071519 feat(task-543): Remove file fallback readers from data-provider.ts — dead code when Supabase active
  • af7bd014 feat: populate AD-14 hierarchy and wire read/write paths

v0.89.0

  • 28fe462d Merge pull request #205 from cathalos92/feat/task-548
  • d831a2dd feat(task-544): time-window strategy_review board read — filter to last N cycles
  • 4eaa39f0 feat(task-548): Estimation calibration by task type — wire v_estimation_accuracy into planner context
  • 4a3ae232 Merge pull request #206 from cathalos92/feat/task-541
  • 6c335177 Merge pull request #204 from cathalos92/feat/task-547
  • bfa1a7b4 feat(task-541): Connect orphaned DB views to dashboard and health tool — 7 pre-built analytics views unused
  • 38e98190 feat(task-547): North Star drift detection — flag when North Star hasn't been validated in 10+ cycles
  • 53dfe7cb fix: guard briefImplications with Array.isArray before .map()

v0.88.0

  • f4b3636b Merge pull request #203 from cathalos92/feat/task-535
  • 89dcb9d3 Merge pull request #202 from cathalos92/feat/task-534
  • 4fb257f5 Merge pull request #201 from cathalos92/feat/task-533
  • 4f371785 feat(task-535): Fix strategy review rendering on dashboard
  • 9895b8c6 feat(task-534): Taxonomy migration: Coordinated 'In Sprint'→'In Cycle' status rename across packages/shared, MCP server, and adapter-pg
  • a51c340b feat(task-533): Taxonomy migration: Rename brain data types (SprintIntelligence, BrainData.sprints, ReviewSummary.bySprint) to cycle terminology

v0.87.0

  • 40a83a1b chore: sync status brief after cycle 80 builds
  • 35d23d8e Merge pull request #200 from cathalos92/feat/task-529
  • 624edfad feat(task-529): Taxonomy migration Batch E: Documentation — rename Sprint→Cycle in all docs, templates, and domain model
  • ee144634 Merge pull request #199 from cathalos92/feat/task-527
  • 166eae48 fix(task-527): review fixes — missed GroupMode enum, URL params, CSS class, DataPoint renames
  • c977f498 feat(task-527): Taxonomy migration Batch D: Dashboard — rename Sprint→Cycle in all components, labels, API routes, and chart titles

v0.86.0

  • 1c0a9940 Merge pull request #198 from cathalos92/feat/task-525
  • 397daf47 feat(task-525): Taxonomy migration Batch B2: MCP services — update plan, strategy, orient, health, build, review, release services for cycle/hierarchy
  • 2e7a58bc Merge pull request #197 from cathalos92/feat/task-524
  • ee05aa7b Merge pull request #196 from cathalos92/feat/task-530
  • f4229f01 feat: rewrite prompts.ts with cycle/hierarchy taxonomy (AD-14)
  • f7b36520 feat: deprecate Feature entity (AD-23) — subsumed by Phase in AD-14 taxonomy
  • 794eab76 fix: orient shows orphaned sprint tasks after release

v0.85.0

  • 6fefdbf9 Merge pull request #195 from cathalos92/feat/task-523
  • 5df54816 Merge pull request #194 from cathalos92/feat/task-522
  • cbfe1797 Merge pull request #193 from cathalos92/feat/task-521
  • e34128aa feat(task-523): pg adapter — cycle/horizon/stage support
  • e6390314 Merge branch 'feat/task-521' into feat/task-523
  • a2ca9ea9 feat(task-522): taxonomy types — Horizon/Stage/Cycle interfaces and aliases
  • 3d8b3082 feat(task-521): taxonomy migration Batch A — DB schema foundation
  • b9b413d1 docs: add mermaid diagrams to hierarchy taxonomy research

v0.84.0

  • 1ab0ec6d Merge pull request #192 from cathalos92/feat/task-520
  • 5203e800 Merge pull request #191 from cathalos92/feat/task-519
  • c30a755e feat(task-520): document Builder/Owner/Client user journeys for discovery canvas
  • 0c52d56e feat(orient): reframe velocity metrics as sprint sizing input
  • 2f473319 Merge pull request #190 from cathalos92/feat/task-495
  • 7f02aceb fix(orient): show sprint-assigned tasks separately from backlog handoffs
  • de05212e feat(task-495): Research: Project hierarchy taxonomy — define clean model for phases/horizons/epics/milestones

v0.83.0

  • ad96d8ac Merge pull request #189 from cathalos92/feat/task-433
  • 4da594db fix(task-433): separate lifecycle from orient — show in health only
  • 028c1a72 feat(task-433): wire AD lifecycle tracking — outcome, revision count, lifecycle summary
  • 07068262 fix: product brief update triggers — decision-driven, not age-based
  • 031b812b fix(task-294): rewrite research doc with verified findings
  • d7c28adf Merge pull request #188 from cathalos92/feat/task-294
  • d0a06d46 Merge pull request #186 from cathalos92/feat/task-517
  • f1b64835 feat(task-294): research v2 retrospective learnings applicable to v1
  • 8a88a95f feat(task-517): add minimum effort-point floor to prevent deflationary sprint sizing

v0.82.0

  • bc2fc760 Merge pull request #185 from cathalos92/feat/task-513
  • 743f5595 Merge pull request #184 from cathalos92/feat/task-514
  • ce9f9c10 Merge pull request #183 from cathalos92/feat/task-515
  • 4950be26 Merge pull request #182 from cathalos92/feat/task-516
  • 398084d4 feat(task-513): bootstrap planner generates handoffs for all tasks + setup commit hint
  • cda34ede feat(task-514): add UI task detection guidance to planner prompt
  • 5001671a feat(task-515): always create feature branches from main, not sibling branches
  • 6ada2f6a feat(task-516): add process rules section to exported CLAUDE.md template
  • 9ed48f96 fix: gate file fallbacks to local project only + update alpha tester docs

v0.81.0

  • a7606abc Merge pull request #181 from cathalos92/feat/task-512
  • b456312c Merge pull request #180 from cathalos92/feat/task-474
  • a835a127 Merge pull request #179 from cathalos92/feat/task-504
  • 4221b837 feat: planner sprint sizing uses effort points as primary signal
  • 8ef74be7 feat: add breadcrumbs to Analytics and Strategy sub-tab pages
  • e0c9b098 feat: deprecate .papi/ file fallback for pg adapter users

v0.80.0

  • 1131186c feat: rewrite landing page with v4 spec — fresh window hero, dashboard showcase, competitive positioning

v0.79.0

  • 72222afc Merge pull request #178 from cathalos92/feat/task-493
  • 62e5abc2 feat: add brief_implications field to build reports for upstream discovery feed
  • b0eb16b9 Merge pull request #177 from cathalos92/feat/task-511
  • 4ea2b1f8 Merge pull request #176 from cathalos92/feat/task-510
  • 4397d062 fix: phase status shows "In Progress" when Done + Backlog tasks exist
  • 09e0eb90 fix: add handoff_accuracy read-back to BuildReportRow
  • d306b182 docs: add frontmatter to docs, REFERENCE DOCS to prompts, doc references in CLAUDE.md
  • 32e89d6c docs: Sprint 71 dogfood log entry

v0.78.0

  • 28795c01 Merge pull request #175 from cathalos92/feat/task-261
  • 2aa150c5 Merge pull request #174 from cathalos92/feat/task-492
  • 38a0ddbb Merge pull request #173 from cathalos92/feat/task-502
  • ad2da795 feat: add capture mode to strategy_change for lightweight decision persistence
  • 179029eb feat: add discovery gaps step to planner + include canvas in full path context
  • 48f0c436 fix: update carry_forward after strategy_review to prevent stale "review due" text
  • 79f53c4f docs: add INDEX.md and landing page v4 spec from previous session
  • 003bc7a2 docs: Sprint 70 dogfood log entry

v0.77.0

  • 3949c6c6 fix: add Insights section to orient + update CLAUDE.md for orient usage
  • 001f4737 Merge pull request #172 from cathalos92/feat/task-508
  • 3d0a3f69 Merge pull request #171 from cathalos92/feat/task-501
  • e960012c Merge pull request #170 from cathalos92/feat/task-491
  • 9fce10ef feat(task-508): corrections_count on build reports — capture informal pushback
  • f443294c feat(task-501): combined orient MCP tool — merges build_list + health into single call
  • e38241f6 feat(task-491): strategy review as adaptive engine — discovery canvas audit, phase staleness, structural staleness

v0.76.0

  • 26dd4056 Merge pull request #168 from cathalos92/feat/task-507
  • 5660d884 feat(task-507): prompt quality feedback loop — task transitions + handoff accuracy
  • 408aa85a Merge pull request #169 from cathalos92/feat/task-489
  • 600750f0 Merge pull request #167 from cathalos92/feat/task-506
  • 31e67ae1 Merge pull request #166 from cathalos92/feat/task-505
  • fa3a4112 feat(task-489): discovery canvas — progressive product brief sections
  • a3808808 feat(task-506): review accept/reject from dashboard
  • 0c41d274 feat(task-505): dashboard CRUD gaps — task creation, sprint flagging, phase management
  • c16e77d1 docs: add strategic decision detection to CLAUDE.md
  • 9afae5a0 docs: add session management guidance to CLAUDE.md

v0.75.0

  • f6556498 Merge pull request #165 from cathalos92/feat/task-413
  • fbf6ad91 Merge pull request #164 from cathalos92/feat/task-500
  • 3abfba56 Merge pull request #163 from cathalos92/feat/task-418
  • 565a2bf9 feat(task-413): Setup pre-flight checks — validate Supabase, env vars, MCP server before user hits a wall
  • ceaacf63 feat(task-500): Add "In Sprint" status stage — tasks transition from Backlog → In Sprint when plan assigns them, before In Progress
  • fed24f05 fix: align SDK versions and remove redundant type casts
  • ed5280bf feat(task-418): Intelligence layer — proxy architecture for server-side LLM calls
  • ab3c7778 docs: update CLAUDE.md to skip unnecessary health calls at session start

v0.74.0

  • 9e8975cb Merge pull request #162 from cathalos92/feat/task-496
  • bcd27b2a Merge pull request #161 from cathalos92/feat/task-468
  • 85ce14c4 Merge pull request #160 from cathalos92/feat/task-467
  • c39c73a5 Merge pull request #159 from cathalos92/feat/task-466
  • 58452e63 Merge pull request #158 from cathalos92/feat/task-465
  • 72a92ecb feat(task-496): dashboard task search — filter by title or ID
  • 6bcc2acf fix(task-468): confirmation dialog for terminal status transitions
  • 9fb971eb fix(task-467): colour-blind safe status indicators in KanbanColumn
  • 43c2613e feat(task-466): Make table rows keyboard-accessible and fix touch target sizes
  • 30524d63 fix(task-466): keyboard-accessible table rows + WCAG touch targets
  • c0ab27b6 fix(task-465): add focus trap to sidebar panel and fix ARIA roles

v0.73.0

  • f19b39c6 Merge pull request #157 from cathalos92/feat/task-497
  • 1f14ee94 Merge pull request #156 from cathalos92/feat/task-464
  • 4a4591ea Merge pull request #155 from cathalos92/feat/task-463
  • 54c7b23b Merge pull request #154 from cathalos92/feat/task-499
  • 964fb5b4 Merge pull request #153 from cathalos92/feat/task-498
  • 23be0060 feat(task-497): server-side auto-release after all sprint tasks reviewed
  • a1050d99 fix(task-464): fix muted text and P2 badge contrast for WCAG AA compliance
  • 047e5a3e fix(task-463): login form accessibility — add labels, restore focus rings
  • 7c655083 feat(task-499): redesign ProjectTrajectory with structured strategy review sections
  • 61d4875a feat(task-498): store full structured strategy review in DB as queryable JSONB
  • 9c291432 fix: persist full strategy review analysis to DB — stop losing 90% of review output

v0.72.0

  • 814f3f0a fix(dashboard): ProjectTrajectory UX improvements from feedback
  • 06d19030 Merge pull request #152 from cathalos92/feat/task-479
  • 67d22c41 feat(task-479): Cockpit redesign: Lower section — ProjectTrajectory (strategy review + trends) + enhanced backlog + tasks table
  • c235fd2a chore: update CLAUDE.md auto-release rule + add status brief docs
  • a7440f2a Merge pull request #151 from cathalos92/feat/task-462
  • d5a919f2 merge: resolve conflict — keep skeleton import + local state filter from main
  • 6fc07fd1 Merge pull request #150 from cathalos92/feat/task-471
  • f9b601c3 feat(task-462): Add skeleton screens for progressive loading
  • 56f9031c feat(task-471): Board sprint filter uses local state for instant filtering
  • 7f822de0 Merge feat/task-478: Project Timeline component for cockpit
  • 9d10fddf fix(task-478): polish ProjectTimeline — remove top numbers, single bar, date spans, strategy separators, y-axis label
  • 12b0185d feat(task-478): Cockpit redesign: Sprint Progress Bar + Timeline redesign — effort-weighted progress, date axis, strategy markers

v0.71.0

  • e3312fd6 Merge pull request #148 from cathalos92/feat/task-477
  • 440c5173 Merge pull request #147 from cathalos92/feat/task-486
  • f1bb0f33 Merge pull request #146 from cathalos92/feat/task-476
  • 79a080f2 Merge pull request #144 from cathalos92/feat/task-484
  • 60bb9c88 refactor: rebuild cockpit HUD — dense 3-row layout replaces CycleRing + separate ActionBar
  • c2805f54 feat(task-477): Cockpit redesign: Command Header + Action Bar — hero section with narrative, sparklines, merged alerts
  • 9f417236 feat(task-486): Strategy review write-back should propagate insights into ADs and product brief
  • 5a4b5014 feat(task-476): Server guard: block plan if In Review tasks older than 2 sprints exist
  • 9d7a92b9 feat(task-484): Fix pre-existing test failures — git.test.ts timeout assertion + 5 workspace resolution failures
  • da56b077 fix: extract formatPreviousReviews helper + wire previous reviews into strategy_change context
  • 3fd36ec7 fix: strategy review board filter preserves review-window learnings + build_list health resilience

v0.70.0

  • 5de9666f feat(task-482): npm publish Batch 3: Docs + registry + publish — READMEs, npm org, server README update, actual npm publish (#143)
  • 87f1d0ff feat(task-452): Bug: Session start doesn't detect new/empty project — should auto-run setup instead of build_list (#141)
  • 224f1cb5 feat(task-483): Strategy review context optimization — reduce 176K chars to actionable summary with selective assembly (#140)
  • 1dcce19b feat(task-481): npm publish Batch 2: Build + bundle — disable tsup splitting, verify single-file output, test npm pack (#139)
  • a9762646 feat(task-480): npm publish Batch 1: Package hygiene — fix dependency graph, version ranges, LICENSE file (#138)
  • 13b9da5a refactor: rename npm scope from @papi to @papi-ai across all packages (#142)

v0.69.0

  • 7bac0ee2 fix: portfolio shows per-project stats + live site URL

v0.68.0

  • 5488984a Merge pull request #137 from cathalos92/feat/task-473
  • 4b56e3bb Merge pull request #136 from cathalos92/feat/task-472
  • 711bff1f Merge pull request #135 from cathalos92/feat/task-460
  • 9f1f9b43 Merge pull request #134 from cathalos92/feat/task-459
  • 80b992a5 Merge pull request #133 from cathalos92/feat/task-461
  • 94066879 feat(task-473): fix copy inconsistencies across dashboard
  • 7bb2f115 feat(task-472): add h1 to Cockpit and move NeedsAttention above metrics
  • 9fd47f65 feat(task-460): fix Cockpit silent catch — show error state on failure
  • c3112719 feat(task-459): add error.tsx route-level boundaries for all pages
  • 1e0c45bb feat(task-461): reusable ErrorState component replacing 11 ad-hoc error divs
  • 7f83b3e6 fix: release tool auto-pushes branch and tag to remote

v0.67.0

  • a972b260 Merge pull request #130 from cathalos92/feat/task-454
  • b33da503 merge: resolve conflict with main after task-457 merge
  • e44abd16 Merge pull request #132 from cathalos92/feat/task-458
  • 1971801c Merge pull request #131 from cathalos92/feat/task-456
  • fedec66c Merge pull request #129 from cathalos92/feat/task-457
  • cf51250a Merge pull request #128 from cathalos92/feat/task-455
  • a86b6676 feat(task-458): skip .papi/ writes in pg mode and exclude from clean-tree check
  • 7994375c feat(task-456): ad_hoc accepts task_id to complete existing tasks
  • d82c54c1 feat(task-454): Bug: Feature branch divergence — build_execute branches from main, missing prior same-sprint task work
  • c36f8025 feat(task-454): branch from latest same-sprint feature branch
  • 6a2a7522 feat(task-457): decouple release DB update from git ops
  • f8306b59 feat(task-455): batch planWriteBack DB operations to eliminate sequential round-trips
  • fb9b2576 fix: show next sprint number in plan prepare header
  • 0714e736 fix: resolve display IDs to UUIDs for sprints.task_ids column

v0.66.0

  • cc39eecc Merge pull request #124 from cathalos92/feat/task-451
  • fd17982d Merge pull request #123 from cathalos92/feat/task-450
  • c6b0d79c Merge pull request #125 from cathalos92/feat/task-449
  • 0bc16e76 Merge pull request #127 from cathalos92/feat/task-448
  • da376e71 Merge pull request #126 from cathalos92/feat/task-437
  • 21a59007 fix(task-450): fix health tool reviewOverdue — use reviewGateBlocking variable
  • c1e9bd92 fix: build_list now shows current sprint number from DB
  • 9a708edf fix: atomic plan writeBack — single DB transaction replaces 35-50 individual writes
  • 87322ff8 feat(task-448): wire task comments into planner context
  • 1ca1b0e3 feat(task-437): SSE real-time layer for interactive dashboard
  • 3006e26f feat(task-449): toast notification system for all dashboard write operations
  • 4021218d feat(task-451): interactive board UX polish — prominent actions, better card hierarchy
  • c0e0df72 fix(task-450): fix health tool reviewOverdue runtime error — use reviewGateBlocking

v0.65.0

  • f6003c7a Merge pull request #122 from cathalos92/feat/task-416
  • b119109d fix(task-416): fix auto-switch race condition — use useEffect watching both tasks and currentSprint
  • d4e563f3 fix(task-416): auto-switch to All sprints when current sprint is complete
  • aee71f98 fix(task-416): add task ID to cards, prominent edit button, format JSON handoffs
  • a46b4bb7 feat(task-416): Interactive board — task status updates + edit mode from dashboard
  • 9c9eff67 Merge pull request #121 from cathalos92/feat/task-417
  • d3ede6f4 Merge pull request #120 from cathalos92/feat/task-447
  • c0f81a45 feat(task-417): discussion threads per task — task_comments table + UI
  • fa0b50b1 feat(task-447): strategy review gate — block plan at 5+ sprint gap instead of advisory

v0.64.0

  • 9a9aed34 Merge pull request #119 from cathalos92/feat/task-440
  • ba430118 Merge pull request #118 from cathalos92/feat/task-430
  • bd323778 feat(task-440): DB-backed project registry: query projects from Supabase instead of static papi-projects.json
  • c7d0efb2 feat(task-430): Extract @papi/shared package — single source of truth for types and business rules

v0.63.0

  • 98352dd9 Merge pull request #117 from cathalos92/feat/task-439
  • 005adceb Merge pull request #116 from cathalos92/feat/task-444
  • d100d077 Merge pull request #115 from cathalos92/feat/task-446
  • b4d65c92 feat(task-439): applyPlan timeout — batch DB writes instead of individual getTask+updateTask per correction
  • 3aa9ba4b feat(task-444): Guard against starting new sprint before current sprint is verified done and released
  • 70e34bc6 feat(task-446): Bug: release tool not writing sprint rows to sprints table — Sprints 56-58 were missing

v0.62.0

  • 313d5e98 fix: update strategy review Slack reference from missing skill to MCP integration
  • a69c4cf9 Merge pull request #114 from cathalos92/feat/task-438
  • 749bdd55 feat(task-438): Separate strategy reviews from sprint logs — own table, own dashboard view, own cadence
  • 9a0b4d56 feat(task-438): Separate strategy reviews from sprint logs — own table, own dashboard view, own cadence
  • ec2e2f14 Merge pull request #113 from cathalos92/feat/task-431
  • 74d88c3a Merge pull request #112 from cathalos92/feat/task-435
  • 5b1a124b feat(task-431): Decouple strategy review from sprint sessions — flag as available, don't force inline
  • cdc231c2 feat(task-435): Strategy review prompt upgrade — enforce structured coverage, reduce context bias
  • a14383f0 perf: skip git sync + autoCommit for pg adapter, bump applyPlan timeout, add writeBack diagnostics

v0.61.0

  • 403d98b2 Merge pull request #111 from cathalos92/feat/task-412
  • 7b2f9a15 Merge pull request #110 from cathalos92/feat/task-414
  • e3d29a9c feat: planner prompt — explicit discovered issues to task pipeline
  • f37f14b5 feat: data mutator layer + action API routes for dashboard writes
  • 21f420d0 feat: shared service layer — task transitions + review validation

v0.60.0

  • d9be38c3 Merge pull request #108 from cathalos92/feat/task-407
  • 344ec9ac feat: plan context optimisation — section hashing + reviews 20→5
  • 333a4720 Merge pull request #107 from cathalos92/feat/task-429
  • b6eb9919 fix: truncate notes field to 2000 chars in idea/bug/ad-hoc tools
  • 8b4e9d40 perf: increase pg adapter connection pool from 1 to 5
  • d80a9fe7 perf: reduce plan apply DB queries — remove metrics snapshot, context util, add 60s timeout
  • 2b52e15e perf: reduce MCP server DB queries — remove metrics write-back, slim health

v0.59.0

  • fff1f81c Merge pull request #106 from cathalos92/feat/task-410
  • d47f916f Merge pull request #105 from cathalos92/feat/task-404
  • d632b2fe Merge pull request #104 from cathalos92/feat/task-405
  • 3c67f6ee Merge pull request #103 from cathalos92/feat/task-409
  • da430dc1 Merge pull request #102 from cathalos92/feat/task-408
  • b09260a0 feat: surface data fetch errors instead of silently swallowing them
  • 31201284 feat: task type system with context-tier filtering for plan
  • cace555a feat: replace Sprint Timeline pill scroller with Recharts area chart
  • 4e8e3a79 fix: papi-reader tests — create fixture .papi/ directory instead of wrong path
  • 41c530fe chore: delete 4 redirect stub pages (/brief, /dashboard, /decisions, /reports)
  • 105859d8 Merge branch 'feat/task-402'
  • d3053ee7 fix: revert to max:1 connection pool — Supabase ignores custom GUC startup params
  • 9dff0d72 fix(task-402): NextAction expandable tasks, timeline cleanup, cycle ring text clipping

v0.57.0

  • eb3f7f13 Merge pull request #100 from cathalos92/feat/task-401
  • ecb0cab5 merge: resolve conflict in strategy page — combine ConfidenceBadge import with UiEntityReference
  • deb461d0 Merge pull request #101 from cathalos92/feat/task-403
  • 5d8e7913 Merge pull request #99 from cathalos92/feat/task-402
  • c60b5487 feat(task-403): setup as progressive advisory — 3 required fields, defaults for rest
  • 9b76656e feat(task-401): add decision lineage tab to Strategy page
  • 1ae10210 feat(task-402): add continuity surface to Cockpit — next action, active decisions
  • 73776fe1 fix: plan apply crash — connection pool max:5 with per-connection RLS, compact apply response
  • 5a015350 fix: plan performance — parallelize writeBack, guard handoff overwrites, exclude Deferred from context
  • 596a91b7 docs: add Sprint 57 dogfood log entry

v0.56.0

  • 7dcec854 Merge pull request #98 from cathalos92/feat/task-280
  • afdcd734 Merge pull request #97 from cathalos92/feat/task-299
  • 2fb41ce7 Merge pull request #96 from cathalos92/feat/task-400
  • b0b758ba feat: add entity-references API endpoint for dashboard consumption
  • 76cf7d8a feat: add bug command for reporting bugs as backlog tasks
  • fe547078 feat: add maturity column to tasks table and pg adapter
  • 757d0dc7 docs: add Sprint 56 dogfood log entry

v0.55.0

  • 25e5a6e6 Merge pull request #95 from cathalos92/feat/task-382
  • 119de3b5 Merge pull request #94 from cathalos92/feat/task-389
  • 6944924d Merge pull request #93 from cathalos92/feat/task-367
  • 126993f6 feat: add task maturity pipeline — raw ideas gated from scheduling
  • 03ef4ed8 feat: wire up roadmap features from phase data in plan and strategy writeBack
  • acacfb26 feat: surface decision scores in health output and strategy page
  • aae22495 docs: add Sprint 55 dogfood log entry

v0.54.0

  • 892b3d0a Merge pull request #92 from cathalos92/feat/task-396
  • 1ec645a9 Merge pull request #91 from cathalos92/feat/task-366
  • 966baef0 Merge pull request #90 from cathalos92/feat/task-370
  • 50acfc42 feat(task-396): add project timeline narrative to Analytics
  • 7cce0f6d feat(task-366): enrich strategy_change with board and velocity context
  • e457ad2e feat(task-370): expand recommendation classification from 4 to 7 types
  • 8321da49 docs: add Sprint 54 dogfood log entry

v0.53.0

  • df715332 Merge pull request #89 from cathalos92/feat/task-394
  • df291f84 Merge pull request #88 from cathalos92/feat/task-398
  • a6a6733b Merge pull request #87 from cathalos92/feat/task-399
  • 9e8f489e Merge pull request #86 from cathalos92/feat/task-397
  • 916e04f9 feat: reports interactivity — expandable cards, fix Sprint 0, newest-first ordering
  • be22a289 feat: increase minimum text sizes across all dashboard pages
  • 3082e245 feat: add task type metadata to Task schema with board filtering
  • be7f1a9a chore: delete unused CostChart and ScopeAccuracyChart components
  • 685ccb60 docs: add Sprint 52 dogfood log entry

v0.52.0

  • 31783769 Merge pull request #85 from cathalos92/feat/task-393
  • 4e77740f Merge pull request #84 from cathalos92/feat/task-392
  • d2afaa80 Merge pull request #83 from cathalos92/feat/task-391
  • 353b589f Merge pull request #82 from cathalos92/feat/task-395
  • 85fc3f45 feat(analytics): kill costs, merge accuracy into performance, fix jargon, improve reviews
  • 1332a4db feat(board): proper kanban with In Review column, fixed sprint filter, deferred toggle
  • b2fe476a feat(cockpit): fix sprint timeline, backlog age, and build insights
  • 69a05f14 feat(dashboard): strategy page fixes — sort decisions, last-updated, inline roadmap expansion
  • cec5be30 docs: add Sprint 51 dogfood log entry

v0.51.0

  • 68b16196 Merge pull request #81 from cathalos92/feat/task-380
  • 1ff08aee Merge pull request #80 from cathalos92/feat/task-384
  • 40b55e6a Merge pull request #79 from cathalos92/feat/task-387
  • faad25fd feat(server): ship default PAPI skills for external users
  • dc870626 feat: Dashboard Phase 1b — Analytics + Strategy pages absorb Brain/Reports/Brief/Decisions
  • 7116062a fix: validate phase on task creation — resolve from adapter instead of hardcoding "Unscoped"
  • 27cd4d61 docs: add Sprint 49 dogfood log entry

v0.50.0

  • 9cad0901 Merge pull request #78 from cathalos92/feat/task-383
  • f2085556 Merge pull request #77 from cathalos92/feat/task-371
  • d9a611c9 Merge pull request #76 from cathalos92/feat/task-379
  • 88fca089 feat: dashboard rethink Phase 1a — Cockpit + Cycle Ring + nav consolidation
  • cdc700fc feat: soften review language for non-technical users
  • 50b1963f docs: add plan mode guidance to building rules
  • 06d77d36 docs: add Sprint 48 dogfood log entry

v0.49.0

  • c8ca3396 Merge pull request #75 from cathalos92/feat/task-356
  • e139c712 Merge pull request #74 from cathalos92/feat/task-365
  • e4f33025 Merge pull request #73 from cathalos92/feat/task-376
  • 05e9b86e Merge pull request #72 from cathalos92/feat/task-375
  • e1b3e283 feat(task-356): prepare npm packages for publishing
  • d0c853e4 feat(task-365): add maturity gating to plan prompt
  • 094ec19c fix(task-376): fix methodology trends showing undefined/NaN
  • 811e40f3 fix(task-375): log createSprint failures instead of silently swallowing
  • fb08ef77 fix(task-375): log createSprint failures instead of silently swallowing
  • d30827df docs: add Sprint 47 dogfood log entry

v0.48.0

  • a2902269 Merge pull request #71 from cathalos92/feat/task-368
  • 439591c2 feat(task-368): suppress compression directives in strategy review for pg adapter
  • 592de520 Merge pull request #69 from cathalos92/feat/task-363
  • b53bd957 feat(task-363): add build/review pattern detection to strategy review
  • 0995e9f6 Merge pull request #68 from cathalos92/feat/task-362
  • 653c4017 feat(task-362): add human reviews to strategy review context
  • 8596d1da Merge pull request #70 from cathalos92/feat/task-372
  • 15a95305 Merge pull request #67 from cathalos92/feat/task-361
  • 3b69e887 Merge pull request #66 from cathalos92/feat/task-360
  • 6dc691bb feat(task-372): auto-add mcp__papi__* permission during setup
  • 47e8f83c feat(task-361): inject dogfood log into strategy review context
  • 53b712d4 docs(task-360): document force parameter on strategy_review tool
  • a3164cff docs: add Sprint 46 dogfood log entry

v0.47.0

  • e763802f Merge pull request #62 from cathalos92/feat/task-373
  • 212206fc merge: resolve conflict between task-373 (strategy_reviews table) and task-358 (notes parsing)
  • 49d494e0 Merge pull request #65 from cathalos92/feat/task-374
  • f723cc21 Merge pull request #64 from cathalos92/feat/task-345
  • 41ba8c85 Merge pull request #63 from cathalos92/feat/task-369
  • 6aae7b3c Merge pull request #61 from cathalos92/feat/task-359
  • 9e12bdf5 Merge pull request #60 from cathalos92/feat/task-358
  • 60009f0e fix(task-374): fix health metrics NaN by normalizing JSONB and adding build report fallback
  • c13b44d5 fix(task-345): fix sync script sprint statuses and handoff parsing
  • 6c9880bd feat(task-369): add getSprintLogSince(n) for scoped sprint log fetching
  • 527eec20 feat(task-373): extract strategy reviews into dedicated strategy_reviews table
  • 5dece237 fix(task-358+359): fix boardHealth/strategicDirection reads and strategyReviewDue format on pg adapter
  • a82209d4 fix(task-358+359): fix boardHealth/strategicDirection reads and strategyReviewDue format on pg adapter
  • 175f180b chore: clean up .claude/settings.json permissions
  • 03366144 chore(task-355): record build-acceptance review
  • 0f6fcacd docs: add Sprint 45 dogfood log entry

v0.46.0

  • 0169d2cc Merge pull request #59 from cathalos92/feat/task-342
  • 813f6912 Merge pull request #58 from cathalos92/feat/task-355
  • 9209024b fix: address PR review — card navigation, health status, duplicate fetch
  • b365f85f feat: add multi-project portfolio page with health metrics
  • 2b48a175 feat: wire sprint_metrics_snapshots, cost_snapshots, sprints into data-provider
  • 7feffe58 fix: release marks sprint complete, build_execute backfills sprint on tasks
  • 8dd8b8e4 docs: add Sprint 43b dogfood log entry

v0.45.0

  • 22f6d4e1 Merge pull request #57 from cathalos92/feat/task-344
  • b72c8136 Merge pull request #56 from cathalos92/feat/task-351
  • d61705d0 Merge pull request #55 from cathalos92/feat/task-349
  • b266b730 Merge pull request #54 from cathalos92/feat/task-350
  • 2b73ba00 feat(task-344): Dashboard data integrity audit — fix all stale/broken page data
  • 91557404 feat(task-351): Add architecture health check to strategy review prompt
  • 381becf5 feat(task-349): Onboarding CLAUDE.md should lead with pg adapter setup, not .papi/ files
  • 7ec188f8 feat(task-350): papi init CLI command — one-command MCP setup for new users
  • b38cfe24 docs: add Sprint 43 dogfood log entry

v0.44.0

  • fd0a5825 Merge pull request #52 from cathalos92/feat/task-281
  • 76378784 merge: resolve conflict with main after task-354/280/347 merges
  • 6fd45ab7 Merge pull request #53 from cathalos92/feat/task-347
  • 948fda84 Merge pull request #51 from cathalos92/feat/task-280
  • ce74ad60 Merge pull request #50 from cathalos92/feat/task-354
  • 750294c9 feat: add infrastructure connection health checks (task-347)
  • ef5810bc feat(task-281): Context utilisation metric — measure wasted tokens per tool call
  • 79a17956 feat(task-280): Entity reference tracking — which decisions actually get used
  • af838ff3 feat(task-354): Dead input audit — find all adapter read calls that silently accept empty results
  • 7d95825d fix: add product_briefs table to Supabase, remove sync footgun from release
  • 963665aa feat: add sprint cycle stress test, fix SPRINT_LOG_TEMPLATE heading
  • 704f7917 chore: remove debug logging from brain-supabase
  • 6d167803 refactor: remove multi-project brain view, papi-ui only
  • 98268356 fix: brain page defaults to papi-ui instead of papi-framework
  • 793d6bf5 fix: brain reviews query uses correct column name, add debug logging
  • 5f46b656 fix: brain handler picks source by max sprint number, not count
  • cd282b6f fix: compute brain sprint intelligence from build_reports table
  • 40daf5aa fix: wire reports and handoffs to DB-backed data on Vercel
  • 6fc89cbe fix: stringify jsonb build_handoff from DB before UI consumption
  • 8f20941a fix: add Supabase connectivity check to debug endpoint
  • dc61d1a1 fix: add Supabase URL format validation to catch .com vs .co typos
  • 1e0a8cf8 fix: correct Supabase URL on Vercel (.co not .com), remove debug logging
  • 53c8c39d debug: add temporary logging to getHealth DB path
  • f2d1e468 fix: dashboard data integrity — env validation, sprint statuses, remove War Room
  • 4962c597 ci: add GitHub Actions build check on PRs
  • 52f45360 fix: make getHealth() DB-first to show current sprint on Vercel
  • 873bd5cb fix: exclude packages/ from root tsconfig to unblock Vercel builds
  • e31811ff feat: DB-first architecture — remove dual-write, update CLAUDE.md for pg-only reads (#49)
  • 65cc10c4 Merge pull request #48 from cathalos92/feat/task-341
  • ae67321e feat(task-341): Auto-update task status in build_execute and review_submit — fix chronic board drift
  • 4cec9781 fix: disable review_submit Slack notification to stop per-review spam

v0.43.0

  • bf7ff676 Merge pull request #47 from cathalos92/feat/task-338
  • f2f3fe63 Merge pull request #46 from cathalos92/feat/task-340
  • df16b56f Merge pull request #45 from cathalos92/feat/task-339
  • 66f0c315 fix: update 83 failing tests to match two-phase prepare/apply refactor
  • 241a1494 fix(task-340): make adapter-factory pg path resilient to unreachable DB
  • 35ae5365 fix(task-339): fix sync script tsx → npx tsx, remove stale known issues

v0.42.0

  • da72b1e7 Merge pull request #44 from cathalos92/feat/task-162
  • 76b75a4c feat(task-162): add mobile layout support for screens below 768px
  • b3457c0d Merge pull request #43 from cathalos92/feat/task-337
  • 64cf6108 feat(task-337): resume dogfood logging and wire into strategy review context

v0.41.0

  • 881e235e Merge pull request #42 from cathalos92/feat/task-325
  • f61735e3 feat(task-325): add Windows/WSL compatibility docs and platform guard
  • b5eb02a8 Merge pull request #41 from cathalos92/feat/task-272
  • cec72280 feat: add auto-registration for new projects in adapter-factory
  • 392c6144 feat: add project_id filtering to dashboard queries and fix import-layer types
  • 1791b2ce Merge pull request #40 from cathalos92/feat/task-271
  • be6a5a46 feat(task-271): add user_id scoping to all Supabase imports
  • b295914e Merge pull request #39 from cathalos92/feat/task-166
  • 1b0088d9 feat(task-166): add onboarding empty states to dashboard sections
  • fd2df6eb perf: skip BUILD HANDOFF regeneration for tasks that already have one
  • 0b603fcf chore: remove AD-9 (legacy Go API write path) and defer intelligence tasks
  • e78fbb86 fix: strategy review due check uses title ILIKE instead of content LIKE

v0.39.0

  • 0d3d5938 Merge pull request #38 from cathalos92/feat/task-335
  • 8f1e45f7 chore: resolve merge conflict — include both SprintPerformanceCharts and ScopeAccuracyChart imports
  • de2a784b Merge pull request #37 from cathalos92/feat/task-256
  • 306c47a8 Merge pull request #36 from cathalos92/feat/task-259
  • e16705a4 Merge pull request #35 from cathalos92/feat/task-258
  • 8c386fa8 feat(task-335): add Sprint Performance Analytics tab to reports
  • 90416c27 feat(task-256): add NorthStar supersede indicator to dashboard
  • 955a5f93 feat(task-259): add scope accuracy trend chart to reports
  • 0a915d4f feat(task-258): add compact metrics summary panel to main dashboard
  • 371980b5 chore: cancel task-270 (no cost data), swap in task-256 with BUILD HANDOFF for Sprint 40

v0.38.0

  • c57d7de1 Merge pull request #34 from cathalos92/feat/task-306
  • a6384243 Merge pull request #33 from cathalos92/feat/task-246
  • 3da5006a Merge pull request #32 from cathalos92/feat/task-311
  • c802e7b6 Merge pull request #31 from cathalos92/feat/task-322
  • 6fb6f795 feat(task-306): define CLAUDE.md vs prompts.ts vs server guard boundary
  • 9aafda0c feat(task-246): add derived metrics — throughput trend, backlog health, estimation bias
  • b91187a7 feat(task-311): track plan context size as a metric
  • 38e4be39 feat(task-322): implement markdown persistence for decision events and scores

v0.37.0

  • 196cd443 Merge pull request #30 from cathalos92/feat/task-305
  • 7b674321 chore: resolve merge conflict — include both ad_hoc and board_reconcile tools
  • 34b493bf Merge pull request #29 from cathalos92/feat/task-324
  • 09a81014 Merge pull request #28 from cathalos92/feat/task-300
  • f73be676 Merge pull request #27 from cathalos92/feat/task-301
  • cb2a6d94 feat(task-305): add board_reconcile MCP tool for backlog cleanup
  • 37cae18a feat(task-324): add ad_hoc MCP tool for out-of-cycle work tracking
  • 2f59a2c1 feat(task-300): redesign health output for glanceable orientation
  • 10ac9c22 fix(task-301): add notify param to review_submit to prevent Slack spam
  • d4691862 papi: Sprint 38 plan — Full
  • 9cadc367 feat(perf): plan performance — instrumentation, parallelization, SQL function (task-328/329/330)
  • 7ee52e41 chore: add 3 plan performance ideas to backlog (task-328/329/330)
  • e23f6b2a fix(adapter-pg): add connection timeouts to prevent MCP tool hangs
  • 19c4c124 Merge pull request #26 from cathalos92/feat/task-319
  • 70504e37 Merge pull request #25 from cathalos92/feat/task-326
  • ba1018c3 feat(task-319): standalone alpha setup with DB isolation
  • c177328e feat(task-319): audit alpha install path, evaluate npm publish
  • 4bac0af2 feat(task-326): add Deferred task status for backlog management
  • 7a341490 Merge pull request #22 from cathalos92/feat/task-323
  • 53e7596a Merge pull request #21 from cathalos92/feat/task-320
  • 9e1f854b docs: update alpha docs with clone-first, adapter choice, troubleshooting
  • b0426855 docs: update alpha docs with clone-first, adapter choice, troubleshooting
  • 2d9c161c fix: suppress DB sync messaging in release for adapter-md users
  • af9a0845 chore: add DB sync instructions to CLAUDE.md and fix release.ts auto-sync
  • d2666233 chore: mark task-269 and task-303 as Done on sprint board
  • 5fd04cf1 feat: decision scoring & event telemetry layer (AD-10)
  • cf68ea39 Merge pull request #19 from cathalos92/feat/task-269
  • 17903601 Merge pull request #18 from cathalos92/feat/task-303
  • 626b64a8 Merge pull request #17 from cathalos92/feat/task-315
  • d9f56f17 Merge pull request #16 from cathalos92/feat/task-314
  • a57e82a2 Merge pull request #15 from cathalos92/feat/task-316
  • 82d3af15 feat(task-269): context-aware markdown rendering for task notes
  • 8c8a749a fix(task-303): exclude Backlog tasks from sprint view filters
  • b3f6e8eb feat(task-315): auto-sync DB after release via dashboard import API
  • 55decbc3 feat(task-314): add DB vs markdown sprint drift detection to housekeeping
  • 670aae9d feat(task-316): read SPRINT_LOG.md in import layer to close sprint history gap
  • f29972be fix(adapter-pg): re-apply jsonb serialization fixes after merge
  • 81682fdc Merge pull request #14 from cathalos92/feat/task-288
  • e3067b83 Merge pull request #13 from cathalos92/feat/task-290
  • b54f0cc6 test(adapter-pg): add integration test for getPlanContextSummary
  • 606751d0 fix: adapter-pg table name bugs + decision guardrails
  • a08d38da papi: Sprint 25 plan — Full

v0.33.0-alpha

  • 0d38bec5 docs: add decision guardrails to alpha tester CLAUDE.md
  • 31638316 chore(task-313): record build-acceptance review
  • 7eac5c6d chore(task-312): record build-acceptance review
  • b5781f9e feat(plan): expand brief cap to include proven/unproven sections

v0.32.0-alpha

  • c0b0c008 Merge pull request #12 from cathalos92/feat/sprint-32-context-opt
  • 204a262f fix: address PR review findings — null safety and clarity comment
  • d23c0829 feat(task-313): Plan context via SQL queries — aggregated intelligence instead of raw markdown
  • 1b700c22 feat(task-312): Lean plan formatter — strip handoffs and cap brief in plan context assembly
  • 30782cc9 feat(plan): add lean SQL plan context path for adapter-pg (task-313)
  • 4f26ff37 feat(plan): strip heavy fields and cap product brief in plan context (task-312)
  • 150e087d idea: task-313 — Plan context via SQL queries — aggregated intelligence instead of raw markdown
  • 0b27ca71 idea: task-312 — Lean plan formatter — strip handoffs and cap brief in plan context assembly
  • 7adc39a2 idea: task-311 — Track plan context size as a metric over time — log bytes per plan call, surface trend on dashboard, detect regressions
  • aacc6216 papi: Sprint 32 plan — Full
  • 490d91b6 Merge pull request #11 from cathalos92/chore/branching-convention
  • 2ccd3cd7 docs: add branching & PR convention to CLAUDE.md and alpha tester instructions
  • 3a4fc6cd Merge pull request #10 from cathalos92/chore/add-pr-reviewer-skill
  • e54126b5 chore: add pr-reviewer skill from SpillwaveSolutions
  • c2ed86be Merge pull request #9 from cathalos92/fix/plumbing-autonomy-docs
  • 13a4edb3 docs: add plumbing-is-autonomous guidance to CLAUDE.md and alpha tester instructions
  • 52acc3c8 Merge pull request #8 from cathalos92/fix/sprint-31-housekeeping
  • 16c10aeb fix: mark Sprint 31 tasks as Done — fix orphaned board statuses
  • 8bdbc85d Merge feat/task-310: API-to-local cleanup — remove all legacy API paths
  • ee3f2e63 refactor(task-310): remove all legacy API paths from MCP tools
  • 0ceff298 feat(task-310): convert plan tool to prepare/apply only — remove API call
  • e11f2146 Merge feat/task-308: tasks 307, 308, 309 (alpha docs batch)
  • a35e9545 docs(task-309): consolidate alpha onboarding into single canonical guide
  • 86c874b5 feat(task-307): create ALPHA_TESTER_CLAUDE.md for alpha testers
  • 4242031f chore(task-308): remove stale project references from papi-projects.json
  • 188cbda0 papi: Sprint 31 plan — Full
  • 3561c13c docs: fix post-release language — never say ready for next sprint before plan runs

v0.29.0

  • 1b15744d docs: auto-release and batch building rules in CLAUDE.md
  • 6030097c chore(task-289): record build-acceptance review
  • 8e603d86 feat(task-289): Dashboard DB-first reads expansion — all entity types (cherry-picked)
  • 3cbea55e chore(task-291): record build-acceptance review
  • e95ec320 fix: resolve merge conflict in BUILD_REPORTS.md — merge task-291 branch
  • 6507cb9a fix: resolve merge conflicts in BUILD_REPORTS.md and REVIEWS.md — keep both task-302 and task-304 entries
  • 10d73d2f fix: add explicit task status checks to prevent duplicate rebuilds after context compression
  • 5c712d84 chore(task-304): record build-acceptance review
  • b2b1aa11 feat(task-304): Alpha readiness review — audit gaps, blindspots, and UX parity for external users
  • 7d711d36 docs: clarify idea vs PAPI feedback routing in alpha tester guide
  • 9fee3f5a Merge pull request #7 from cathalos92/feat/task-302
  • da83c8e0 chore(task-302): record build-acceptance review
  • 37407dd5 feat(task-302): Optimise plan context assembly — filter Done/Cancelled tasks from queryBoard() calls in plan.ts
  • 351a11db fix: trim user guide, fix setup script path, remove stale alpha docs
  • 5888c46e idea: task-306 — Define CLAUDE.md vs prompts boundary — which behaviour rules belong in user-facing CLAUDE.md vs server-side guards vs MCP prompts
  • 83949eee feat(task-291): Map out external user journey — what does a friend need to do step-by-step to get PAPI running on their project?
  • 225e064f fix: remove .mcp.json from tracking, update audit + task reference convention
  • c1d03d0c feat(task-304): Alpha readiness review — audit gaps, blindspots, and UX parity for external users
  • 80b2e824 docs: add long-term vision to product brief — PAPI as teaching system
  • 4226b2c0 idea: task-305 — Board reconciliation tool — holistic backlog review to group, merge, remove, or adjust stale tasks
  • fe8f10d2 fix: add action reminder to strategy review output
  • beff5c43 papi: Sprint 29 plan — Full

v0.27.0

  • 8b9e52a3 idea: task-304 — Alpha readiness review — audit gaps, blindspots, and UX parity for external users
  • 8e52da15 Merge pull request #4 from cathalos92/feat/task-297
  • c6401a89 chore(task-297): record build-acceptance review
  • e0c614a9 feat(task-297): Audit and update prompts.ts for API-to-local transition
  • 35c1f698 feat(task-297): audit prompts.ts and API call sites for API-to-local transition
  • 6c42e9bd fix: remove stale dependency on cancelled task-292 from task-297
  • f1f03751 idea: task-303 — BUG: Vercel dashboard shows tasks with status Backlog assigned to sprints — should only show In Progress/In Review/Done tasks in sprint view
  • 5b5f52e1 chore(task-298): record build-acceptance review
  • 49e4d217 Merge pull request #3 from cathalos92/feat/task-298
  • a90286e3 fix: resolve Vercel build errors — corrupted char and regex flag
  • f96a0516 fix: remove corrupted UTF-8 character from KanbanBoard.tsx
  • 3754bbed feat(task-298): BUG-3: Complexity normalisation — adapter-pg writes S/M/L, DB expects Small/Medium/Large
  • b0420b60 fix: normalise complexity and effort values at adapter-pg write boundary
  • 0cd8974e papi: Sprint 28 plan — Full
  • cac96a6c chore: add .papi/METRICS.md to gitignore
  • 28e86a70 chore: resolve metrics conflict after PR merge
  • e12a35c4 idea: task-301 — BUG: review_submit Slack notification fires per-review individually — spamming channel with duplicate PAPI Review messages instead of batching or sending once
  • f3de6c18 Merge pull request #2 from cathalos92/feat/task-296
  • 3230141b chore(task-296): record build-acceptance review
  • acc1b40d feat(task-296): idea tool fails on feature branches — can't checkout main
  • f39aa876 fix: idea tool writes to current branch instead of switching to main
  • 0f7d3af8 Merge feat/task-295: board_view pagination, filtering, and summary mode
  • ce5be02f chore(task-295): record build-acceptance review
  • 8d59a072 feat(task-295): board_view output too large (95.9KB) — needs pagination or filtering
  • 2e5b210d feat: add pagination, status filtering, and summary mode to board_view
  • eb4a5ae3 chore: add papi-audit skill and update metrics
  • 0b0928ba papi: Sprint 27 plan — Full

v0.26.0

  • 279ea8ea chore: add metrics update and docs
  • 1e347554 fix: change default base branch from develop to main
  • c153e897 idea: task-300 — Health command output should be more readable — cleaner formatting and visual hierarchy
  • a9674c7a idea: task-299 — Add [bug] command to log bugs to task backlog — bug tasks can be grouped together into a single sprint task
  • 47af6ef4 papi: Sprint 26 plan — Full
  • f805ff3c feat: convert MCP server to prepare/apply pattern (API-to-local)
  • 5809e20a papi: Sprint 25 plan — Full
  • 14ae9d9a feat: consolidate MCP server source into papi-v1 repo
  • 7b7d441b idea: task-297 — Audit and update prompts.ts for API-to-local transition
  • af20034f idea: task-296 — idea tool fails on feature branches — can't checkout main
  • eae98da8 idea: task-295 — board_view output too large (95.9KB) — needs pagination or filtering
  • 49d7db60 docs: rewrite product brief, merge alpha guide into CLAUDE.md
  • 76b39ff8 idea: task-294 — Research: v2 retrospective learnings applicable to v1 — upstream learning, living documents, validation gates
  • 41d0865e idea: task-293 — Research: Streams vs Sprints — evaluate v2 stream-based work model for v1
  • 19abb8d9 idea: task-292 — Research: API-to-local (prepare/apply) — evaluate removing Anthropic API calls from MCP server
  • f8ff61a1 idea: task-291 — Map out external user journey — what does a friend need to do step-by-step to get PAPI running on their project?
  • a1cf3dd7 chore: update sprint board, metrics, pitch deck, and setup docs
  • 1f9be0ea idea: task-290 — Cross-project contract enforcement — shared CLAUDE.md context for collaborating Claudes. Two developers using Claude Code on separate repos have zero shared context. Each Claude has different memory about field formats, column constraints, parser expectations, and implementation conventions. This causes data mismatches (e.g. complexity S/M/L vs Small/Medium/Large, AD regex attribute order, displayId vs id). Current AD conflict detection catches decision-level contradictions but misses implementation-level incompatibilities. PAPI should solve this — either via a shared context layer that both Claudes read (cross-repo CLAUDE.md section, shared contract file), or via schema validation at the write boundary (reject non-conforming data before it enters Supabase). This is the same institutional memory gap identified in the memory guide — the product should be the bridge, not the humans.
  • 058df2f6 chore: resolve METRICS.md conflict, keep all Sprint 24 rows
  • 3acc0946 chore: update METRICS.md with Sprint 24 plan and task-287 tool calls
  • 4de0ec76 chore(task-287): record build-acceptance review
  • 1142e129 feat(task-287): MCP adapter-pg architecture docs and test plan for Kieran
  • ab892664 chore: disable MCP Slack webhook, add strategy review Slack template
  • 99d01eb4 papi: Sprint 24 plan — Full
  • d288cf61 fix: repair .papi/ data for Supabase migration
  • 8a8d28c7 Add alpha testing docs and setup script
  • e6988ee1 fix: commit brain.json API handler changes
  • ac86dc37 Merge branch 'feat/task-284'
  • b3dc38ba Merge branch 'feat/task-278'
  • 9b7eaf59 Merge branch 'feat/task-277'
  • 675be3f0 feat: add PAPI Brain analytics dashboard
  • c4e08535 chore(task-284): record build-acceptance review
  • 71a583fa chore(task-278): record build-acceptance review
  • 0108c19e chore(task-277): record build-acceptance review
  • 4e371934 chore(task-282): record build-acceptance review
  • 86859939 feat(task-284): AD: Write path architecture — Go API vs MCP-only vs hybrid
  • 8c5266b8 chore: update PAPI metrics and sprint board
  • 8737bace chore: update PAPI metrics
  • ddfffeb9 chore: update PAPI metrics
  • 29656594 feat(task-278): Recommendation acceptance tracking — feedback loop for strategy recommendations
  • 93463ad9 feat(task-277): Decision outcome tracking — validated/revised/abandoned lifecycle
  • 6621d8e8 papi: update metrics
  • f58b0134 chore(task-282): record build-acceptance review
  • b2884be5 feat(task-282): LLM model metadata — track which model generates each output
  • 6724b192 papi: update metrics from Sprint 23 plan + build
  • aee2b95c chore(task-276): record build-acceptance review
  • b33a7782 feat(task-276): Sync script — .papi/ to Supabase import layer
  • 619e4463 docs: architecture connection map, intelligence layer analysis, and Kieran sync brief
  • a3f7ed2e papi: Sprint 23 plan — Full
  • 08a3c6c3 idea: task-275 — War room acknowledgement UI — accept/reject SharedDecisions per project
  • f64bd32d idea: task-274 — Heuristic conflict detection — flag AD contradictions between projects on import
  • e3bbf7f7 idea: task-273 — Activate papi-brain shared layer — sync ADs and NorthStar to shared Supabase tables on import
  • bd6f85b1 idea: task-272 — Import layer input sanitization — validate and sanitize parsed markdown before Supabase insertion
  • 3585e448 idea: task-271 — Add user_id scoping to all Supabase imports and table writes
  • 3c672585 chore: sprint 22 plan, strategy review, product brief team section
  • 23d2b7bf papi: Sprint 22 plan — Full
  • 66b27055 feat(task-267): Home page complete redesign — PAPI cycle header, sprint task rows with phase/effort/status columns, contextual handoff vs build report, backlog section, needs attention alerts
  • ad59867a papi: Sprint 21 plan — Full
  • a61a149a chore(task-265): record build-acceptance review
  • cad9548c feat(task-265): Bug: PAPI Framework project showing dummy/placeholder data in dashboard
  • f0965c50 fix(task-265): remove mock data fallback — show empty state when project files unavailable
  • a9c7e28b chore: align papi-framework slug in projects config
  • 18ae1608 chore: update metrics log
  • 6f1738b8 chore(task-268): record build-acceptance review
  • a4c6c358 feat(task-268): Fix Sync DB — "Project not found in Supabase: papi-ui" error when clicking Sync DB on dashboard
  • 0a133435 fix(task-268): Sync DB auto-creates project if missing + fix papi-framework slug
  • 0292bc57 chore: update metrics log and track .claude/ directory
  • 3a5dc18f papi: Sprint 20 plan — Full
  • 8c514371 idea: task-270 — Cost chart — add sprint-over-sprint % change delta and cost split by tool type (plan vs build vs review)
  • 9976c012 idea: task-269 — Task notes markdown rendering — render notes as markdown, show build handoff if task is active/in-sprint, show build report if task is Done
  • b73b4676 idea: task-268 — Fix Sync DB — "Project not found in Supabase: papi-ui" error when clicking Sync DB on dashboard
  • 107c40d2 idea: task-267 — Home page complete redesign — PAPI cycle header, sprint task rows with phase/effort/status columns, contextual handoff vs build report, backlog section, needs attention alerts
  • c20353dc Merge branch 'feat/task-257'
  • d9bc1317 fix: correct SPRINT_BOARD YAML parser regex + remove .claude/ from gitignore
  • 7713a78b Merge pull request #1 from cathalos92/feat/task-257
  • 113d50c6 chore(task-257): record build-acceptance review
  • b2f7654f fix(task-257): rewrite CostChart as time-series line chart + fix NavDropdown hydration
  • 197d2a15 feat(task-257): LLM cost tracking chart — visualise per-tool-call costs from METRICS.md
  • cad3fb1e feat(task-257): LLM cost tracking chart with auto-detected framework updates
  • 570305e6 chore(task-236): record build-acceptance review
  • d01ddee1 feat(task-236): Dashboard visual revamp — make it screenshot-worthy
  • 5a93ad93 chore(task-243): record build-acceptance review
  • a710d77a chore(task-248): record build-acceptance review
  • c84c6800 feat(task-248): Align PapiUI types with domain model — UUID PK + display_id
  • 29aec1c8 feat(task-248): align types with domain model — uuid + display_id
  • aae7bee4 idea: task-266 — Real-time dashboard updates via Supabase Realtime
  • 074b2c5c fix(task-235): correct import summary type in sync handler
  • 9e2ca4a8 chore: rename user-facing 'PapiUI' labels to 'PAPI'
  • d3791669 feat(task-236): Visual revamp — dashboard and landing page
  • 3ce41768 fix: audit findings — payload validation, UPPER_SNAKE_CASE constants, Readonly objects, catch comments
  • 6f0218d6 chore: expand phase roadmap — add intermediate phases, correct Phase 9 scope
  • 3f23ffbc feat(task-243): phase detail page — drill down from roadmap
  • a183cd3e chore: update metrics
  • ca10fefd feat(task-243): Phase detail page — drill down from roadmap into phase sprints/tasks
  • a7633adc feat(task-243): phase detail page — drill down from roadmap
  • afb187c8 chore: add AD-8 — dashboard read+CRUD only, MCP stays local
  • f5be5015 idea: task-265 — Bug: PAPI Framework project showing dummy/placeholder data in dashboard
  • b28cd08d idea: task-264 — Combined dashboard view with project selector — show one project, the other, or combined metrics
  • 9a5501aa feat(task-208): per-user auth with project scoping
  • 064d8a1c chore: update metrics
  • 1539de38 chore(task-208): record build-acceptance review
  • 9605fcb4 feat(task-208): External login — per-user credentials with project scoping
  • 16dcd90f feat(task-208): per-user auth with project scoping
  • b74012ed chore: rescope task-208 to config-based auth, remove task-262, add task-263
  • e5020564 idea: task-262 — Planning guard: surface simpler implementation routes before committing to architectural targets
  • a584a049 feat(task-235): Import layer — .papi/ to database sync on refresh
  • 632e36d0 chore: update metrics and sprint board
  • 4b17e1a5 chore(task-235): record build-acceptance review
  • b3cad314 feat(task-235): Import layer — .papi/ to database sync on refresh
  • 16723dbb chore: add task-261 to backlog (strategic session capture idea)
  • a3dee6c1 idea: task-261 — Strategic session capture — auto-structure key decisions into .papi/ artifacts
  • e49f94be chore: update METRICS.md sprint 19
  • 0de0b9d5 chore(sprint-19): strategic session — AD-7, North Star, product briefs
  • 2035c6ba papi: Sprint 19 plan — Full
  • 6b6ad59d papi: Sprint 18 plan — Full
  • 966b13a1 chore(task-160): record build-acceptance review
  • f22fa214 feat(task-160): Separate tasks by sprint/phase on the board
  • 5475e90c chore(task-244): record build-acceptance review
  • f01eecc2 feat(task-244): Cost and effort metrics — track effort investment per sprint/phase
  • 99472551 chore(task-242): record build-acceptance review
  • 3476fb13 feat(task-242): Build insights on dashboard — learnings from build reports
  • 307e36a9 chore(task-234): record build-acceptance review
  • 326f7054 chore(task-252): record build-acceptance review
  • 52f28ccd chore: update METRICS.md with latest build_execute tracking
  • 0b4dae18 Merge branch 'feat/task-252'
  • 07e38747 Merge branch 'feat/task-241'
  • 0faf3b2f Merge branch 'feat/task-250'
  • e4b82426 Merge branch 'feat/task-238'
  • bd0a9da3 Merge branch 'feat/task-234'
  • 6b4cbee7 feat(task-252): War room v1 — shared decisions + conflict alerts from Supabase
  • ed3dc192 chore(task-241): record build-acceptance review
  • dab378d8 feat(task-241): Sprint summary section — latest sprint log on dashboard
  • 519cccb7 chore(task-251): record build-acceptance review
  • 2375a42b feat(task-251): Supabase client setup for shared layer
  • f3e84396 idea: task-260 — Add cross-project AD fetch instruction to PAPI Framework CLAUDE.md
  • cf234e1f chore(task-250): record build-acceptance review
  • 8aa11fb3 chore(task-238): record build-acceptance review
  • 3dead56f feat(task-250): Update build report parser for scopeAccuracy and typed effort
  • 052200dc feat(task-238): Add cross-project AD fetch instruction to CLAUDE.md
  • f0ed269c fix: align supabase-types.ts enums with domain model + fix BUILD_REPORTS.md header
  • bc6f3905 feat(task-234): Database schema spike — validate PAPI task-078 schema for PapiUI
  • be110796 idea: task-259 — Scope accuracy trend chart — track estimation accuracy over time
  • 96028330 idea: task-258 — Combined dashboard metrics panel — surface key effort/velocity/cost stats on main dashboard
  • 480951c2 idea: task-257 — LLM cost tracking chart — visualise per-tool-call costs from METRICS.md
  • 4ce5d6fc Sprint 17: Typed effort/scope parsers, dashboard cards, Supabase setup, effort charts
  • 9b53be95 papi: Sprint 17 plan — Full
  • 5c805c6b idea: task-255 — Safe-pull guard for cross-project repo syncing
  • 4e801fac Sprint 16: North Star panel, sprint detail card, reviews pipeline, XAD-1 resolved
  • 5b6d8373 papi: Sprint 16 plan — Full
  • 9c9e2896 Sprint 16: Strategy review, cross-project alignment, new .papi files
  • b5a44e35 Sprint 16: Dashboard revamp, domain model, 16 new backlog tasks
  • 1e213603 Sprint 16: Cross-project bridge — multi-project config, public /api/ads endpoint, papi-brain architecture
  • a34583a5 Sprint 14: Commercial prep — landing page, setup guide, orchestration architecture
  • 18ec3ba4 Sprint 13: Interactivity polish — animations, hover states, dashboard redesign, EmptyState
  • e1b5cf47 Sprint 12: Design polish — Command Center identity, Badge component, elevation tokens, typography
  • eaa4e668 Sprint 11: Update dogfood log and planning log
  • b5f49b19 Sprint 11: Fix 6 dashboard bugs + add MCP health check + remark-gfm
  • 79bf40a6 task-210: Tailwind design system foundation + migrate 19 components
  • 0ae8c183 Backfill .papi/ with full sprint history (Sprints 1-10)
  • 028cffbd Mark tasks 161, 165, 175 as Done on sprint board
  • 37f89d67 Update DOGFOOD_LOG.md and .papi/ board for Sprint 10 completion
  • c8772409 task-161: Add priority and complexity filters to board view
  • 76934b0d task-165: Add alerts system — blocked tasks, strategy review, stale items
  • b7d62045 task-175: Merge metrics into master dashboard as default landing page
  • 81ac3387 Add PapiUI as self-managed project with own .papi/ directory
  • 0de449ba Add Cancelled status support, fix test paths, add project docs
  • ba5c06c9 Initial commit: standalone PapiUI from packages/web