Skip to content

Add blame, explain, related, session transcripts, and stale index warning - #4

Merged
drompincen merged 2 commits into
mainfrom
feature/claude-companion-features
Mar 29, 2026
Merged

drompincen merged 2 commits into
mainfrom
feature/claude-companion-features

Conversation

@drompincen

Copy link
Copy Markdown
Owner

Summary

  • GitBlameService: git blame --porcelain parsing with LRU cache, line range support, artifact lookup
  • ExplainService: single-call file context aggregator — summary, dependencies, dependents, tags, classification, related artifacts
  • CoChangeService: git log co-change analysis with noise filtering (>30 files, >50% frequency) and DuckDB cache
  • SessionTranscriptParser + SessionIngestionService: JSONL session file parsing with incremental mtime-based re-indexing
  • Stale Index Warning: bulk checkAll(), staleness banner injected into search results, javaducker_index_health MCP tool with actionable recommendations
  • CI fix: badge commit permission contents: read → write

New MCP Tools

  • javaducker_blame — who changed each line, grouped by commit
  • javaducker_explain — everything JavaDucker knows about a file in one call
  • javaducker_related — files commonly edited together (git co-change)
  • javaducker_index_health — index staleness report with recommendations

New REST Endpoints

  • GET/POST /api/blame — git blame with optional line range
  • GET/POST /api/explain — full file context bundle
  • GET/POST /api/related, POST /api/rebuild-cochange — co-change queries
  • GET /api/stale/summary — bulk staleness check

Test plan

  • 186 tests passing (121 new), 0 failures
  • Full mvn compile test green
  • All 3 completed plans checked off (blame, explain, related)
  • Session transcript and stale warning plans progressed through Ch2

🤖 Generated with Claude Code

drompincen and others added 2 commits March 28, 2026 16:34
- session-transcript-indexing: 4 chapters — parse Claude Code JSONL
  sessions, index/chunk them, expose via MCP, extract decisions
- quick-win-blame: 2 chapters — git blame wrapper enriched with
  JavaDucker metadata (summaries, deps)
- quick-win-related: 2 chapters — co-change analysis from git log,
  find files commonly edited together
- quick-win-explain: 2 chapters — single-call context aggregator
  combining summary, deps, tags, blame, co-changes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…le index warning

- GitBlameService: git blame --porcelain parsing with LRU cache, line range support
- ExplainService: single-call file context aggregator (summary, deps, tags, classification)
- CoChangeService: git log co-change analysis with noise filtering and DuckDB cache
- SessionTranscriptParser + SessionIngestionService: JSONL session file parsing and incremental indexing
- StalenessService.checkAll() + staleness banner in search results + javaducker_index_health MCP tool
- 4 new MCP tools: javaducker_blame, javaducker_explain, javaducker_related, javaducker_index_health
- 9 new REST endpoints across all features
- Fix CI badge commit permission (contents: read → write)
- 186 tests passing (121 new)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@drompincen
drompincen merged commit b69617b into main Mar 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant