Skip to content

feat(mcp): Enable GitHub history integration in planner #153

@prosdev

Description

@prosdev

Problem

Planner is missing critical commit context. GitHub history integration is currently disabled, causing AI plans to lack historical context and produce lower quality results.

Current state:

  • Location: packages/mcp-server/src/adapters/built-in/plan-adapter.ts:174
  • Setting: includeHistory: false // TODO: Enable when GitHub indexer integration is ready
  • Git history works but not properly wired to planner

Impact

  • Quality: AI plans miss "why" context from commit messages
  • Decisions: Can't see how similar features were implemented before
  • Patterns: No visibility into codebase evolution patterns
  • Success Criteria: Planner includes related commits for context

Solution

Enable includeHistory: true with proper error handling:

  1. Wire git indexer to context assembler
  2. Add fallback when git history unavailable
  3. Filter commits to only relevant ones (avoid noise)
  4. Add token budget management for commit context

Implementation checklist:

// In plan-adapter.ts
const options: ContextAssemblyOptions = {
  includeCode: includeCode as boolean,
  includePatterns: includePatterns as boolean,
  includeHistory: true,  // Enable!
  includeGitHistory: (includeGitHistory as boolean) && !!this.gitIndexer,
  maxGitCommitResults: 5,
  tokenBudget: tokenBudget as number,
};

Error handling needed:

  • Gracefully handle missing git repository
  • Handle git indexer initialization failures
  • Don't block if git history unavailable

Acceptance Criteria

  • includeHistory set to true
  • Planner output includes related commits when available
  • Graceful degradation when git history unavailable
  • Token budget respected (commits don't overflow context)
  • Integration tests verify commit context included

Files to Modify

  • packages/mcp-server/src/adapters/built-in/plan-adapter.ts - Enable history
  • packages/subagents/src/planner/context-assembler.ts - Wire git indexer
  • Tests for git history integration

Priority: P0 - Quality blocker
Part of: #104 - Performance & Reliability Critical Path

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpkg:mcppackages/mcp-server - adapters, tools

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions