You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| 4.1 | 2026-03-22 | AST context overhaul (v0.5.0): full signature extraction from tree-sitter nodes, semantic change classification (whitespace vs body vs signature), old→new signature diffs, cross-file connection detection, formatting auto-detection via symbols. 359 tests. |
24
25
| 4.0 | 2026-03-13 | PRD normalization: aligned phases with shipped versions (v0.2.0/v0.3.x/v0.4.0), collapsed revision history, unified status markers, resolved stale critical issues, canonicalized test count to 308, removed dead cross-references. FR-031 (Exclude Files) and FR-033 (Copy to Clipboard) shipped. |
@@ -549,6 +550,18 @@ Automatic semantic version bumps based on commit types. Natural extension of con
549
550
550
551
Run commitbee in CI to validate or rewrite commit messages. Key differentiator for team adoption.
551
552
553
+
#### FR-073: Function Move Detection
554
+
555
+
Detect when a function is moved between files or within a file with zero semantic changes, using AST structural fingerprinting (hash tree topology ignoring identifiers). Classify as `refactor` rather than add+delete. Significantly improves commit type accuracy for common refactoring patterns.
556
+
557
+
#### FR-074: AST-Based Dependency Analysis for Splitting
558
+
559
+
Replace hardcoded path heuristics (`GENERIC_DIRS`, `KNOWN_PAIRS`) in the commit splitter with actual code dependency analysis derived from AST imports and call patterns. Produces higher-quality split groups based on real code relationships rather than file proximity.
560
+
561
+
#### FR-075: Configurable File Categorization
562
+
563
+
Allow users to define custom file category patterns in config (e.g., `[categorization] build_patterns = ["Tiltfile", "*.bazel"]`, `source_extensions = ["rs", "ts", "custom_lang"]`). Currently all patterns are hardcoded in `FileCategory::from_path()`. Enables support for proprietary build systems and custom file types.
564
+
552
565
## 5. Security Requirements
553
566
554
567
### SR-001: Secret Scanning
@@ -777,6 +790,10 @@ proptest! {
777
790
778
791
5 `cargo-fuzz` targets. See §4.3.
779
792
793
+
### TR-008: LLM Output Quality Testing
794
+
795
+
End-to-end commit message quality validation. Two modes: (1) wiremock-based deterministic testing with canned LLM responses through the full pipeline (sanitizer + validator), (2) optional live Ollama regression testing with majority-vote scoring and baseline comparison. Extends the eval harness (TR-006) from pre-LLM pipeline testing to actual output quality assurance.
796
+
780
797
## 9. Distribution Requirements
781
798
782
799
### DR-001: cargo install
@@ -851,6 +868,10 @@ Binary files never included as diff content. Listed in file list with change sta
851
868
852
869
Invalid JSON → retry once with repair prompt. Second failure → heuristic extraction (type from file categories, first coherent sentence as description). Never retry more than once.
853
870
871
+
### PE-007: Token-Accurate Budget Management
872
+
873
+
Replace character-based budget estimation (~4:1 char-to-token ratio approximation) with actual BPE/tiktoken token counting for accurate LLM context window utilization. Maximizes prompt quality by filling available tokens precisely rather than under/over-estimating. Consider lightweight Rust BPE implementation or pre-computed token tables per model family.
0 commit comments