March 202618 releases
- Server-side auto-release after all sprint tasks reviewed
- Fix muted text and P2 badge contrast for WCAG AA compliance
- Login form accessibility — add labels, restore focus rings
- Redesign ProjectTrajectory with structured strategy review sections
- Store full structured strategy review in DB as queryable JSONB
- Persist full strategy review analysis to DB — stop losing 90% of review output
- ProjectTrajectory UX improvements from feedback
- Cockpit redesign: Lower section — ProjectTrajectory (strategy review + trends) + enhanced backlog + tasks table
- Add skeleton screens for progressive loading
- Board sprint filter uses local state for instant filtering
- Polish ProjectTimeline — remove top numbers, single bar, date spans, strategy separators, y-axis label
- Cockpit redesign: Sprint Progress Bar + Timeline redesign — effort-weighted progress, date axis, strategy markers
- Cockpit redesign: Command Header + Action Bar — hero section with narrative, sparklines, merged alerts
- Strategy review write-back should propagate insights into ADs and product brief
- Server guard: block plan if In Review tasks older than 2 sprints exist
- Fix pre-existing test failures — git.test.ts timeout assertion + 5 workspace resolution failures
- Extract formatPreviousReviews helper + wire previous reviews into strategy_change context
- Strategy review board filter preserves review-window learnings + build_list health resilience
- Portfolio shows per-project stats + live site URL
- Fix copy inconsistencies across dashboard
- Add h1 to Cockpit and move NeedsAttention above metrics
- Fix Cockpit silent catch — show error state on failure
- Add error.tsx route-level boundaries for all pages
- Reusable ErrorState component replacing 11 ad-hoc error divs
- Release tool auto-pushes branch and tag to remote
- Skip .papi/ writes in pg mode and exclude from clean-tree check
- Ad_hoc accepts task_id to complete existing tasks
- Bug: Feature branch divergence — build_execute branches from main, missing prior same-sprint task work
- Branch from latest same-sprint feature branch
- Decouple release DB update from git ops
- Batch planWriteBack DB operations to eliminate sequential round-trips
- Show next sprint number in plan prepare header
- Resolve display IDs to UUIDs for sprints.task_ids column
- Fix health tool reviewOverdue — use reviewGateBlocking variable
- Build_list now shows current sprint number from DB
- Atomic plan writeBack — single DB transaction replaces 35-50 individual writes
- Wire task comments into planner context
- SSE real-time layer for interactive dashboard
- Toast notification system for all dashboard write operations
- Interactive board UX polish — prominent actions, better card hierarchy
- Fix health tool reviewOverdue runtime error — use reviewGateBlocking
- Fix auto-switch race condition — use useEffect watching both tasks and currentSprint
- Auto-switch to All sprints when current sprint is complete
- Add task ID to cards, prominent edit button, format JSON handoffs
- Interactive board — task status updates + edit mode from dashboard
- Discussion threads per task — task_comments table + UI
- Strategy review gate — block plan at 5+ sprint gap instead of advisory
- Update strategy review Slack reference from missing skill to MCP integration
- Separate strategy reviews from sprint logs — own table, own dashboard view, own cadence
- Decouple strategy review from sprint sessions — flag as available, don't force inline
- Strategy review prompt upgrade — enforce structured coverage, reduce context bias
- Skip git sync + autoCommit for pg adapter, bump applyPlan timeout, add writeBack diagnostics
- Plan context optimisation — section hashing + reviews 20→5
- Truncate notes field to 2000 chars in idea/bug/ad-hoc tools
- Increase pg adapter connection pool from 1 to 5
- Reduce plan apply DB queries — remove metrics snapshot, context util, add 60s timeout
- Reduce MCP server DB queries — remove metrics write-back, slim health
- Surface data fetch errors instead of silently swallowing them
- Task type system with context-tier filtering for plan
- Replace Sprint Timeline pill scroller with Recharts area chart
- Papi-reader tests — create fixture .papi/ directory instead of wrong path
- Revert to max:1 connection pool — Supabase ignores custom GUC startup params
- NextAction expandable tasks, timeline cleanup, cycle ring text clipping
- Setup as progressive advisory — 3 required fields, defaults for rest
- Add decision lineage tab to Strategy page
- Add continuity surface to Cockpit — next action, active decisions
- Plan performance — parallelize writeBack, guard handoff overwrites, exclude Deferred from context
- Ship default PAPI skills for external users
- Dashboard Phase 1b — Analytics + Strategy pages absorb Brain/Reports/Brief/Decisions
- Validate phase on task creation — resolve from adapter instead of hardcoding "Unscoped"
- Prepare npm packages for publishing
- Add maturity gating to plan prompt
- Fix methodology trends showing undefined/NaN
- Log createSprint failures instead of silently swallowing
- Fix health metrics NaN by normalizing JSONB and adding build report fallback
- Fix sync script sprint statuses and handoff parsing
- Add getSprintLogSince(n) for scoped sprint log fetching
- Extract strategy reviews into dedicated strategy_reviews table
- Fix boardHealth/strategicDirection reads and strategyReviewDue format on pg adapter
- Address PR review — card navigation, health status, duplicate fetch
- Add multi-project portfolio page with health metrics
- Wire sprint_metrics_snapshots, cost_snapshots, sprints into data-provider
- Release marks sprint complete, build_execute backfills sprint on tasks
- Add infrastructure connection health checks
- Context utilisation metric — measure wasted tokens per tool call
- Entity reference tracking — which decisions actually get used
- Dead input audit — find all adapter read calls that silently accept empty results
- Add product_briefs table to Supabase, remove sync footgun from release
- Add sprint cycle stress test, fix SPRINT_LOG_TEMPLATE heading
- Brain page defaults to papi-ui instead of papi-framework
- Brain reviews query uses correct column name, add debug logging
- Brain handler picks source by max sprint number, not count
- Compute brain sprint intelligence from build_reports table
- Wire reports and handoffs to DB-backed data on Vercel
- Stringify jsonb build_handoff from DB before UI consumption
- Add Supabase connectivity check to debug endpoint
- Add Supabase URL format validation to catch .com vs .co typos
- Correct Supabase URL on Vercel (.co not .com), remove debug logging
- Debug: add temporary logging to getHealth DB path
- Dashboard data integrity — env validation, sprint statuses, remove War Room
- Make getHealth() DB-first to show current sprint on Vercel
- Exclude packages/ from root tsconfig to unblock Vercel builds
- DB-first architecture — remove dual-write, update CLAUDE.md for pg-only reads
- Auto-update task status in build_execute and review_submit — fix chronic board drift
- Disable review_submit Slack notification to stop per-review spam
- Update 83 failing tests to match two-phase prepare/apply refactor
- Make adapter-factory pg path resilient to unreachable DB
- Fix sync script tsx → npx tsx, remove stale known issues