The first cut and the move of next: release/fixtures/cut.v0-1-0.json, #197's items 2 and 3
Merged
DO
3d ago+924+924+012345678901234567890123456789-7-7-0123456789
Step 13 of the v0.1.0 cut: what GitHub answered of the first cut, kept as a redacted fixture. Refs #197 (items 2 and 3).
What it holds
release/fixtures/cut.v0-1-0.json (release-fixture/1), read through the Maintainer's login and redacted by tools/redact_trial.py outside the repo:
| Item | Run | What it shows |
|---|---|---|
cut_and_move_of_next | 42348605675 | factory/v0.1.0 created and next moved, both at 499835d5; one Deployment of next, its status success |
refused_move_of_the_release | 42348650504 | the same cut asked again, refused already_released, nothing written; the Maintainer's admin PATCH forcing the tag to a32c0ceb, refused 422 ("Repository rule violations found"); the tag still at 499835d5; the tag ruleset active, no bypass actor, update and deletion on refs/tags/factory/v*.*.* |
Of the PATCH, only its status, its message, its content type and its date are kept; its scope, rate and request id headers, its documentation URL and gh's own error lines are dropped, as the fixture's removed says.
The rule it grounds
tests/test_release.py::Fixture::test_the_first_cut_moved_next_and_its_release_is_neither_moved_nor_cut_againholds all of the above.- Records 0071 and 0120's row "A Release tag is immutable to everyone" waited on this fixture; each now names the test and its mutant, "a Release tag may be moved". A second mutant, "an admin may force a Release tag to another commit", turns the 422 into a 200. The test kills both.
release/AGENTS.mdno longer lists the fixture as not built, and holds its rule.
Checks
SIM_SEEDS=40 make verifyat a0c4a303: 1658 tests OK (expected failures 8), every check passes. The six mutants of the fixture are each killed by the test, applied by hand.- gitleaks on the branch and the fixture: no leaks.
Reviews
| Read | Findings | Disposition |
|---|---|---|
| Claude security | major: the tag and ruleset reads after the PATCH were made six hours before it; info: removed omitted the token steps' names | Fixed: read again after the PATCH, the test holds the dates in order; removed says so |
| Claude review | the same major; minor: the ruleset's exclude unchecked; minor: the PATCH's request unchecked | Fixed, a mutant for each |
| Argon | the same two majors; minor: removed omitted what was taken from a tag's ref and the ruleset | Fixed |
| Codex | P1, the same stale read-back | Fixed, thread answered |
| Muse | not run (quota) | owed after 2026-11-09 |
| Astra (Muse's stand-in) | not run (quota) | owed after 2026-11-09 |
The third item's reads (both tags, the Deployment, its statuses, the ruleset) were made at 13:37Z, after the PATCH at 13:07Z; its run, job and log were read at 06:54Z.
š¤ Generated with Claude Code