The-Agency/FULL_PARITY_ROADMAP.md

11 KiB

Full Parity Roadmap: Complete Implementation Plan

Scope: 100% feature parity with old_repo/ (TypeScript reference)
Current state: 55-60% (core functionality complete)
Missing: 40-45% (advanced features, secondary commands, UI parity)


Gap Analysis: What's Missing for Full Parity

CRITICAL GAPS (Block Real Usage)

1. Real Task Execution & Process Management

Current: Tasks stored as JSON metadata only
Needed: Actual process spawning, output capture, lifecycle management
Impact: Can't run background commands
Effort: 40-60 hours
Files needed:

  • lib/src/tools/task_executor.dart — Run tasks as sub-processes
  • lib/src/services/process_manager.dart — Manage child processes
  • lib/src/tools/task_stop_tool.dart — Real process termination
  • Update lib/src/tools/task_tool.dart — Wire to executor

Implementation:

// Example of what's missing:
class TaskExecutor {
  Future<ProcessResult> executeTask(Task task);
  Stream<String> watchOutput(String taskId);
  Future<void> terminateTask(String taskId);
  // Real process management, not just metadata
}

2. Real MCP Server Integration

Current: 100% mocked responses, no protocol implementation
Needed: Full Model Context Protocol client, WebSocket support
Impact: Can't use external tools via MCP
Effort: 80-120 hours (MCP is complex)
Files needed:

  • lib/src/mcp/mcp_client.dart — WebSocket client
  • lib/src/mcp/mcp_protocol.dart — Protocol implementation
  • lib/src/mcp/mcp_server_manager.dart — Server lifecycle
  • Update lib/src/tools/mcp_tool.dart — Real implementation

MCP complexity:

  • WebSocket connection management
  • JSON-RPC 2.0 messaging protocol
  • Server discovery and negotiation
  • Resource/tool/prompt discovery
  • Error handling and reconnection
  • Transport layer (stdin/stdout or WebSocket)

3. Real Agent System

Current: Fake agent spawning, no coordination
Needed: Multi-agent orchestration, delegation, result aggregation
Impact: Can't delegate work to sub-agents
Effort: 60-100 hours
Files needed:

  • lib/src/agents/agent_executor.dart — Run agents
  • lib/src/agents/agent_coordinator.dart — Orchestrate multiple agents
  • lib/src/agents/agent_context.dart — Context passing
  • Update lib/src/tools/agent_tool.dart — Real implementation

Agent architecture needed:

  • Agent spawning as isolated executions
  • Inter-agent communication
  • Result aggregation
  • Failure handling and retry logic

MAJOR GAPS (Missing Features)

4. Missing Commands (25+ commands not ported)

Current: 73/98 commands ported
Needed: All 98 commands fully working
Impact: Some workflows unavailable
Effort: 60-80 hours (60-90 minutes per command)
Missing commands examples:

  • bridge — Multi-process bridging
  • ant-trace — Request tracing
  • backfill-sessions — Session recovery
  • export-context — Context export
  • import-context — Context import
  • Plus 20+ others

5. Skill Execution Engine

Current: Template variable substitution only
Needed: Full skill execution with variable interpolation, conditional logic, tool calling
Impact: Skills can't do complex operations
Effort: 30-50 hours
Files needed:

  • lib/src/skills/skill_engine.dart — Execute skill logic
  • lib/src/skills/skill_parser.dart — Parse skill definitions
  • lib/src/skills/skill_context.dart — Execution context

6. Daemon & Background Worker Mode

Current: No daemon support
Needed: Full daemon mode with process management
Impact: Can't run background services
Effort: 40-60 hours
Files needed:

  • lib/src/daemon/daemon_service.dart — Daemon lifecycle
  • lib/src/daemon/session_worker.dart — Background worker
  • Real implementation of daemon commands: ps, logs, attach, kill

7. Session Persistence Across Restarts

Current: Session history lost on exit
Needed: Save and restore conversation history, state
Impact: Can't resume work across sessions
Effort: 20-30 hours
Files needed:

  • lib/src/session/session_persistence.dart — Save/load sessions
  • Update lib/src/chat/repl_handler.dart — Integrate persistence

8. Desktop UI / Multi-Modal Interface

Current: CLI only
Needed: Rich UI (Flutter integration, browser UI, or native UI)
Impact: No visual interface
Effort: 100-200 hours (major undertaking)
What's involved:

  • Complete UI redesign
  • Input/output handling for GUI
  • Progress indicators and status UI
  • File browser integration
  • Code editor integration

MEDIUM GAPS (Quality & Completeness)

9. Team & Collaboration Features

Current: No team support
Needed: Multi-user sessions, shared context, permissions
Effort: 50-80 hours

10. Advanced Permissions System

Current: Basic permission checking
Needed: Complex domain rules, team-level policies
Effort: 20-40 hours

11. Extended Tool Set

Current: Core tools only
Needed: Specialized tools (LSPTool, NotebookEditTool, BriefTool, etc.)
Effort: 40-60 hours (multiple specialized tools)

12. Full Bridge System

Current: Basic bridge support
Needed: Complete bridge protocol for multi-process communication
Effort: 30-50 hours


Effort Breakdown

Category Hours Impact
Task execution 50 HIGH — blocks workflows
MCP protocol 100 HIGH — blocks external tools
Agent system 80 HIGH — blocks delegation
Missing commands 70 MEDIUM — incomplete feature set
Skill engine 40 MEDIUM — incomplete features
Daemon mode 50 MEDIUM — background jobs
Session persistence 25 LOW — convenience feature
Team features 65 LOW — not needed for single-user
UI/Desktop 150 LOW — separate from CLI
Extended tools 50 LOW — specialized use cases
Bridge system 40 LOW — advanced feature
TOTAL 720 ~3 weeks full-time

