v0.12.0 — Status Command, Decision DAG & Extraction Quality
What's New
chronicle status command
Single-line health summary: decisions, ADRs, sessions, unprocessed commit count, low-confidence quarantine, and extraction errors. Supports --json for CI/scripting.
◆ chronicle │ 30 decisions · 6 rejected · 3 ADRs · 0 sessions │ ✓ 0 unprocessed
Decision DAG — Mermaid diagram renderer
chronicle relate --diagram renders your decision relation graph as a Mermaid flowchart TD block, showing depends-on, supersedes, and related-to edges with labeled arrows.
Extraction quality improvements
- Few-shot examples in the extraction prompt (decision, rejection, noise) anchor model calibration
- JSON retry with exponential backoff — up to 3 attempts (1s/2s) on malformed JSON; clean
[]accepted immediately - Diff truncation — diffs >3000 chars are trimmed and flagged with a
NOTEheader so the LLM knows context is partial - Confidence threshold (
--min-confidence, default 0.5) — results below threshold go to.lore/low-confidence.mdrather than being silently discarded injectcontext fix — now uses the two most-recent evolution eras instead of the oldest, so AI context reflects current state
CI observability
chronicle process in GitHub Actions now writes a markdown table to $GITHUB_STEP_SUMMARY showing decisions added, ADRs, unprocessed commits, and extraction errors.
Bug fixes
- Remove
'two-pass'fromExtractionStrategy(was typed valid but threw at runtime) evolutiondate-range filtering now works correctly- Evolution eras sort decisions by risk (high → medium → low)
- keyFiles section hidden when decisions exist (file churn is noise when decisions tell the story)
Install
pip install --upgrade chronicle-devFull Changelog
https://github.com/yalipollak/chronicle/compare/v0.9.1...v0.12.0