April 202618 releases
- Show auto-review batch summary when last cycle review is submitted
- Lint-staged --no-stash + SQL migration docs
- Accept /sse path alias for claude.ai Projects compatibility
- Railway build — include @papi-ai/shared in build chain
- Railway build command — plain npm run build from packages/server root
- Use PORT env var for Railway deployment, 0.0.0.0 bind when deployed
- Add HTTP/SSE transport + bearer token auth to PAPI MCP server
- Add discovery/spike task types + ad_hoc triage routing
- Add 'discovery' task type — track discovered issues from builds through to backlog with origin task, priority, and notes
- Enforcement split + ad_hoc triage routing
- Mobile responsive layout for CycleExplainer on landing page
- Add P1 stall warning to orient output
- Landing page interactive "moment" — visual centerpiece
- Adapter-pg tests + tool annotations + server tests
- Dashboard dead-path cleanup
- Branching rule + lint-staged hook
- Promote discovery tasks to tier 1 — visible to planner
- Add 'discovery' task type for build-originated issues
- Write-read round-trip guard in build_execute — emit warning if report write cannot be verified
- Auto-triage P0-P3 discovered issues to Backlog on build complete
- Fix 38 failing server tests across 10 failure categories
- Refresh cycle-info and cycle-metrics on realtime task changes
- Hub-insights: "Unresolved only" filter always blank — all learnings have action_ref set but may not be truly resolved
- Cost snapshots: Tokens metric blank in CycleHero — cost-snapshots.json has no data for current cycle
- Fix last_referenced_cycle on Active Decisions table — compute from decision_events or hide zeros
- Fix N+1 query patterns in /api/ads and loadProjectsFromDb
- BUILD HANDOFF acceptance criteria include stray out-of-scope items from planner template
- Add CHECK constraints on status column for stages and horizons tables — only phases has phases_status_check
- Telemetry_events.user_id never populated — lifecycle queries less accurate
- Add prompt guidance for learning:UUID notation — feature exists but LLMs never generate it
- Regenerate Supabase TypeScript types — contacts table and others missing
- Migrate CycleLearnings into IntelligenceSummary, retire from hub
- Hub 2.0 quick fixes: remove dead links, fix Duration metric, add hero metric tooltips, board/roadmap CTAs
- Analytics: Patterns report tab
- Analytics: Token Efficiency panel
- Analytics: Fix & Elevate existing panels
- Analytics: Hero Insight Panel rewrite
- Build_execute should auto-reuse cycle branch for same-module XS/S tasks instead of creating a new branch per task
- Soften unrecorded-commit warning when ad_hoc tasks already exist
- Side nav visibility, scroll detection, section widths, live stats
- Idea tool should auto-classify task_type on submission — stop defaulting everything to "idea"
- Map tool_call_count in rowToBuildReport read path
- Remove dangling health entry from TOOLS_REQUIRING_PAPI
- Merge papi-audit into pr-reviewer and retire health MCP tool
- Auto-link cycle learnings to completed tasks via semantic matching — replace manual learning:UUID refs
- Add
task type planner template: scope + acceptance criteria + explicit out-of-scope statement
- Feed full discovered_issues and architecture_notes into strategy_review and zoom_out — currently only truncated surprises are consumed
- Add DEFAULT now() to tool_call_metrics.timestamp column to prevent silent insert failures
- Wire toolCallCount into build reports (field exists, not populated)
- Surface unactioned P0-P2 discovered issues in orient
- Resolve merge conflicts with main
- Standardise heading hierarchy and typography across pages
- Unify loading/empty/error state patterns across pages
- Add timestamp and user_id to proxy metric inserts
- Accessibility pass: add ARIA attributes, focus-visible states, and error message linking across auth + form pages
- Hub page layout: apply four-zone model + Bento grid metrics
- Route change — landing owns root domain, hub at /hub
- Root route layout restructure — (dashboard) route group
- Dogfood pipeline complete — context in handoff, keyword match, resolve on build, write at release
- Release tool: auto-write dogfood observations to DB after each cycle
- Build_execute complete: mark linked dogfood entries as resolved
- Coerce cycle_number to Number and preserve cache on validation failure
- Planner epic-aware batching — when selecting cycle tasks, prefer co-scheduling tasks from the same epic rather than cherry-picking across epics
- Pre-plan codebase awareness — scan for existing implementations before generating handoffs
- Increase default cycle sizing — group tasks by module/similarity, target 8-10 tasks when backlog supports it
- Progressive context loading — scale plan prompt complexity with project maturity
- Add opportunity field to idea tool — LLM auto-fills from problem context, planner clusters backlog by opportunity
- Compute strategy review cadence from DB in plan context + bump server to 0.7.6
- Exclude dogfood log commits from unrecorded ad-hoc detection in orient
- Consolidate onboarding paths — merge /onboard page and GuidedSetup Hub component into single in-dashboard flow
- Surface intelligence above the fold in hub
- Surface intelligence above the fold with IntelligenceSummary card
- Fix style conflict, widen bridge gap, center label
- "Run in your own ecosystem" positioning section on landing page
- Add animated ecosystem section to landing page
- Command reference in dashboard — CLI training through doing
- Add copyable CLI command chips to hub action row and empty states
- Add ON DELETE CASCADE to project child table foreign keys — replace fragile manual array
- Remove dead fetchMetricsFromSupabase function — unused code with data leakage bug
- Hierarchy_update tool sends 'completed' but DB constraint only accepts 'Done' — silent failure
- Polish batch — live metrics, brand CTA, ring cleanup, responsive intake
- Clean up pulse timer on unmount
- Add visual pulse on realtime-changed task cards
- Capture per-tool timing for all MCP calls + build wall-clock duration
- Add PostSetupState for post-setup/pre-plan empty state
- Auth file guard — PreToolUse hook warns before modifying auth/middleware
- PreAuthIntake — don't auto-restore situation selection on revisit
- Wire doc_search into strategy review — Edge Function gaps + prompt instruction
- Auth file guard — PreToolUse hook warns before modifying auth/middleware
- Wire doc_search into strategy review — Edge Function gaps + prompt instruction
- Redesign cycle explainer — show what a cycle looks like in practice, not describe the methodology
- Redesign CycleExplainer + PreAuthIntake for landing page
- NewTaskIdMap keys use batch-relative index to match pg adapter
- Remove stale writeCycleLogEntry() dual-write from strategy_review writeBack
- Add INNER JOIN to v_decision_usage to filter ghost ADs
- Column-specific SELECTs in queryBoard and getActiveDecisions — eliminate SELECT *
- Deduplicate build reports fetch in plan context assembly — fetch once, reuse across both paths
- Add Cache-Control headers to read-only /api/data/ responses
- Add pagination to /api/data/ endpoints — limit/offset query params
- Add bounded eviction to ownershipCache and rateLimitStore in Edge Function
- Bounded eviction for ownershipCache + rateLimitStore
- GetLatestDecisionScores proxy — add camelCase field mapping
- ReadPlanningLog proxy — correct shape to match pg adapter
- Install MagicUI dependencies — motion + clsx + cn utility
- Add LIMITs to unbounded adapter queries — readToolMetrics, readCycles, readCycleMetrics, queryBoard
- Add request timeout to executeAdapterMethod in Edge Function
- Shared Supabase client in Edge Function — eliminate per-request client creation
- Replace JS aggregation in getCostSummary with SQL GROUP BY RPC
- V_decision_usage view — filter ghost ADs from orphaned entity_references
- Apply orphaned C204 fixes — remove font-mono from roadmap/breadcrumb, fix backlog empty state
- Remove 5-task handoff cap, add skipHandoffs mode, extract handoff service
- Show task type badge for all types including 'task'
- Add doc action staleness audit section to strategy review
- Add non-blocking npm version check on startup
- CRM priority field, source filters, design brain assets, and data-proxy display_id fix
- Guard onboard redirect with window.location check — avoid SSR/hydration issues
- Skip project redirect on public pages — /landing was redirecting to /onboard
- Cycle explainer — interactive Plan/Build/Review/Learn walkthrough
- Pre-auth interactive intake — situation/tool/project stored in localStorage
- Add validation warnings to setup apply — surface phase/AD seeding failures
- Remove setCycleHealth write path — boardHealth/strategicDirection are computed, not stored
- EnsureProject creates new project when name is provided — fixes multi-project creation
- Validate cycle_number on plan apply — reject mismatch with prepare instruction
- Null-safe date sort in board_view — handle Date objects from postgres.js
- Setup experience audit — external user FTUE findings
- Add isNewProject detection + conditional dashboard rendering
- Add 'What You Get' deliverables section to landing page
- Update empty state to remove deprecated .papi/ path reference
- Mine dogfood data for quantified value claim (landing page copy prerequisite)
- Replace deprecated .papi/ references in empty state copy
- Strategy review write-back sentinel bug + npm publish permissions
- Strengthen post-write verification — verify task count matches expected handoffs
- Add GitHub Actions CD for Edge Function deployment
- Fix Duration metric — fall back to created_at when start_date is null
- Add cycle integrity checks — multi-active, ghost, orphaned
- Strengthen bug handoff template with reproduce/root-cause/fix/regression sections
- Add
spike task type with planner instructions for time-boxed investigation
- Add spike task type with time-boxed investigation template
- Make bootstrap prompt project-agnostic
- Correct stage position reporting — case-insensitive status, prefer lowest sort_order
- Add explicit type param (task/bug/research/spike)
- Hero copy refresh, dark login page, UI polish
- 3 bugs blocking external users — plan apply, AD upsert, createCycle
- Hub UI density pass — hero, carry forward, board cards
- Ad_hoc transitions In Progress tasks to In Review, add submitBugReport to proxy