Source of truth for merge-queue scope checks and worker prioritization. Synced periodically by BMAD PM agent from
docs/prd/epics-and-stories.md. Last updated: 2026-03-15 (batch-767)
- P0 — Must ship. Blocks other work or users.
- P1 — Should ship. High value, no blockers.
- P2 — Nice to have. Lower urgency.
Status: Resolved. Epic 36 fully implemented (PRs #272, #276, #277 merged). Issue #219 closed.
Door selection lacks tactile feedback and intuitive interaction patterns.
Status: Done (PR #402).
Renovate manages Go module dependencies (grouping, auto-merge, OSV vulnerability scanning). Dependabot manages GitHub Actions version pinning. Merge-queue integration via dependencies label.
Status: Done (PR #260).
Branch protection & merge queue optimization to reduce cascading CI reruns. Relaxed up-to-date requirement, added path filtering for docs-only PRs, deferred GitHub merge queue (ADR-0030).
Status: Done (PR #479).
Operationalize merge-queue emergency mode: proactively check push-to-main CI after each merge, halt merges if main is red. Prerequisite safety net for the relaxed up-to-date rule (Story 0.20).
Status: Done (PR #494).
Shell script to measure CI efficiency (runs per merged PR, churn ratio, docs-skip rate). Validates Story 0.20 improvements and monitors ADR-0030 re-entry gate for GitHub merge queue.
Status: Done (PR #556).
Remove the ImprovementView ("Session Reflection") that intercepts quit after productive sessions. Quit must be immediate — no confirmation, no prompt, no second keypress. Reverses Story 3.6. SOUL.md violation (D-165).
Status: Done (PR #523).
Insert UTC HHMMSS timecode into alpha version format so same-day releases sort chronologically. Changes 0.1.0-alpha.YYYYMMDD.SHA to 0.1.0-alpha.YYYYMMDD.HHMMSS.SHA. One-line CI fix, SemVer 2.0 compliant. Unblocks Story 49.9 (channel-aware version checking).
Status: Done (PR #270).
Pin golangci-lint version, replace third-party release action with gh CLI, add protected environment for release secrets.
Status: Done (PR #255).
Local issue tracker file (docs/issue-tracker.md) with authority tier configuration for the envoy agent. Operationalizes party mode research from PRs #227, #232.
Status: Done (PR #259).
Operations documentation for the envoy agent: patrol workflows, cross-agent protocols, staleness thresholds, SOUL.md alignment patterns.
Status: Done (PR #309).
Replace broken :help flash message with dedicated scrollable help view. Content runs off-screen and disappears after 3 seconds. Fix: new ViewHelp mode, categorized two-column layout, ? global keybinding.
Status: Done (PR #361).
Story 36.3 (PR #276) universal quit handler causes sub-views (dashboard, health, synclog, etc.) to exit on 'q' instead of going back. Fix: scope 'q' quit to doors view only; sub-views treat 'q' as go-back (D-128).
Status: Done (PR #485).
Fix data accuracy in BOARD.md Epic Number Registry (wrong epic mappings, missing epics), backfill all active epics 39-51, and strengthen enforcement rules to reference project-watchdog as MUTEX. Implements D-112.
Status: Done (PR #513).
Migrate all 21 GitHub labels to scoped . separator format per finalized 27-label taxonomy (D-106, D-107). Rename-first strategy preserves label-issue associations (D-110). Create 6 new labels, delete 2 obsolete ones.
Status: Done (PR #520).
Update all agent definition files (envoy, merge-queue, pr-shepherd) to reference new scoped label names. Text-only changes — agents must be restarted after merge.
Status: Done (PR #519).
Document label authority matrix (who sets/removes each label) and end-to-end triage flow. Covers BOARD recommendations P-003 and P-005. Consolidates party mode consensus into operational reference.
Status: Done (PR #623).
Add benchmarks for View() rendering in complex TUI views (doors, dashboard, stats, sources). Captures baseline for regression detection. Driven by TEA audit R-001 finding that benchmark coverage is limited to core/textfile packages.
Status: Done (PR #619).
Integration tests for sync conflict resolution across simulated adapter pairs. Covers last-writer-wins, orphaned task detection, field-level conflicts. Currently only unit-tested. Driven by TEA audit R-001.
Status: Done (PR #621).
Audit and expand Docker E2E test scenarios to cover all primary user workflows (task completion, blocking, daily planning, source connection). Three-tier TUI testing infrastructure (ADR-0019) is fully built but scenario coverage gaps exist. Driven by TEA audit R-001.
Status: Done (PR #737).
Add t.Helper() to all test helper functions across the codebase. Currently only 23% of test files use it. Low effort, high payoff for debugging test failures. Driven by TEA audit R-001.
Status: Done (PR #761).
Bump Go toolchain to 1.26.1 to resolve stdlib vulnerabilities (GO-2026-4599 through GO-2026-4602) reported by govulncheck ./.... Resolves issue #592.
Status: Done (PR #768).
Replace Makefile with Justfile for better error messages, simpler syntax, and cross-platform support. Updated CLAUDE.md, CI workflows, agent definitions, and README.
Status: Done (PR #771).
Complete PRD forensic reconstruction to ensure full epic and story coverage across planning docs.
Status: Done (PR #794).
Remove stale content and fix structural issues in PRD shards identified by forensic reconstruction.
Status: Done (PR #792).
Consolidate inconsistent phase numbering in product-scope.md.
Status: Done (PR #791).
Expand user journey documentation to cover features implemented after Phase 2.
Fix three gaps where implemented adapter code is not properly connected to CLI and TUI entry points: CLI adapter registration bug (critical), ClickUp connect wiring, and provider spec parity.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 66.1 | CLI Adapter Registration Fix | Done (PR #749) | P0 | None |
| 66.2 | ClickUp Connect Wiring | Done (PR #751) | P1 | 66.1 |
| 66.3 | Provider Spec Parity & Validation | Done (PR #750) | P1 | 66.2 |
Dependency graph: Linear chain: 66.1 → 66.2 → 66.3. Story 66.1 is the critical bug fix.
Increase internal/cli from 34.8% to ≥70% coverage. Only critical gap from TEA audit. All three stories are independent and can parallelize.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 65.1 | Core CLI Path Tests — Bootstrap, Root, Doors, TaskPool Loading | Done (PR #740) | P0 | None |
| 65.2 | Subcommand Test Coverage — Config, Mood, Health, Stats, Plan | Done (PR #739) | P0 | None |
| 65.3 | Remaining Command Coverage — Task, Sources, Connect, Extract | Done (PR #736) | P1 | None |
Dependency graph: All three stories are fully independent and can be implemented in parallel.
Native dependency graph support. Blocks tasks with unmet dependencies from door selection.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 29.1 | DependsOn Field, DependencyResolver, and YAML Persistence | Done (PR #307) | P1 | None |
| 29.2 | Door Selection Filter and Auto-Unblock on Completion | Done (PR #319) | P1 | 29.1 |
| 29.3 | TUI Blocked-By Indicator and Dependency Management | Done (PR #340) | P1 | 29.1 |
| 29.4 | Session Metrics Logging for Dependency Events | Done (PR #356) | P1 | 29.1 |
Linear as task source via GraphQL API. Best task model alignment of all evaluated services.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 30.1 | Linear GraphQL Client & Auth Configuration | Done (PR #446) | P2 | Epic 7 (done) |
| 30.2 | Read-Only Linear Provider with Field Mapping | Done (PR #699) | P2 | 30.1 |
| 30.3 | Bidirectional Sync & WAL Integration | Done (PR #709) | P2 | 30.2 |
| 30.4 | Contract Tests & Integration Testing | Done (PR #705) | P2 | 30.2 |
Complete Expand (manual sub-task creation) and Fork (variant creation) TUI features per Design Decision H9.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 31.1 | Task Model ParentID Extension | Done (PR #698) | P2 | None |
| 31.2 | Enhanced Expand — Sequential Subtask Creation | Done (PR #708) | P2 | 31.1 |
| 31.3 | Subtask List Rendering in Detail View | Done (PR #714) | P2 | 31.1, 31.2 |
| 31.4 | Enhanced Fork — Variant Creation with ForkTask Factory | Done (PR #701) | P2 | None |
| 31.5 | Design Decision H9 Status Update | Done (PR #718) | P2 | 31.1-31.4 |
Transform rectangular card/panel doors into visually convincing doors using side-mounted handles, hinge marks, threshold lines, crack-of-light selection feedback, and handle turn micro-animations. Based on 5-round party mode research with 7 agents.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 48.1 | Side-Mounted Handle + Hinge Marks | Done (PR #451) | P2 | Epic 35 (done), Epic 17 (done) |
| 48.2 | Continuous Threshold / Floor Line | Done (PR #483) | P2 | None |
| 48.3 | Crack of Light Effect on Selection | Done (PR #572) | P2 | 48.1 |
| 48.4 | Handle Turn Micro-Animation | Done (PR #588) | P2 | 48.1 |
Dependency graph: Stories 48.1 & 48.2 can parallelize. Stories 48.3 & 48.4 can parallelize after 48.1 completes.
TUI interfaces for data source management: setup wizard (:connect), sources dashboard (:sources), source detail view, sync log view, status bar health alerts, disconnection flow, and re-authentication flow. Uses charmbracelet/huh for wizard forms.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 44.1 | Setup Wizard with huh Forms | Done (PR #574) | P1 | Epic 43 |
| 44.2 | Sources Dashboard View | Done (PR #553) | P1 | Epic 43 |
| 44.3 | Source Detail View | Done (PR #563) | P1 | 44.2 |
| 44.4 | Sync Log View | Done (PR #582) | P1 | 43.5 |
| 44.5 | Status Bar Integration for Connection Health Alerts | Done (PR #562) | P1 | Epic 43 |
| 44.6 | Disconnection Flow with Task Preservation Options | Done (PR #581) | P1 | 44.2 |
| 44.7 | Re-Authentication Flow | Done (PR #654) | P1 | 44.3, Epic 46 |
Non-interactive CLI commands for data source management: threedoors connect, threedoors sources (list/status/test/manage/log), and JSON output support for scripting and CI/automation.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 45.1 | threedoors connect Command (Non-Interactive) |
Done (PR #573) | P1 | Epic 43 |
| 45.2 | threedoors sources List/Status/Test Commands |
Done (PR #550) | P1 | Epic 43 |
| 45.3 | threedoors sources Management Commands |
Done (PR #587) | P1 | Epic 43 |
| 45.4 | threedoors sources log Command |
Done (PR #565) | P1 | 43.5 |
| 45.5 | JSON Output Support for All Sources Commands | Done (PR #589) | P1 | 45.1-45.4 |
| 45.6 | Wire Connect Wizard into CLI Entry Point | Done (PR #732) | P1 | 44.1 |
Generic OAuth device code flow client for browser-based authentication. Provider-specific integrations for GitHub and Linear. Silent token refresh with explicit re-auth on expiry.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 46.1 | Generic Device Code Flow Client | Done (PR #443) | P2 | None |
| 46.2 | GitHub OAuth Integration | Done (PR #636) | P2 | 46.1 |
| 46.3 | Linear OAuth Integration | Done (PR #671) | P2 | 46.1 |
| 46.4 | Token Refresh Lifecycle | Done (PR #631) | P2 | 46.1 |
Conflict resolution (last-writer-wins with field-level strategy), orphaned task handling, auto-detection of installed tools in setup wizard, and proactive connection health notifications.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 47.1 | Conflict Resolution Strategy with Logging | Done (PR #632) | P2 | Epic 43 |
| 47.2 | Orphaned Task Handling | Done (PR #650) | P2 | 47.1 |
| 47.3 | Auto-Detection of Existing Tools in Setup Wizard | Done (PR #635) | P2 | 44.1 |
| 47.4 | Proactive Connection Health Notifications | Done (PR #630) | P2 | 44.5 |
Epic 43-47 dependency graph: Epic 43 is the critical path — all other epics depend on it. Epics 44 (TUI) and 45 (CLI) can parallelize after Epic 43. Epic 46 (OAuth) is independent. Epic 47 (Advanced) depends on 43+44.
Remediate findings from the application security audit. Fix permissive file permissions, add symlink validation, enforce input size limits, protect credentials in config, and harden CI supply chain.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 42.1 | File Permission Standardization (0o700/0o600) | Done (PR #437) | P1 | None |
| 42.2 | Symlink Validation for File Operations | Done (PR #440) | P1 | None |
| 42.3 | Input Size Limits for YAML and JSONL Readers | Done (PR #448) | P1 | None |
| 42.4 | Credential Protection in Config Files | Done (PR #477) | P2 | 42.1 |
| 42.5 | CI Supply Chain Hardening | Done (PR #607) | P1 | None |
In-app :bug command for frictionless bug reporting without leaving the TUI. Breadcrumb navigation trail, environment data collection with strict privacy allowlist, mandatory preview, and tiered submission (browser URL, GitHub API, local file).
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 50.1 | Breadcrumb Tracking System | Done (PR #478) | P2 | None |
| 50.2 | Bug Report View & Environment Collection | Done (PR #624) | P2 | 50.1 |
| 50.3 | Submission Methods (Browser, API, File) | Done (PR #649) | P2 | 50.2 |
Dependency graph: Linear chain: 50.1 → 50.2 → 50.3.
| Epic | Title | Stories |
|---|---|---|
| 0 | Infrastructure & Process (Backfill) | 35/35 |
| 1 | Three Doors Technical Demo | 7/7 |
| 2 | Apple Notes Integration | 6/6 |
| 3 | Enhanced Interaction | 7/7 |
| 3.5 | Platform Readiness & Tech Debt | 8/8 |
| 4 | Learning & Intelligent Door Selection | 6/6 |
| 5 | macOS Distribution & Packaging | 2/2 (COMPLETE) |
| 6 | Data Layer & Enrichment | 2/2 |
| 7 | Plugin/Adapter SDK & Registry | 3/3 |
| 8 | Obsidian Integration | 4/4 |
| 9 | Testing Strategy & Quality Gates | 5/5 |
| 10 | First-Run Onboarding | 2/2 |
| 11 | Sync Observability & Offline-First | 3/3 |
| 12 | Calendar Awareness | 2/2 |
| 13 | Multi-Source Aggregation | 2/2 |
| 14 | LLM Task Decomposition | 2/2 |
| 15 | Psychology Research & Validation | 2/2 |
| 17 | Door Theme System | 6/6 |
| 18 | Docker E2E & Headless TUI Testing | 5/5 |
| 19 | Jira Integration | 4/4 |
| 20 | Apple Reminders Integration | 4/4 |
| 21 | Sync Protocol Hardening | 4/4 |
| 22 | Self-Driving Development Pipeline | 8/8 |
| 23 | CLI Interface | 11/11 |
| 24 | MCP/LLM Integration Server | 8/8 |
| 25 | Todoist Integration | 4/4 |
| 26 | GitHub Issues Integration | 4/4 |
| 27 | Daily Planning Mode | 5/5 |
| 28 | Snooze/Defer as First-Class Action | 4/4 |
| 32 | Undo Task Completion | 3/3 |
| 33 | Seasonal Door Theme Variants | 4/4 |
| 34 | SOUL.md + Custom Development Skills | 4/4 |
| 35 | Door Visual Appearance — Door-Like Proportions | 7/7 |
| 36 | Door Selection Interaction Feedback | 4/4 |
| 37 | Persistent BMAD Agent Infrastructure | 4/4 |
| 38 | Dual Homebrew Distribution | 6/6 |
| 39 | Keybinding Display System | 12/13 (1 cancelled) |
| 40 | Beautiful Stats Display | 10/10 |
| 41 | Charm Ecosystem Adoption & TUI Polish | 6/6 |
| 42 | Application Security Hardening | 5/5 |
| 43 | Connection Manager Infrastructure | 6/6 |
| 44 | Sources TUI | 7/7 |
| 45 | Sources CLI | 5/5 |
| 46 | OAuth Device Code Flow | 4/4 |
| 47 | Sync Lifecycle & Advanced Features | 4/4 |
| 48 | Door-Like Doors | 4/4 |
| 49 | ThreeDoors Doctor | 10/10 |
| 52 | Envoy Three-Layer Firewall | 4/4 |
| 55 | CI Optimization Phase 1 | 3/3 |
| 56 | Door Visual Redesign — Three-Layer Depth System | 5/5 |
| 57 | LLM CLI Services | 8/8 |
| 58 | Supervisor Shift Handover | 7/7 |
| 59 | Full-Terminal Vertical Layout | 2/2 |
| 60 | README Overhaul | 5/5 |
| 61 | GitHub Pages User Guide | 4/4 |
| 62 | Retrospector Agent Reliability | 3/3 |
Document and enable remote collaboration with multiclaude via SSH, with future MCP bridge support.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 53.1 | SSH Tunnel Setup & Documentation | Done (PR #613) | P2 | None |
| 53.2 | Remote Agent Attachment | Done (PR #615) | P2 | 53.1 |
| 53.3 | Cross-Machine Message Routing | Done (PR #665) | P2 | 53.1 |
| 53.4 | Remote Worker Dispatch | Done (PR #691) | P2 | 53.2, 53.3 |
| 53.5 | MCP Bridge Prototype | Done (PR #693) | P2 | 53.1 |
Continuous improvement meta-system with a persistent retrospector agent that monitors PR merges, detects process waste, audits doc consistency, and files improvement recommendations to BOARD.md. Dual-loop architecture: spec-chain quality (did we build the right thing?) and operational efficiency (are we building efficiently?).
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 51.1 | Retrospector Agent Definition (Responsibility+WHY Format) | Done (PR #461) | P1 | None |
| 51.2 | Rewrite Operational Agent Definitions (Responsibility+WHY Format) | Done (PR #460) | P1 | None |
| 51.3 | JSONL Findings Log & Per-Merge Lightweight Retro | Done (PR #462) | P1 | 51.1 |
| 51.4 | Saga Detection (Dispatch Waste Alerting) | Done (PR #464) | P1 | 51.1 |
| 51.5 | Doc Consistency Audit (Periodic Cross-Check) | Done (PR #465) | P1 | 51.1 |
| 51.6 | BOARD.md Recommendation Pipeline | Done (PR #463) | P1 | 51.3, 51.4, 51.5 |
| 51.7 | Merge Conflict Rate Analysis | Done (PR #506) | P2 | 51.3, 51.6 |
| 51.8 | CI Failure Rate Analysis & Coding Standard Proposals | Done (PR #505) | P2 | 51.3, 51.6 |
| 51.9 | Research Lifecycle Tracking | Done (PR #507) | P2 | 51.3, 51.6 |
| 51.10 | PR Creation Authority & Trend Reporting | Done (PR #509) | P2 | 51.1-51.9 |
| 51.11 | Retrospector Autonomy Fixes — Agent Definition Rewrite | Done (PR #608) | P1 | 51.1 |
Phasing: Phase 0 (stories 51.1-51.2): Bootstrap — rewrite agent definitions. Phase 1 (stories 51.3-51.6): MVP monitoring. Phase 2 (stories 51.7-51.10): Advanced analysis after 2 weeks of MVP validation.
Dependency graph: Stories 51.1 & 51.2 can parallelize. Stories 51.3-51.5 can parallelize after 51.1. Story 51.6 depends on 51.3-51.5. Phase 2 stories depend on Phase 1 validation.
Epic 54: Gemini Research Supervisor — Deep Research Agent Infrastructure (Rearchitected) (P2) — 5/5 stories done — COMPLETE
Persistent research-supervisor agent that wraps the official Gemini CLI (@google/gemini-cli) with OAuth authentication for web-grounded research. Rearchitected from the original Python/API-key approach (D-154 → D-164). Uses free tier: 50 Pro/day + 1,000 Flash/day. Features context packaging (8 bundles, --include-directories), three-layer result shielding, and dual-tier budget management. No Python, no API key, no third-party tools.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 54.1 | Research-Supervisor Agent Definition (Gemini CLI + OAuth) | Done (PR #537) | P2 | None |
| 54.2 | Gemini CLI Installation, OAuth Setup & Wrapper Script | Done (PR #538) | P2 | None |
| 54.3 | Context Packaging & Prompt Engineering (Gemini CLI) | Done (PR #664) | P2 | 54.1 |
| 54.4 | Result Shielding & Artifact Storage (Gemini CLI JSON) | Done (PR #690) | P2 | 54.1, 54.2 |
| 54.5 | Rate Limiting, Budget Management & Model Selection | Done (PR #689) | P2 | 54.1, 54.2 |
Dependency graph: Stories 54.1 & 54.2 can parallelize. Stories 54.3, 54.4, 54.5 can parallelize after 54.1+54.2 complete.
Reduce PR CI wall clock time from 3m33s to ~2m08s through CI configuration changes only. Docker E2E push-only, benchmark path filtering, local dev acceleration. No test code modifications.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 55.1 | Docker E2E Push-Only + Lint Version Fix | Done (PR #578) | P1 | None |
| 55.2 | Benchmark Path Filtering | Done (PR #579) | P1 | None |
| 55.3 | Local Dev Acceleration (make test-fast + CI Cache) | Done (PR #580) | P1 | None |
Dependency graph: All three stories are fully independent and can be implemented in parallel.
Enable ThreeDoors to invoke LLM CLI tools (Claude CLI, Gemini CLI, Ollama CLI) as subprocess-based service providers for intelligent task operations. ThreeDoors as CLIENT calling LLMs (Direction 1), complementing Epic 24's MCP server (Direction 2). Extends existing LLMBackend interface with CLI-based implementations via os/exec. Two-layer architecture: Services (what: extract, enrich, breakdown) + Backends (how: which CLI tool). Auto-discovery with fallback chain, privacy-tiered model (local default, cloud opt-in).
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 57.1 | CLIProvider + CLISpec + CommandRunner Abstraction | Done (PR #610) | P0 | None |
| 57.2 | Auto-Discovery and Fallback Chain | Done (PR #629) | P0 | 57.1 |
| 57.3 | TaskExtractor Service + Extraction Prompt | Done (PR #628) | P0 | 57.1 |
| 57.4 | Extraction TUI (:extract + review screen) |
Done (PR #652) | P0 | 57.3 |
| 57.5 | Extraction CLI (threedoors extract) |
Done (PR #647) | P0 | 57.3 |
| 57.6 | TaskEnricher Service + Enrichment TUI | Done (PR #638) | P1 | 57.1 |
| 57.7 | TaskBreakdown Service (extend Epic 14) | Done (PR #633) | P1 | 57.1 |
| 57.8 | threedoors llm status Command |
Done (PR #651) | P1 | 57.1, 57.2 |
Dependency graph: 57.1 is foundation. 57.2-57.7 parallelize after 57.1 (except 57.4/57.5 depend on 57.3). 57.8 depends on 57.1 + 57.2.
Epic 58: Supervisor Shift Handover — Context-Aware Supervisor Rotation (P2) — 7/7 stories done — COMPLETE
Detect supervisor context window degradation via daemon monitoring, serialize operational state, and transfer control to a fresh supervisor instance while workers continue uninterrupted. Two phases: MVP (shift clock, snapshot, orchestrator, startup) and Hardening (emergency protocol, audit, manual trigger).
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 58.1 | Shift Clock — Transcript Monitoring in Daemon Refresh Loop | Done (PR #627) | P2 | None |
| 58.2 | Rolling State Snapshot Generator | Done (PR #618) | P2 | None |
| 58.3 | Handover Orchestrator — Daemon Coordination Logic | Done (PR #645) | P2 | 58.1, 58.2 |
| 58.4 | Supervisor Startup with State File | Done (PR #656) | P2 | 58.2, 58.3 |
| 58.5 | Emergency Handover Protocol | Done (PR #657) | P2 | 58.3, 58.4 |
| 58.6 | Handover History & Audit Trail | Done (PR #658) | P2 | 58.3 |
| 58.7 | Manual Handover Trigger & User Notification | Done (PR #659) | P2 | 58.1, 58.3 |
Dependency graph: Stories 58.1 & 58.2 can parallelize. Story 58.3 depends on both. Story 58.4 depends on 58.2 & 58.3. Phase 2 stories (58.5-58.7) can parallelize after Phase 1 completes.
Transform ThreeDoors from a content-driven partial-terminal app into a full-terminal experience. AltScreen, fixed-header/flex-content/fixed-footer layout engine, capped door height with perceptual centering, and graceful degradation across terminal sizes. Based on full-terminal layout research (PR #329) and party mode consensus.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 59.1 | AltScreen + Layout Engine + Door Height Cap | Done (PR #655) | P1 | None |
| 59.2 | Header/Footer Extraction + Graceful Degradation + Secondary Views Fill Height | Done (PR #667) | P1 | 59.1 |
Dependency graph: Linear chain: 59.1 → 59.2. Story 59.1 is the foundation (AltScreen, layout engine, door cap). Story 59.2 is the follow-up (header/footer extraction, degradation breakpoints, all views fill height).
Note: Story 59.1 is a prerequisite for Story 39.2 (keybinding bar footer slot) per D-121.
Polish the README with centered badge clusters, table of contents, foldable reference sections, updated feature list reflecting 35+ completed epics, and visual demo section with ASCII art mockup.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 60.1 | README Badges & Header Polish | Done (PR #604) | P2 | None |
| 60.2 | README Table of Contents | Done (PR #612) | P2 | None |
| 60.3 | Foldable Reference Sections | Done (PR #620) | P2 | None |
| 60.4 | Feature List Audit & Update | Done (PR #617) | P2 | None |
| 60.5 | Visual Demo Section | Done (PR #616) | P2 | 60.4 |
Dependency graph: Stories 60.1-60.4 can parallelize. Story 60.5 depends on 60.4.
Epic 62: Retrospector Agent Reliability — Messaging, BOARD.md Access, and Context Resilience (P1) — 3/3 stories done — COMPLETE
Fix three infrastructure reliability issues preventing the retrospector agent (SLAES) from operating as designed: broken messaging identity registration, inability to persist BOARD.md recommendations, and context exhaustion with state loss. All changes are to agent definitions and operational files — no application code.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 62.1 | Messaging Identity Verification + File-Based Fallback | Done (PR #675) | P1 | None |
| 62.2 | Recommendation Queue File + BOARD.md Batch Pipeline | Done (PR #676) | P1 | None |
| 62.3 | Structured Checkpointing + Context Budget Optimization | Done (PR #677) | P1 | None |
Dependency graph: All three stories are fully independent and can be implemented in parallel.
Automate periodic sync of retrospector operational data (docs/operations/) to git via cron-triggered project-watchdog pipeline. Workers in isolated worktrees currently cannot see retrospector data. The project-watchdog handler already exists (Epic 62); this epic adds the cron trigger and supervisor verification.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 67.1 | Cron-Triggered Operational Data Sync Pipeline | Done (PR #757) | P1 | Epic 62 (done) |
Publish ThreeDoors documentation as a professional GitHub Pages site using MkDocs + Material for MkDocs, making the user guide discoverable via search engines and accessible without cloning the repo.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 61.1 | MkDocs Infrastructure + Landing Page | Done (PR #609) | P2 | None |
| 61.2 | Getting Started + Core Workflow Guide | Done (PR #643) | P2 | 61.1 |
| 61.3 | Integrations Guide | Done (PR #644) | P2 | 61.1 |
| 61.4 | CLI, Config & Advanced Guide | Done (PR #646) | P2 | 61.1 |
Transform door rendering from imperceptible wireframe shadows into solid, 3D-feeling surfaces using a three-layer approach: background fill for visual mass, bevel lighting for raised-surface perception, and gradient shadow for spatial depth.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 56.1 | ThemeColors Extension + Background Fill | Done (PR #653) | P1 | None |
| 56.2 | Bevel Lighting (3D Raised-Surface Borders) | Done (PR #678) | P1 | None |
| 56.3 | Shadow Overhaul (Gradient Multi-Column) | Done (PR #668) | P1 | 56.1 |
| 56.4 | Panel Zone Shading | Done (PR #666) | P1 | 56.1 |
| 56.5 | Width-Adaptive Shadow Tuning | Done (PR #673) | P1 | 56.3 |
Dependency graph: 56.1 & 56.2 can parallelize. 56.3 & 56.4 depend on 56.1. 56.5 depends on 56.3.
| Epic | Title | Stories | Decision Date | Rationale |
|---|---|---|---|---|
| 16 | iPhone Mobile App (SwiftUI) | 0/7 | 2026-03-07 | No validated user demand; core user is CLI/TUI power user; MCP (Epic 24) may serve mobile-adjacent use cases via LLM agents; adds significant platform/build/distribution complexity |
Re-entry gate for Epic 16: Revisit if 5+ distinct user requests for mobile access, OR if MCP proves insufficient for on-the-go task management.
ClickUp as task source via REST API v2. Follows the established 4-story integration adapter pattern (Jira, Todoist, GitHub Issues, Linear).
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 63.1 | ClickUp REST API Client & Auth Configuration | Done (PR #706) | P2 | Epic 7 (done) |
| 63.2 | Read-Only ClickUp Provider with Field Mapping | Done (PR #719) | P2 | 63.1 |
| 63.3 | Bidirectional Sync & WAL Integration | Done (PR #728) | P2 | 63.2 |
| 63.4 | Contract Tests & Integration Testing | Done (PR #727) | P2 | 63.2 |
Dependency graph: Stories 63.3 & 63.4 can parallelize after 63.2 completes.
Task data synchronization across multiple computers. Architecturally distinct from provider sync. Requires research spike before implementation.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 64.1 | Architecture Research Spike | Done (PR #715) | P2 | None |
| 64.2 | Device Identity & Registration | Done (PR #721) | P2 | 64.1 |
| 64.3 | Sync Transport Layer | Done (PR #734) | P2 | 64.1, 64.2 |
| 64.4 | Cross-Machine Conflict Resolution | Done (PR #731) | P2 | 64.1, 64.2 |
| 64.5 | Offline Queue & Reconciliation | Done (PR #743) | P2 | 64.3, 64.4 |
| 64.6 | Cross-Computer Sync E2E Tests | Done (PR #748) | P2 | 64.3, 64.4, 64.5 |
Note: Stories 64.2-64.6 are provisional — acceptance criteria will be refined after the research spike (64.1) completes.
Status: Done (PR #707).
Single story under Epic 5 (macOS Distribution). CI generates signed, notarized .pkg installer uploaded to GitHub Releases alongside binaries. Reopens Epic 5 from COMPLETE to 1/2.
Refactor internal/tui/main_model.go (2991 lines) into focused files. Extract view transition/navigation logic, source/sync view controllers, planning/task management view controllers, and auxiliary view controllers into separate files.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 69.1 | Extract View Transition & Navigation Logic | Done (PR #767) | P1 | None |
| 69.2 | Extract Source/Sync View Controllers | Done (PR #786) | P1 | 69.1 |
| 69.3 | Extract Planning & Task Management View Controllers | Done (PR #779) | P1 | 69.1 |
| 69.4 | Extract Auxiliary View Controllers & Command Dispatch | Done (PR #789) | P1 | 69.2, 69.3 |
Dependency graph: 69.1 first, then 69.2 & 69.3 can parallelize, then 69.4 last.
New :history TUI view and threedoors history CLI command for browsing completed tasks with aggregated stats.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 70.1 | Completion Data Reader & Aggregator | Done (PR #766) | P1 | None |
| 70.2 | History TUI View (:history) |
Done (PR #780) | P1 | 70.1 |
| 70.3 | History CLI Command (threedoors history) |
Done (PR #777) | P1 | 70.1 |
Dependency graph: 70.1 first, then 70.2 & 70.3 can parallelize.
Split BOARD.md into a focused active dashboard (<120 lines) and a complete decision archive, extract Epic Number Registry to its own file, fix duplicate IDs, and update all supporting docs and agent definitions.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 68.1 | Create Decision Archive and Extract Epic Registry | Done (PR #793) | P2 | None |
| 68.2 | Restructure Active BOARD.md | Done (PR #799) | P2 | 68.1 |
| 68.3 | Update Supporting Documentation for Board Redesign | Done (PR #800) | P2 | 68.2 |
Dependency graph: Linear chain: 68.1 → 68.2 → 68.3.
Remove darwin/amd64 build targets from CI workflows, release builds, Homebrew formula, and installer/packaging to save CI runner minutes and focus on Apple Silicon (darwin/arm64). Reference: Issue #803.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 71.1 | Remove darwin/amd64 from CI Build and Alpha Release Pipeline | Done (PR #810) | P1 | None |
| 71.2 | Remove darwin/amd64 from Stable Release Workflow | Done (PR #815) | P1 | 71.1 |
| 71.3 | Update Docs, Tests, and Agent Definitions for Intel Removal | Done (PR #817) | P1 | 71.1, 71.2 |
Dependency graph: Linear chain: 71.1 → 71.2 → 71.3. Story 71.1 is the foundation (CI + GoReleaser). Story 71.2 handles the tag-triggered release workflow. Story 71.3 cleans up docs and tests.
Wire GitHub label application into agent workflows so that PRs are routinely labeled, issue labeling is resilient to envoy downtime, and mutual exclusivity is enforced. Agent definition and operational doc changes only — no application code. Based on label usage gap analysis (PR #806).
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 72.1 | Merge-Queue PR Labeling | Done (PR #809) | P1 | None |
| 72.2 | Envoy Label Resilience | Done (PR #808) | P1 | None |
| 72.3 | Supervisor Label Discipline & Missing Label | Done (PR #813) | P1 | None |
| 72.4 | Retroactive Label Cleanup | Done (PR #814) | P2 | 72.3 |
Dependency graph: Stories 72.1, 72.2, and 72.3 are independent and can parallelize. Story 72.4 depends on 72.3 (needs resolution.wontfix label to exist).
Stabilize multiclaude operator experience and agent lifecycle. Fix operator UX (workspace-as-primary), remove redundant heartbeats, add hook-enforced git safety, design session handoff, quota monitoring, daemon-native heartbeats. Research: R-007, R-010, R-004. Decisions: Q-C-005, Q-C-010, Q-C-011.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 73.1 | Workspace-as-Primary Operator Pattern | Done (PR #848) | P1 | None |
| 73.2 | Remove CronCreate Heartbeats | Reverted | P1 | None |
| 73.3 | Hook-Enforced Git Safety for Workers | Done (PR #840) | P0 | None |
| 73.4 | Session Handoff Protocol for Persistent Agents | Not Started | P1 | None |
| 73.5 | Passive Quota Monitoring | Done (PR #866) | P2 | None |
| 73.6 | Daemon-Native Heartbeats | Not Started | P2 | 73.2 |
Dependency graph: 73.1, 73.2, 73.3, 73.4, 73.5 are independent. 73.6 depends on 73.2 (heartbeat removal before replacement). 73.3 is P0 — implement first.
Protect governance files via CODEOWNERS, enforce commit conventions via CI, add provenance tracking, define .dfcp.yaml, introduce typed story comments. Research: R-005, R-003, R-010. Decisions: Q-C-001, Q-C-002, Q-C-007, Q-C-012.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 74.1 | CODEOWNERS for ThreeDoors Golden Repo | Done (PR #839) | P0 | None |
| 74.2 | CI Scope-Check Workflow | Done (PR #864) | P1 | None |
| 74.3 | Provenance Tagging (L0-L4) | Done (PR #851) | P1 | None |
| 74.4 | DFCP Configuration File (.dfcp.yaml) | Done (PR #874) | P2 | 74.1, 74.3 |
| 74.5 | Typed Comments on Story Files | Done (PR #872) | P2 | None |
Dependency graph: 74.1, 74.2, 74.3, 74.5 are independent. 74.4 depends on 74.1 (CODEOWNERS) and 74.3 (provenance) as it consolidates both into a machine-readable format. 74.1 is P0 — implement first.
Install Perplexity MCP server, disabled by default with per-session toggle. Parallel track. Research: R-008.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 75.1 | Install Perplexity MCP Server with Per-Session Toggle | Done (PR #865) | P2 | None |
Dependency graph: Independent — can be implemented at any time.
Implement warn-only Claude usage monitoring using JSONL transcript heuristics, providing per-agent token usage tracking, warning thresholds, and a /quota-status command — all advisory, never blocking. Phase 1 of 3-phase evolution: ThreeDoors PoC → mozukai host-level service → Marvel native quota management. Research: R-004, R-016.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 76.1 | JSONL Token Usage Parser Library | Not Started | P1 | None |
| 76.2 | Per-Agent Usage Tracking & Attribution | Done (PR #881) | P1 | 76.1 |
| 76.3 | Warning Threshold Engine (Advisory-Only) | Done (PR #883) | P1 | 76.1 |
| 76.4 | /quota-status Slash Command | Done (PR #885) | P1 | 76.1, 76.2, 76.3 |
| 76.5 | /stats Usage Data Integration | Not Started | P2 | 76.2 |
| 76.6 | Window Reset Detection & Cron-Based Monitoring | Done (PR #884) | P2 | 76.2, 76.3 |
Dependency graph: 76.1 is the foundation — all others depend on it. 76.2, 76.3 are independent once 76.1 is done. 76.4 aggregates 76.1-76.3. 76.5 and 76.6 are P2 extensions.
Fix CI path filtering to stop false-positive Quality Gate triggers on non-Go PRs, add ShellCheck linting for 30+ shell scripts, and improve CI job naming. Trigger: PR #866 ran full Go Quality Gate despite only adding shell scripts + docs. Research: PR #868.
| Story | Title | Status | Priority | Depends On |
|---|---|---|---|---|
| 77.1 | Remove Justfile from CI Code Filter | Done (PR #877) | P1 | None |
| 77.2 | Add ShellCheck CI Job for Scripts | Done (PR #879) | P1 | None |
| 77.3 | Rename docs-pass to skip-pass | Done (PR #880) | P2 | None |
| 77.4 | Add Safety Hooks to CI Code Filter | Done (PR #882) | P1 | None |
Note: All 4 stories are independent and can be implemented in a single PR or in parallel. Stories 77.1, 77.2, 77.3, and 77.4 all modify .github/workflows/ci.yml — combining into one PR is recommended to avoid merge conflicts.
Work not listed above is out of scope. Merge-queue should reject PRs that introduce features or epics not on this roadmap without human approval.