Repository navigation
Claude of Duty branding, owner-run release tool (make release), phase 4 records - #23
Conversation
Display text only: new sticky headings, mission line, oversize callout, footer, workflow and job display names. Markers, job ids and file names are unchanged. Spec and tests updated. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…y, stronger tests Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
🔴 FAIL: OC Claude reviewCaution Hidden text-direction control blocks this PR. No waiver can clear it.
Run 41224676784, attempt 2 for head 📋 Full review record: reasons, checks, signals, finding details, model summaries, token usageReviewed snapshot
Reasons the gate failed
No waiver line is shown. At least one reason cannot be waived, so a waiver would not change the result. Checks (code, no model)
Signals (context only, never block)
Dependency changes None. Finding details
Blocking is decided by code from category and severity, never by the model. A finding in a blocking category blocks only at high or critical severity. No findings from the passes that ran. The Review, Security, Supply chain pass did not run, so this is not a clean result. Model summaries
Token usage
|
…w in the spec Adds review/tools/release.py and a root Makefile: release-plan (read-only), release (typed confirmation; R1 rule edit through the Admin API, then the ruleset pin moves, read-backs of all three) and release-rule-test (scratch rule only). The ant org:admin login lives in a private temp config dir and is logged out and deleted on every exit. Never run in CI. The spec and build plan now describe the in-place R1 flow (decision P4-9). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…failure report - Cleanup: the temp config dir is deleted in an inner finally, with SIGINT, SIGTERM and SIGHUP held; a failed delete is loud and exits non-zero. - Preconditions: test.yml must be a push run on main and eval.yml a workflow_dispatch run on main, each with head_sha equal to the SHA. - Partial failure: each object's step state is tracked; after a write the tool re-reads every object, prints its SHA, the records path and the recovery (one rollback SHA only when all previous values were the same). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… hermetic tests - A Ctrl-C or SIGTERM held during the logout and raised at the Console context exit now prints the RELEASE INCOMPLETE report (release and rule-test); the report prints once. The Interrupted message says whether a write was sent. - ant auth logout has a 30 s timeout; the temp dir is deleted after it. - Tests put records and temp dirs under tmp_path and fail if the repo's release-records/ changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…very sent write - The autouse fixture sets ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN and two more ANTHROPIC_* vars before the test runs (round 2 had moved it to teardown, so the strip check tested nothing). New direct tests for ant_env and for every ant call of a release. - Progress.wrote() counts any write that was sent, also when the object's previous SHA equals the target, so an interrupt never says nothing changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…4-9) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… plan (P4-9) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Summary
Branding (owner-approved text)
Claude of Duty; jobsRecon,Analysis,Supply line check,Mission report.test / unit-tests, finding format, step summary. The central ruleset binds to the path and SHA, not to check names.Release tool (
make release)review/tools/release.pyand a rootMakefile. Targets:release-plan,release,release-rule-test.antOAuth login withorg:admin), then moves the pilot and test ruleset pins. It reads all three back.ANTHROPIC_*variables. No key is stored. Admin API keys are refused by these endpoints.test.yml(push on main) and the release eval (workflow_dispatchon main) did not pass at the exact SHA.Records: releases cf19216 (#21) and 96f4966 (#22), and the pilot result.
Test plan
make release-planlive, read-only, at 96f4966make release-rule-teston the scratch federation rule (first live POST)make release SHA=<merge sha>🤖 Generated with Claude Code