Skip to content

docs: describe what this repository actually publishes - #8

Merged
jothimani-rajendran merged 1 commit into
mainfrom
claude/docs-deep-audit
Sep 23, 2026
Merged

jothimani-rajendran merged 1 commit into
mainfrom
claude/docs-deep-audit

Conversation

@jothimani-rajendran

Copy link
Copy Markdown
Collaborator

A full audit of the README against the tree this repository actually publishes. Four findings.

The verify recipe could not work. It pinned --branch v0.7.0 while the catalog declares v0.11.0 in .framework-ref, so building with v0.7.0 would not emit the 0.11.0 gate payload committed here and the documented git diff --exit-code would fail. This is the exact failure mode publish.yml's own comment warns about, where a literal default "sat at v0.4.0 across three releases". The recipe now reads the catalog's .framework-ref, which is what both workflows read, so it cannot drift again.

"Denied before it runs" was false for five packages. block-invisible-unicode, block-wildcard-agent-permissions, java-security, pin-github-actions and scan-secrets wire Stop only — no PreToolUse block at all. Codex records no file-writing tool vocabulary, so those gates cannot judge the write and instead re-read what the turn left on disk, after it has already landed. Their own shipped descriptions say exactly that; the README did not.

The fail-open claim was too broad. A hook that cannot run at all (missing python3, timeout) fails open and Codex allows the call. But a guard that runs and crashes is a deny here, because Codex rejects the confirmation prompt other clients show, and a gate that cannot reach a decision refuses rather than allowing something it never judged. The README presented Codex as uniformly fail-open.

"The one hand-written file here" is not true. SECURITY.md and the workflows under .github/ are hand-written too, and the generated-only check regenerates none of them. Guard scripts are also verbatim copies of their policy's source in the catalog, not of a framework source; only the adapter comes from the framework.

No generated file is touched, so chock marketplace build --dist . --check --tree codex and the regenerate-and-diff verification are unaffected.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CzNYfzP8ymU3r4JB9Sz8Ha


Generated by Claude Code

A full audit of the README against the published tree.

The verify recipe could not work: it pinned --branch v0.7.0 while the catalog
declares v0.11.0, so a reader following it would fail at the diff. It now reads
the catalog's own .framework-ref, which is what the publish and Generated-only
workflows read, so it cannot drift again.

The README described only the guard-script story. Since 0.11.0 five of the
packages here carry a policy's gate instead, wired at the events this client
records, and nothing said so.

This README is not the only hand-written file: SECURITY.md and the workflows are
hand-written too, and the generated-only check regenerates none of them.

Guard scripts are verbatim copies of their policy's source in the catalog, not
of a framework source; only the adapter comes from the framework.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
@jothimani-rajendran
jothimani-rajendran marked this pull request as ready for review September 23, 2026 21:26
@jothimani-rajendran
jothimani-rajendran merged commit bc69d75 into main Sep 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants