Skip to content

fix(staging): --stage-anyway overrides every refusal, and names each one - #1241

Merged
stellarfeline merged 2 commits into
mainfrom
fix/stage-anyway-overrides-all
Oct 29, 2026
Merged

stellarfeline merged 2 commits into
mainfrom
fix/stage-anyway-overrides-all

Conversation

@stellarfeline

Copy link
Copy Markdown
Owner

What changes

--stage-anyway "<reason>" now overrides every refusal the staging gate makes, with no exclusion list. That covers:

  • ledger reds;
  • a missing or red critical-path proof;
  • a missing or red written-world proof;
  • the stand-in refusal;
  • the test-level mismatch;
  • the resource-pack statement.

Each overridden refusal prints as an OVERRODE line, is appended to the report, and is stored in the admission token. The server echoes the overrides at boot. --acknowledge-red becomes optional.

Without --stage-anyway, every refusal still refuses. A build with no manifest.json still refuses, because there is no identity to bind a token to.

Proof

  • tools/tests/test_staging_gate.py and the playtest-server tests pass, 196 in total.
  • playtest-server.sh up gallery --stage-anyway reached READY with three overrides listed. The same build without the flag was refused.

🤖 Generated with Claude Code

stellarfeline and others added 2 commits October 28, 2026 21:08
The gate kept three classes out of the override's reach: the missing or red
proofs (critical path, written world DW0955), the pre-detail stand-in, and the
test-level/build disagreement (plus the pack statement). The owner could not
look at a build before the full ladder had run.

Now --stage-anyway "<reason>" admits whatever was refused, with no exclusion
list. Every refusal overridden is printed one line each (OVERRODE ...), appended
to the report, and recorded in the token as override.refusals; the admission
script echoes them at boot. --acknowledge-red is optional (checked when given).
A missing manifest.json still refuses: there is no identity to bind a token to.
Without --stage-anyway every refusal still refuses.

Tests: an unproven build is refused plainly and admitted under the override
with both proof refusals listed; blockout, test-level mismatch and each
red/foreign proof perturbation are admitted under the override and listed.
Docs: staging-gate docstring, tools.md, playtest-methodology.md, hand-over.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@stellarfeline
stellarfeline merged commit 1f068cd into main Oct 29, 2026
23 checks passed
@stellarfeline
stellarfeline deleted the fix/stage-anyway-overrides-all branch October 29, 2026 07:49
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.

1 participant