Files
ARCADIA-Studio/harness/experiments/analysis-source-s2c-windows-20260913/notes/analysis-source-s2c-admission-handoff-20260913.md
T

5.6 KiB

Prepared S2c gate admission helper

New ignored helper: .local/admit-analysis-s2c-gate.py. Source-only preparation; helper/admission functions were not invoked. No compiler, gate, full-suite waiver, Git mutation, Gitea or native action occurred. Parent owns review and actual execution after closed gates.

The helper is pinned to frozen f1d79df4979121335ed7b4ce4da84b2fca8a9ef4 in .local/analysis-core-worktree-20260911; it requires that current HEAD at both initial and final admission. Read-only source preparation independently derived exactly534 scoped Git input files. Relative to admitted a2's531, the three writer files are new and the oracle rename adds one/removes one. The scope is exactly the existing recorder's Cargo manifest/lock/toolchain, .cargo, build, crates, assets, docs, examples and harness/fixtures scope.

Its fixed baseline is the actual admitted a2 listing142. The helper hard-pins the original a2 list result, inputs, raw log, admission and original S2b admitter. It does not reread the old mutable test EXE or treat the old full failure as a pass. The original S2b helper and all original outcomes remain unchanged.

The ten writer test names are a fixed set matching the actual frozen Rust test functions; membership is re-derived from the committed test source during admission. Together with all142 prior names, actual future listing must contain exactly152 unique names, with exact raw summary and recorded listing agreement. The future listing remains required; source counting alone does not fabricate an executable listing.

Only two focused selectors are permitted: language::analysis_source (44 actual passes,108 filtered) and language::raw_tokens (1 actual pass,151 filtered). Typed admission explicitly requires all ten new writer tests to pass, alongside the34 retained typed tests. Raw-token admission covers only its one actual case and does not claim to run those ten writer tests. All focused individual outcomes must equal the ordered selected listing, with zero failed/ignored/measured cases. Any different selector, wrong count, omitted/repeated case or full command rejects. The historical16 full failures cannot receive a full-pass admission here, even if a caller tries the focused interface.

Every current gate must be a closed integer-exit0 receipt at the exact source, with unchanged inputs, exact command, one test EXE and matching raw Running path. Actual EXE bytes/hash are reread at admission and must equal the list/focused identity. Exact534 committed file names/bytes/hashes and working-tree bytes must match the input manifest. Focused admission additionally verifies the admitted current listing's original result/input/log hashes, helper hash, executable, source and exact names. Historical baseline and all current inputs/receipts/helper/EXE are watched for final readback before exclusive admission output. Existing admission files cannot be overwritten.

No --check-source, strict-pass or full-pass mode was added. This keeps the helper bounded to the requested listing/focused admission. It uses read-only Git commands only and never invokes Cargo or Rust tests. Strict/full gates retain their own actual raw receipts and separate audit.

Future invocation, after parent review and actual gate closure

Use the existing pinned Python with -B and substitute actual closed gate names:

PYTHON -B .local/admit-analysis-s2c-gate.py ACTUAL_LIST_NAME
PYTHON -B .local/admit-analysis-s2c-gate.py ACTUAL_TYPED_NAME ACTUAL_LIST_NAME language::analysis_source
PYTHON -B .local/admit-analysis-s2c-gate.py ACTUAL_TOKENS_NAME ACTUAL_LIST_NAME language::raw_tokens

These commands have not been run. They write only a fresh matching .admission.json after all checks. Failed raw gate receipts/logs stay untouched. A future source correction needs a newly reviewed pin/helper adaptation and actual gates; this helper deliberately rejects source drift.

Preparation checks: Python AST parsing only, plus separate read-only Git membership/test-function extraction and baseline JSON/hash inspection. No helper import or admission invocation occurred. The new runner code remains unexecuted and may still expose actual integration/path/runtime errors. Its admission is evidence for the selected executed scope, not public source8, whole-project save or native acceptance.

Helper bytes/hash: 9816 / 0202540eec8870f1fd0a03ad39d55653c18c9bb3c533e491d67234e040c42833.

Independent review: r2 replaces the helper for future admission

The original helper and preparation record above are preserved. Independent review found that Python optimization could remove assert-based admission checks. Parent authorized the narrowly revised .local/admit-analysis-s2c-gate-r2.py: 10010 bytes / SHA256 d2bd3c38feb77b8e916b3d413a278d4b0960baff8e14843aed4c2b20c26c90e1. Its only change is a non-assert if not __debug__: raise RuntimeError(...) guard immediately after imports, before evidence access or output. Use the r2 filename for all three future invocations above; current listing and focused admission helper hashes must both refer to r2.

An explicitly authorized PYTHON -B -O .local/admit-analysis-s2c-gate-r2.py with no gate arguments actually exited1 at the guard with S2c admission requires Python assertions; optimized Python is refused. It did not reach any evidence or admission operation. No normal-mode admission, compiler or S2c test was run. Counts534/152/44/1 and baseline pins were independently rechecked from source and existing records. See .local/analysis-source-s2c-admission-independent-review-20260913.md for the finding, exact invocation and active-runner risk limits. No active runner was modified.