v0.9.1
Safety scope narrowing — `--yes` no longer bypasses secret scanner or cost preflight.
⚠️ Breaking
-
--yesno longer bypasses the secret scanner or cost preflight. Previously,--yes(intended to auto-answer the.commitbrief/pre-send guard) also silently approved any flagged credential and any above-threshold cost estimate — a footgun for CI users wiring--yesto skip the guard prompt. Use the dedicated bypasses:--allow-secretsfor the scanner,--no-cost-checkfor the preflight. -
cache.max_size_mbconfig field removed. Defined in the struct and surfaced viaconfig get/set, but no code ever read it — cache eviction is TTL-based. Setting it now errors as an unknown field. Remove the line from your config.
Changed
-
Active provider doctor check.
commitbrief doctornow verifies that the currently selected provider has its own credentials — not just that some provider does. Closes a gap where settingprovider: openaiwhile onlyanthropic.api_keywas configured would pass doctor but fail every review. -
Localised confirm vocabulary, guard prompt, and setup wizard. Catalog drives accept-vocabulary (
y/yesin EN,e/evetin TR), the[y/N]/[e/H]suffix, the.commitbrief/guard warning, and every label incommitbrief setup.
Added
-
Rules content secret scan. The pre-send secret scanner now inspects user-authored
COMMITBRIEF.mdandOUTPUT.mdcontent in addition to the diff. Rules join the system prompt verbatim, so a credential pasted into either file would leak just as surely as one in a diff. Embedded defaults are skipped. -
cache.enabledandcache.ttl_daysare now honored. Previously defined but inert.
Fixed
-
install-hook --hook=pre-pushships a real pre-push body. Previously every hook variant got the same--stagedinvocation, which silently no-op’d at push time. The new pre-push script parses git’s per-ref stdin protocol and runscommitbrief diff <remote-sha>..<local-sha> --fail-on=criticalper ref. Push blocks on the first critical finding. -
initno longer aborts on the first existing file. Existing files are now skipped with a per-file log line and the missing sibling is still written. -
init --forceis now a real flag. Previously the docs promised it but the CLI returned “unknown flag”.