Prioritized Implementation Path for Full Parity

Phase 1: Critical Path (190 hours) — BLOCKS REAL USAGE

Completion time: 1-2 weeks full-time

  1. Real Task Execution (50 hours) — Users can run background jobs

    • Process spawning via Dart Process.start()
    • Output streaming
    • Signal handling (SIGTERM, SIGKILL)
    • Lifecycle management
  2. Real MCP Protocol (100 hours) — Users can use external tools

    • WebSocket client (use web_socket_channel package)
    • JSON-RPC messaging
    • Server lifecycle (start/stop)
    • Tool and resource discovery
    • Result aggregation
  3. Real Agent System (40 hours) — Users can delegate work

    • Agent spawning (subprocess or remote)
    • Context passing
    • Result collection
    • Error handling

Result: Full interactive workflow capability


Phase 2: Major Features (155 hours) — COMPLETES FEATURE SET

Completion time: 1-2 weeks full-time

  1. Port Remaining 25 Commands (70 hours)

    • Batch similar commands together
    • Reuse patterns from existing commands
    • ~3 hours per command average
  2. Skill Execution Engine (40 hours)

    • Parse skill format
    • Interpolate variables
    • Execute embedded tools
    • Handle conditionals
  3. Daemon Mode (45 hours)

    • Implement daemon lifecycle
    • Session worker model
    • Real ps, logs, attach, kill commands

Result: All documented features work


Phase 3: Quality & Polish (125 hours) — PRODUCTION READY

Completion time: 1 week full-time

  1. Session Persistence (25 hours) — Resume across restarts
  2. Team Features (65 hours) — Multi-user support
  3. Extended Tools (35 hours) — Specialized tools

Result: Enterprise-grade feature set


Phase 4: UI Parity (150+ hours) — OPTIONAL

Completion time: 2-3 weeks full-time

  1. Desktop UI (150 hours) — Visual interface equivalent
    • This is a separate major project
    • Could be Flutter, Electron, or web-based

Result: Feature-complete desktop application


Current Status vs. Full Parity

CURRENT (55-60%):
├── ✅ REPL (100%)
├── ✅ Model integration (100%)
├── ✅ Core tools (100%)
├── ✅ Permissions (100%)
├── ✅ Cost tracking (100%)
├── ⚠️  Commands (70%)
├── ❌ Task execution (0% — stubbed)
├── ❌ MCP protocol (0% — mocked)
├── ❌ Agent system (0% — fake)
├── ❌ Skill engine (5% — template only)
├── ❌ Daemon mode (0%)
├── ❌ Session persistence (0%)
├── ❌ Team features (0%)
└── ❌ UI parity (0%)

FULL PARITY (100%):
└── Everything above: 100%

What You're Asking For

"Full parity" means:

  • All 98 commands work
  • Real background task execution
  • Real MCP servers accessible
  • Real agent system working
  • Session history persists
  • All tools available
  • Team collaboration works
  • UI equivalent available

Estimated effort: 720 hours (~3 weeks at 40 hrs/week, or 3 months part-time)

Reality: This is a substantial implementation effort, equivalent to building a major feature.


Recommendation: What Should We Prioritize?

To reach full parity most efficiently:

Option A: Prioritize Usability First (Recommended)

  1. Real task execution (50 hrs)
  2. Real MCP protocol (100 hrs)
  3. Real agent system (40 hrs)
  4. Port missing commands (70 hrs)
  5. Skill engine (40 hrs)
  6. Daemon mode (45 hrs)
  7. Session persistence (25 hrs)
  8. Team features (65 hrs)
  9. Extended tools (50 hrs)
  10. UI (optional, 150 hrs)

This gets you: 100% feature parity for interactive workflows


Option B: Prioritize Command Coverage First

  1. Port all 25 missing commands first (70 hrs)
  2. Then phase through rest

This gets you: All commands available but some features stubbed


Option C: Core-First Approach (Current)

  1. Keep core functional path (done)
  2. Expand incrementally as needed
  3. Add features on-demand

This gets you: Gradual improvement without committing to full scope


Questions Before Proceeding

Before I start implementing full parity, clarify:

  1. Which features matter most to you?

    • Task execution? (critical)
    • MCP? (critical)
    • Agents? (important)
    • Commands? (important)
    • UI? (nice-to-have)
    • Team features? (nice-to-have)
  2. What's your timeline?

    • Need it in 1 week? (core only)
    • Need it in 1 month? (most features)
    • Need it eventually? (full parity)
  3. What's the use case?

    • Interactive CLI tool?
    • Background service?
    • Team collaboration?
    • Production system?
  4. Should we focus on specific gaps first?

    • Task execution first?
    • MCP first?
    • Commands first?

My Recommendation

Based on impact-to-effort ratio, I'd suggest this order:

  1. Real task execution (50 hrs) — Unblocks workflows
  2. Real MCP protocol (100 hrs) — Unblocks external integrations
  3. Missing commands (70 hrs) — Completes feature set
  4. Skill engine (40 hrs) — Enables complex automations

This = 260 hours = 1 full month dedicated effort for 90% parity

UI can wait. Team features can wait. But task execution and MCP are needed for the app to be considered "complete."

Would you like me to start with Phase 1 (task execution + MCP)? That's the critical path for full functionality.