ccx v0.3.0
Hardening release: unicode-correct identity, defensive parsing, and a config-driven INDEX.
Added
extra_sections— config-driven live sections rendered into the INDEX.tidy-scratchnow adopts file-rich directories that lack a STATE doc (writes one) instead of proposing deletion.
Fixed
- Unicode-aware slugify with NFC-normalized identity and a
normalizeForMatchduplicate guard; slug cuts and summary clips never split a surrogate pair. - Summaries clipped to 240 chars and status lines to 200 at render time, keeping the INDEX bounded.
- Backlink hook anchored to the project's own scratch root (no more cross-project matches).
- CRLF STATE files parse correctly; live
git/ghcalls are capped at 5s so a hung remote can't stall a compile. - Config values validated per-field — one bad field falls back to its default instead of discarding the whole file.
Docs
- Fixed stale two-hook references left from the 0.2.0 hook removal.
Full changelog: v0.2.0...v0.3.0