Conversation
… efficiency
- Add toon.rs: self-implemented compact formatter inspired by TOON format
- Tabular rows for hunk lines: schema header {tag,content,old,new} + CSV rows
- Strip context lines (equal) — agents don't need them for staging
- Remove redundant file_path from hunks (already in parent FileChange)
- ~40% token savings vs JSON on real-world diffs
- Default output format is now toon (compact), JSON available via --format json
- Remove human output format and Auto detection — tool is agent-only
- Remove `similar` dependency (was only used for human output)
- Update README and skill documentation
Review -- Opus 4.6Review ResultOverall Verdict: HAS_ISSUES 1. CorrectnessVerdict: HAS_ISSUES IssuesImportant
Minor
Fix Instructions
2. ArchitectureVerdict: HAS_ISSUES IssuesImportant
Minor
Fix Instructions
3. SecurityVerdict: PASS No security concerns. The toon format is output-only, no new input parsing is introduced. The escape function properly handles the relevant special characters for the CSV-like row format. 4. PerformanceVerdict: PASS The implementation is straightforward 5. SimplicityVerdict: PASS The new code is clean and well-organized. The The escape function is minimal and correct for the use case. The tabular row format is a reasonable design choice for token efficiency. SummaryThe core toon formatter implementation is solid -- clean code, good test coverage, and a meaningful token reduction. However, there are two issues that should be addressed before merging. First, |
- Add Display impl for FileStatus to output snake_case in toon format (consistent with JSON's serde rename_all = "snake_case")
Summary
toon(compact),jsonavailable via--format jsonhumanformat andAutodetection — gitsift is agent-onlysimilarcrate dependency (was only used for human output)Key optimizations
{tag,content,old,new}:header + CSV-like rowsfile_pathremoved from hunks (already on parent file entry)Test plan
cargo fmt --checkpassescargo clippy --all-targets— zero warningscargo test— all 96 tests passcargo build --release— binary works:diff,stage,status,protocol