6.7 KiB
Stable-ranking serialized gate runner — source-only handoff
Prepared after reading resize-stable-ranking-independent-review-20260912.md. The reviewer found no actionable source defect and required historical gates plus the two new evaluators, preserving expected clearance failure as non-adoption.
Runner: C:/Users/User/Documents/Git/ARCADIA-Studio/.local/resize-port-stable-ranking-20260912/.local/run-stable-ranking-gates.py
SHA-256: 0d823b12064c4966e39c430a6da71e09c4563aba8b57c5f4134850c7a8195f45. This source-only revision adds exact committed-blob verification following root review; the earlier helper was never run or archived.
Exact required worktree commit: 6203b5c4c0cc8bd736196aa4744dccfc0e139a2a. Python AST parsing passed; source inspection confirms four falsifier test declarations and13 port-anchor declarations. The runner has not executed. No compiler/test/native call was made and no lease is held. No root staging/commit or Gitea action was performed.
Run only after root grants the serialized lease
Working directory is the isolated stable-ranking worktree. Initialize C:/Users/User/Documents/Git/ARCADIA-Studio/.local/toolchain/env.ps1; use bundled Python C:/Users/User/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe. Every invocation takes one mode and the same unique label:
python .local/run-stable-ranking-gates.py build 01
python .local/run-stable-ranking-gates.py comparison 01
python .local/run-stable-ranking-gates.py original-threshold 01
python .local/run-stable-ranking-gates.py original-exit 01
python .local/run-stable-ranking-gates.py stable-threshold 01
python .local/run-stable-ranking-gates.py stable-exit 01
python .local/run-stable-ranking-gates.py allocator 01
python .local/run-stable-ranking-gates.py anchors 01
python .local/run-stable-ranking-gates.py summary 01
No all-in-one mode auto-continues after arbitrary errors. Root controls each step and can preserve/inspect failures before continuing. Each mode refuses existing output files. A failed/partial invocation cannot silently overwrite its earlier log; use a fresh label for a new run. Expected assertion failures should not prevent root from running the remaining historical gates.
build requires a new .local/target-stable-6203b5c-01 and new .local/gate-stable-6203b5c-01 beneath this worktree. It compiles only the two integration-test targets with locked dependencies, jobs1, explicit real rustc/linker identities, and RUSTFLAGS=-Dwarnings. It does not compile the unit-test binary until allocator, or the port-anchor binary until anchors. No root target, accepted7e target, cache copy or hardlink is used for output.
The helper enumerates the exact source tree with git ls-tree, then reads all committed blobs through one git cat-file --batch call and requires byte-for-byte equality with every tracked working file before stamping. This does not rely on clean Git status alone, so assume-unchanged/skip-worktree flags or checkout transformations cannot hide differing build inputs. The freshly stamped rows must also equal the verified blob digests. The helper additionally stamps itself, toolchain environment, review and actual Cargo/rustc/linker binaries. It records toolchain versions, environment, exact commands, times/exits/log hashes and source-integrity checks. Existing root and accepted7e core rlibs are protected by before/after hashes. Cargo JSON compiler-artifact events identify the new core rlib and exact test executables; there is no newest-filename selection. All emitted artifact paths must resolve inside the new target directory. Their hashes bind later binary execution to the build receipt.
Selection and outcome rules
| Mode | Exact selection / count | Expected observation |
|---|---|---|
| comparison | Entire experimental_port_policy binary, eight enumerated names |
8 passed,0 failed |
| original-threshold | One exact old threshold test, after four-name binary inventory | exit101 at Prospective resize-stability criterion failed:; Current/spacing changes [0,0], CapacityAware [12,0] |
| original-exit | One exact old obstacle test | exit101 at Prospective exit-clearance criterion failed:; controls clear, exact old blocked port/obstacle and exchange IDs retained |
| stable-threshold | One exact three-identity forward/reverse evaluator | Prefer pass; an exit101 at its designated threshold criterion remains a real failed attribution result. Logs must include six old/new set summaries and historical old-mode vectors [12,0,0,12] for all three sets. |
| stable-exit | One exact new Top/near-corner evaluator | exit101 at Prospective stable-ranking real-exit criterion failed:; require actual new-mode near-corner blocked-stub output, not merely an unrelated control's warning |
| allocator | Exact three enumerated unit names under capacity_experiment::tests |
3 passed,0 failed |
| anchors | Entire binary;13 exact names independently read from committed test declarations | 13 passed,0 failed |
Each mode first runs a separately logged --list --format terse and compares exact names, not just exit0 or a substring count. Individual falsifiers use --exact for listing and execution. Afterward it parses passed/failed/ignored counts, checks the specific prospective assertion marker where applicable, and records whether historical/completion observations matched. An arbitrary nonzero exit, compile failure, early fixture failure, missing names or wrong counts is an unexpected failure. Designated test failures are recorded as designated_criterion_failure and the helper returns101; they are never called a test pass. Every result explicitly carries policy_accepted: false.
The unit-test binary compiles the same identified core sources in test configuration; its auxiliary build receipt identifies that executable separately. The integration core rlib identity remains recorded for reference, not a claim that the unit binary links that rlib.
Each evaluator has a new geometry directory set via OA_PORT_POLICY_RECEIPTS; every produced canonical Project, projected view and route dump is hashed in its result. The source tests already use create-new outputs and frame-index labels. Inputs and executable/core hashes are checked after runs. summary is a read-only collection of recorded outcomes and missing modes, not an acceptance gate or an assertion that all tests passed.
The new stable-ranking mode remains an attribution experiment. A green threshold result, even across all three identity sets, cannot approve untouched exit geometry or a production resize policy. A changed threshold result or clearance observation must be preserved and investigated without changing fixed UUID sets or acceptance criteria to obtain a pass.