Credential gate: runtime-facing wording matches the best-effort audit contract (#119 residual, replaces #224) - #228
Merged
Conversation
…contract (#119 residual) Follow-up to #119/#222: the README repair stands correctly closed; this fixes the same overstatement's residual surfaces closer to runtime — the module docstring and the BLOCK_MESSAGE an agent actually reads when blocked. Three wording sites collapse to the settled best-effort contract: overridden hits ATTEMPT an audit log entry; the fail-open traceback entry is attempted best-effort; _log swallows EVERY exception (directory creation included), a failed or unwritable log drops silently and never blocks — friction and telemetry, not a guaranteed audit trail. Code behavior unchanged: AST identical modulo string constants, _log() byte-identical, block/override exit codes unchanged, hook-suites green. Landed verbatim from contributor #224's current head 9c06888 (frozen diff sha256 03522918…); declared adaptations NONE; #224 is never merged. No broader audit-log redesign. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0132RthrKSsMkywcEwtkXhkx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #119/#222 — #119 remains correctly CLOSED. The README repair stands; this fixes the same defect family's residual surfaces closer to runtime: the module docstring and the
BLOCK_MESSAGEan agent actually reads when blocked still claimed guaranteed logging while_log()swallows every exception. One file,hooks/gate-credential-destruction.py, +9/−4, text only.Three sites collapse to the settled best-effort contract:
_log); failure never blocks._logswallows EVERY exception, directory creation included; a failed or unwritable log drops silently; the log is friction and telemetry, not a guaranteed audit trail.Runtime unchanged — machine-proven
ast.parsegreen._log()byte-identical; block path still exit 2; approved-override path still exit 0; fail-open behavior unchanged.hooks/verify-before-stop.pybyte-identical (explicitly out of scope); README mirrors unchanged; skills/metadata/markers zero-byte.checks.pygreen (hook test suites included).Provenance
Landed verbatim from contributor PR #224's current head
9c06888(frozen diff sha25603522918…); declared adaptations: NONE; #224 is never merged (this repo's consolidation convention) and closes with a replacement comment after this merges. No review gate consumed: the semantic ruling was fixed by the live implementation at #119, and this PR only conforms text to it — the owner gate proved "text corrected, runtime unchanged" mechanically. No broader audit-log redesign.🤖 Generated with Claude Code
https://claude.ai/code/session_0132RthrKSsMkywcEwtkXhkx