Rust text frequency inverse document frequency pipe friendly capabilities
- Rust 80.2%
- Shell 19.8%
This change standardizes how we inspect commit history and mine “Issues” from commit messages, and ensures local `.stash` scratch data is not tracked. **Capabilities** - Adds `tools/commit-message-history` to expose `git log --full-index` via a stable script interface. - Adds `tools/recorded-commit-issues` to extract lines from commit `**Issues` sections into a flat issue list. - Ignores `.stash` in `.gitignore`, allowing local snapshot/scratch use without polluting the repo. **Usage / Workflows** - `tools/commit-message-history` - Run with no arguments. - Outputs full commit history (with full indexes) to stdout for piping, inspection, or archival. - `tools/recorded-commit-issues` - Run with no arguments. - Internally calls `tools/commit-message-history | sed …`. - Outputs only the issue lines between `**Issues` and the next non-indented line, with headers, “comm*” lines, and blanks removed. - Intended for developers and future CI/reporting jobs that want commit-embedded issues in a simple, scriptable format. **Systems & Data** - New scripts: - `tools/commit-message-history`: executable shell wrapper around `git log --full-index | cat -`. - `tools/recorded-commit-issues`: executable shell pipeline using the above script plus `sed`. - Data handled: - Raw git log text as the base record. - Derived “issue line” stream extracted from commit `**Issues` sections, suitable for further tooling. **Project Impact** - Moves toward more “literate” commits by making `**Issues` sections machine-usable, not just human-readable. - Provides a foundation for: - CI checks on unresolved or critical issues mentioned in commits. - Simple reporting of issues directly from Git history. - Pays down ad-hoc tooling debt by promoting shared, versioned scripts instead of personal shell one-liners. **Issues / Risks / Obsolescence** - The `sed` parsing is format-sensitive: - Depends on `**Issues` heading spelling and indentation rules. - Unusual commit formatting may break extraction. - No explicit documentation yet for the `**Issues` convention or these tools; this should be added. - Prior manual `git log | grep` workflows for issues are effectively superseded by `tools/recorded-commit-issues`. - `.stash` is now reserved as an untracked local area; scripts should not rely on its contents being versioned. |
||
|---|---|---|
| docs | ||
| src | ||
| tools | ||
| .gitignore | ||
| Cargo.toml | ||
| install.sh | ||