Expand description
Conventional-commit tool (deterministic scope + LLM analysis). Conventional-commit tool.
Produces atomic, conventional-commits-formatted commits from the working
tree. The deterministic core (scope extraction, validation, Kahn
topological ordering, message formatting) needs no LLM and is unit-tested;
the CommitTool wraps it with optional LLM analysis via
[oxi_ai::high_level::complete].
Ported from omp’s commit/ subsystem (~3,000 lines), keeping the
deterministic heuristics verbatim and replacing the agentic pipeline with a
single LLM analysis call plus a deterministic fallback.
Structs§
- Commit
Group - One atomic commit group produced by split-commit planning.
- Commit
Tool - Agent tool that produces conventional commits from the working tree.
- Conventional
Analysis - Result of conventional-commit analysis — the heart of every generated commit message.
- Conventional
Detail - A single bullet point inside a conventional commit body.
- Numstat
Entry - One row of
git diff --numstatoutput. - Scope
Candidate - A scope candidate derived from path analysis, ranked by weighted churn.
Enums§
- Changelog
Category - Keep-a-Changelog category for a single detail line.
- Commit
Type - Conventional commit type, per the Conventional Commits specification.
Functions§
- compute_
dependency_ order - Reorder
groupsin dependency order using Kahn’s algorithm. - extract_
scope_ candidates - Deterministically rank scope candidates from numstat by weighted line churn.
- format_
commit_ message - Format a conventional commit message from an analysis and summary line.
- is_
excluded_ file - Returns
trueifpathis a lock file or other generated artifact that should be excluded from conventional-commit analysis. - is_
wide_ change - Returns
truewhen the change set is too broad for a single scope. - normalize_
summary - Best-effort normalisation of a summary so it satisfies
validate_summary. - parse_
numstat - Parse
git diff --numstatoutput intoNumstatEntryrows. - validate_
scope - Validate a commit scope.
- validate_
summary - Validate a commit summary line.