Audit publication: emit bounded refusal diagnostics - #1030
Conversation
Bootstrap audit evidenceExact head: The trusted self-hosted Claude audit completed with PASS, zero P0/P1/P2 findings, and one documented P3 about the intentionally narrower private failure oracle. Source run: https://github.com/codemower-ai/code-mower/actions/runs/35309591697. The reviewer seal completed with digest Authoritative publication still cannot complete because this PR adds the bounded diagnostic needed to identify the remaining default-branch publisher refusal. No verdict comment or reservation was written. This is recorded for a one-time owner gate decision on this diagnostic bootstrap PR only. After merge, the already sealed #1024 metadata will be replayed without another model review; the resulting static reason code will drive the precise correction. |
Summary
The hosted audit publisher hides every refusal behind one generic message, preventing diagnosis of the sealed #1024 publication failure. Emit
Local audit publication refused [CODE].from a fixed catalog covering all 73 literal refusal reasons. Unknown reasons, dynamic arguments, exception subclasses, and non-Refusedexceptions emit onlyINTERNAL_ERROR.AST checks enforce literal catalog coverage and the output boundary. Runtime regressions cover every code, adversarial exception arguments, payloads, paths, response bodies, tokens, URLs, identities, standalone execution, and comment cleanup. Keep the source/tools helper bytes synchronized and document how to resolve a code against the immutable workflow SHA.
Closes #1028.
Sole source writer: Code Mower Codex (
builder:codex). Independent exact-head Claude review requested withneeds-claude-audit.Validation
17475ee1e0736048086c39dfbeafe247cf6b35e2c8219679391142c38894b7ec. Owner-recorded bootstrap evidence.Risk / Rollback
Only diagnostic selection/output changes. All existing validation predicates, source seals, exact-head checks, replay defenses, receipt binding and cleanup remain intact. Reverting restores the generic refusal line.
The failed-run metadata does not identify the remaining hosted mismatch unambiguously. This PR leaves a bounded code for the post-merge replay using the already sealed #1024 metadata; it does not guess at or weaken a validation check. This diagnostic bootstrap received an explicit owner gate decision; publication of #1024 still needs to pass the ordinary seal/head/receipt checks after the diagnostic identifies the refusal.
No provider rerun for #1024, Slack canary, deployment, package publication or credential change is included. The repository owner performed the merge.
Data Or Secret Exposure