v0.9.0
What's Changed
- feat(web-ui): pipeline progress indicator (Think→Build→Prove→Ship) by @frankbria in #488
- feat(web-ui): onboarding guidance card for new workspaces by @frankbria in #489
- feat(web-ui): task → PRD requirement traceability badges (#468) by @frankbria in #490
- feat(web-ui): surface PROOF9 gate link in execution completion banner (#469) by @frankbria in #491
- feat(web-ui): PROOF9 terminology tooltips and glossary on Proof page (#470) by @frankbria in #492
- feat(web-ui): context-aware Quick Actions based on workspace state (#471) by @frankbria in #493
- feat(web-ui): auto-run gates on execution completion, show summary in banner (#472) by @frankbria in #494
- feat(web-ui): blocker lifecycle explanation and recovery guidance (#473) by @frankbria in #495
- feat(web-ui): link failed tasks to PROOF9 gate failure for root cause (#474) by @frankbria in #496
- feat(web-ui): compress and summarize verbose execution event stream (#475) by @frankbria in #497
- feat(web-ui): task dependency graph visualization in detail modal (#476) by @frankbria in #498
- feat(web-ui): empty state with task generation CTA on task board (#477) by @frankbria in #499
- feat(api): DB schema + CRUD REST API for interactive agent sessions by @frankbria in #510
- feat(api): WebSocket endpoint for streaming agent chat (#502) by @frankbria in #511
- feat(core): StreamingChatAdapter for token-by-token Anthropic relay (#503) by @frankbria in #512
- feat(web-ui): useAgentChat hook — WebSocket connection and message streaming by @frankbria in #513
- docs(roadmap): restructure Phase 4 with execution environment layer by @frankbria in #514
- feat(web-ui): AgentChatPanel component (#505) by @frankbria in #515
- feat(web-ui): AgentTerminal — XTerm.js interactive terminal for session workspace (#506) by @frankbria in #516
- feat(web-ui): SplitPane layout component — draggable, collapsible, persistent by @frankbria in #517
- fix(web-ui): SplitPane a11y, logic bugs, and test coverage by @frankbria in #518
- feat(web-ui): /sessions list page + sidebar navigation entry (#508) by @frankbria in #519
- feat(web-ui): /sessions/[id] detail page — SplitPane + AgentChatPanel + AgentTerminal (#509) by @frankbria in #520
- feat(web-ui): waiver confirmation + audit trail for Proof page by @frankbria in #521
- feat(review): add business context (task/requirement) to diff viewer file tree (#480) by @frankbria in #522
- feat(web-ui): task generation confirmation toast with count and link by @frankbria in #523
- feat(web-ui): task status tooltips and valid action guidance (#481) by @frankbria in #524
- feat(web-ui): PRD version history panel with diff and restore by @frankbria in #525
- feat(web-ui): sort and filter controls for Proof requirements table by @frankbria in #526
- feat(web-ui): recent workspaces list with empty state (#484) by @frankbria in #527
- feat(web-ui): filter, search, and sort for proof evidence history table by @frankbria in #528
- feat(web-ui): tech stack detection UX with confirmation dialog (#486) by @frankbria in #529
- feat: differentiate system/agent/human blocker origins visually (#487) by @frankbria in #530
- fix: address claude-review feedback on blocker origins (#487) by @frankbria in #531
- feat(core): ExecutionContext abstraction for task isolation (#532) by @frankbria in #536
- feat(core): WorktreeRegistry, orphan cleanup, and get_base_branch (#533) by @frankbria in #537
- docs: add CI gate process rule to CLAUDE.md by @frankbria in #539
- feat(adapters): E2BAgentAdapter — cloud execution in isolated Linux VM (#534) by @frankbria in #540
- feat(core): absorb parallel-cc worktree + E2B into CodeFrame namespace (#535) by @frankbria in #541
- feat(adapters): OpenAI-compatible LLM adapter by @frankbria in #550
- [4.D.2] Provider factory + env var wiring (get_provider, ModelSelector) by @frankbria in #551
- feat: multi-provider LLM support (#545–549) by @frankbria in #552
- feat(adapters): abstract streaming layer behind LLMProvider (#548) by @frankbria in #553
- feat(web-ui): Run Gates button + live gate progress for PROOF9 (#566) by @frankbria in #574
- feat(web-ui): per-gate evidence display and run history (#567) by @frankbria in #575
- feat(web-ui): Glitch Capture entry point and form for PROOF9 (#568) by @frankbria in #576
- fix(web-ui): address CodeRabbit review feedback on Glitch Capture (#568) by @frankbria in #577
- feat(web-ui): Glitch Capture REQ detail view and sidebar entry point (#569) by @frankbria in #578
- feat(web-ui): PR status panel with live CI checks, review, and merge state by @frankbria in #579
- fix(pr-status): address review feedback missed before merge (#570 follow-up) by @frankbria in #580
- fix(pr_v2): close httpx client in all 5 remaining PR endpoints by @frankbria in #582
- feat(web-ui): PROOF9-gated merge button on PR Status panel by @frankbria in #583
- fix(pr-status): address claude-review feedback post-merge (#571 follow-up) by @frankbria in #584
- feat(pr-history): PR history view with proof snapshots (#572) by @frankbria in #585
- feat(pr-history): Report Glitch action and REQ→PR back-link (#573) by @frankbria in #586
- feat(settings): /settings page skeleton + agent config (#554) by @frankbria in #587
- feat(settings): API key management tab (#555) by @frankbria in #588
- feat(settings): PROOF9 defaults + workspace config tabs (#556) by @frankbria in #589
- feat(costs): cost analytics page (#557) by @frankbria in #590
- feat(costs): per-task and per-agent breakdowns + task board cost badge (#558) by @frankbria in #591
- fix(ci): unblock Full Lifecycle Tests workflow by @frankbria in #592
- feat(web-ui): async notifications — browser + in-app center (#559) by @frankbria in #593
- feat(notifications): outbound webhook (#560) by @frankbria in #594
- feat(prd): stress-test web UI — trigger + streaming progress (#561) by @frankbria in #595
- fix(server): slim control-plane schema; unblock
codeframe serveby @frankbria in #596 - refactor: remove orphaned v1 web layer (routers + services) by @frankbria in #597
- refactor: remove dead leaf modules (v1 domain cleanup, part 1) by @frankbria in #598
- fix(ci): remove obsolete v1 e2e workflow test (unblock Deploy) by @frankbria in #600
- refactor: remove v1 multi-agent domain cluster (#599 PR1/3) by @frankbria in #602
- refactor: slim Database to control-plane store (#599 PR2/3) by @frankbria in #603
- refactor: rename persistence -> platform_store + v1 cleanup (#599 PR3/3) by @frankbria in #604
- feat(workspaces): server-side workspace registry + listing/switcher API (#601) by @frankbria in #605
- feat(web-ui): PRD stress-test results view + refinement (#562) by @frankbria in #606
- feat(integrations): GitHub repo connection via PAT (#563) by @frankbria in #607
- feat(integrations): GitHub issue browser + multi-select import UI (#564) by @frankbria in #608
- feat(integrations): execute GitHub issue import + task traceability (#565) by @frankbria in #609
- feat(auth): enforce authentication across the v2 API (#336) by @frankbria in #610
- chore: remove vestigial v1 context-tier code (ContextTier, importance_scorer) and dead tests (#611) by @frankbria in #612
- feat: cf import ralph — one-command migration from ralph-claude-code (#615) by @frankbria in #620
- feat: opt-in telemetry + crash reporting (#616) by @frankbria in #621
- docs: launch-prep — SECURITY.md, licensing clarity, beta issue templates (#617, #618) by @frankbria in #622
- docs: add codeframe.sh contact aliases to launch docs by @frankbria in #625
- feat(packaging): publishable codeframe-ai 0.9.0 + PyPI release workflow by @frankbria in #626
Full Changelog: v0.1.0...v0.9.0