You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(pro): check now enforces the doctrine it prints
An agent used the tool for real and found check exits 0 on detected
drift by default. With stock defaults neither the permissive branch nor
the strict branch fired, so it printed DNA DRIFT DETECTED and fell
through to exit 0. A CI job running plain check passed on a drifting
repository — the exact failure a fail-closed governance tool exists to
prevent, and the opposite of the module's own Law 3.
Fail-closed is now the default. Permissive (CHRONOLITH_MODE=permissive)
is the only escape, and the message names it correctly; the old message
told users to set CHRONOLITH_MODE=strict, which was already the default
and changed nothing.
Making the default strict exposed a second bug: report[security]
collapsed any finding into danger, so check halted on the untracked
sovereign keys sovereign-init creates. The tool told you to make a key
and then failed you for having one. Severity is now respected — only a
tracked key in the index is danger.
Also: the pre-push hook wrote a bare python and a frozen absolute path,
unusable under git-bash on Windows; it now calls sys.executable -m. And
the status panel printed Status: Status: OK above the halt check,
announcing OK on a halting run; the verdict is computed first and the
word matches the exit code.
Regression tests cover fail-closed default, --accept, permissive, the
hook, and the panel.
strict: bool=typer.Option(False, "--strict", help="Fail with exit code 1 if drift detected."),
253
+
strict: bool=typer.Option(False, "--strict", help="Deprecated no-op: check now fails closed by default. Set CHRONOLITH_MODE=permissive to continue past inconsistencies instead."),
accept: bool=typer.Option(False, "--accept", help="Accept the current content as the new canonical baseline (like `git commit`): advances the signed baseline and appends a transparency-chain entry even though the root changed. Without this, an intentional edit is reported as drift and the baseline is NOT advanced."),
0 commit comments