Skip to content

feat: Model selection, parallel agents, and test coverage#1

Merged
rbonestell merged 4 commits into
mainfrom
feat/model-select-parallel-agents
Feb 9, 2026
Merged

feat: Model selection, parallel agents, and test coverage#1
rbonestell merged 4 commits into
mainfrom
feat/model-select-parallel-agents

Conversation

@rbonestell

Copy link
Copy Markdown
Contributor

Summary

  • Parallel map-reduce architecture for multi-file commits: per-file analysis agents run concurrently (fast model), then a synthesis agent
    combines results into a final commit message (capable model). Falls back to single-call for small commits or on failure.
  • 6 configurable settings (clawdCommit.*): model selection for analysis/synthesis/single-call (dropdown), parallel file threshold, max
    concurrent agents, and file context toggle.
  • Comprehensive Jest test suite: 128 tests across 8 test files at 99% statement coverage. Includes vscode manual mock, child_process mocking,
    and cancellation token helpers.
  • CI workflows: GitHub Actions for build validation and test runs with coverage reporting.
  • README: Configuration table and architecture explanation.

…is for multi-file commits

Implement adaptive commit message generation with two strategies:
- Single-call generation for small commits (< 4 files, default)
- Parallel map-reduce analysis for larger commits (bounded concurrency)

Add VS Code settings for model selection (haiku/sonnet/opus) across analysis, synthesis, and single-call phases, plus tunable concurrency and file context inclusion. Includes diff parser, semaphore-based concurrency control, and automatic fallback on failure.
…verage

Introduce Jest + ts-jest test infrastructure and unit tests for all source
modules (excluding extension.ts). Tests cover pure logic (prompts, diff
parser), async concurrency (semaphore, cancellation), child_process mocking
(git execFile, claude spawn), and full orchestration (map-reduce pipeline,
commit message generation with path dispatch and fallback logic).

- jest.config.ts with vscode module mapping and coverage collection
- tsconfig.test.json extending main config for test compilation
- Manual vscode mock covering all APIs used across the codebase
- Reusable test helpers: CancellationToken and ChildProcess mock factories
- 8 test suites: prompts, diffParser, concurrency, settings, git, claude,
  mapReduce, generateCommitMessage
Add automated CI/CD workflows for continuous integration and deployment:
- Build workflow runs on PRs and pushes to main
- Test workflow with Jest coverage reporting to Codecov
- Enhanced publish workflow with emoji for marketplace releases
@codecov

codecov Bot commented Feb 9, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@snyk-io

snyk-io Bot commented Feb 9, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@rbonestell
rbonestell merged commit a428c92 into main Feb 9, 2026
4 of 5 checks passed
@rbonestell
rbonestell deleted the feat/model-select-parallel-agents branch February 9, 2026 17:12
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