Stage-one integration evidence¶
full-gate-summary.json (version 3) is the durable, compact record of the
full issue-#14 acceptance run on branch codex/rom13-fullgate: the merged
15 fixture, three live initializations, the same-run guarded restore, the¶
bounded real ROM calibration on the source and restored copies, the
like-for-like no-mod parity, the real hit/miss identity probe, the real
dev-capability probes (including the post-restart memory verify), the causal
tool/game joins, the five smoke suites and the gate verdict pass 8/8
(exit 0, run id rom13-fullgate-20260926T044858Z, executed source commit
6e0091081aa7ccc2250d968415d5c5895b84e6f9). Its values (order hash
790ea415…, 61 projected trace rows, 109.835 ms total session hook time,
bundle tree 7c3d872f…) are the authoritative reference used by the
integration pages. It pins the sha256 of every artifact the gate consumed
(bundle tree, evidence index, canonical audit events, tool trace, joins,
snapshots, trajectory, positive log) plus the unchanged source-world tree hash
and the per-phase executed-source provenance. Raw artifacts stay under the
git-ignored labs/fullgate-evidence/ directory of the worktree that produced
them, so a reviewer can spot-check any pinned hash against the raw file.
attack-use-window-probe.json is the compact record of the supplemental
stage-two prerequisite probe: tools/attack_use_window_probe.py (driver
commit 5f135267947e91910ab70a8740f07c36a481a8a8, raw log sha256 starts
9269bce8…) sent a punch and a use over one persistent RCON connection on a
fresh disposable lab with the unchanged audit jar. The raw requests are 1
tick apart (<= correlationWindowTicks: 2), exactly one input_processed
(playNote) belongs to the use, and no processed event is attributed to the
attack. The probe is supplemental; the frozen full-gate bundle and its
provenance are untouched.
Failed attempts (retained)¶
The failed attempts are preserved under labs/fullgate-evidence/ and
labs/fullgate-logs/ and are part of the honest record (none was resolved by
weakening a check): the dirty/forceloaded fixture world copies, the audit
mod's missing triggerEvent coverage for the fixture's harp note block, the
wrong Carpet look argument order, stale smoke jars beside the failure probe
jars, the whole-world memory verify rejecting falling init-time items, the
two aborted authoritative runs (restore-flag reply and stale devcap
references) fixed in later source commits, and the original 14-tick
two-process attack/use gap that motivated the same-window probe above. Each
fix was its own source commit; no run claims a single hash over mixed
revisions.
integration-summary.json is the earlier durable record of the combined
stage-one integration run (two real labs, smoke mod, committed #18 audit mod,
tool trajectory, gate verdict) before the #15 fixture landed; the gate was
honestly blocked there, and that record is kept as history. The raw files of
that run stay under the git-ignored labs/rom13-integration/ directory in the
worktree that produced them:
labs/rom13-integration/
summary.json, summary.md driver report + step table
run-<stamp>/trajectory.jsonl #19 append-only trajectory
run-<stamp>/trajectory.final.jsonl frozen copy; only this is ever mapped
normalize-inputs.json pinned inputs (hashes) for bundle-only reproduction
bundle/ gate bundle, mapping reports, assemble report
bundle/artifacts/... canonical gate artifacts (audit events, trace, identity)
bundle-spec.json run/instance declarations used for the gate
build/ smoke-mod v1/v2 jars + build metadata
audit-mod-src/ read-only copy of the committed #18 source (502f561)
bridge6-restore-collection/ verified bridge6 snapshots + collection report
labs/rom13-exp/mc-audit/ raw #18 audit JSONL + status/config
The summary pins the sha256 of the raw audit JSONL and trajectory, so a raw copy can be verified against it. To reproduce without a game server (byte-identical bundle from the frozen inputs, all pinned hashes re-checked):
python tools/stage1_evidence.py selftest
python tools/stage1_evidence.py restore-evidence --out labs/rom13-integration/bridge6-restore-collection
python tools/stage1_integration.py plan
python tools/stage1_integration.py run --bundle-only
To reproduce end to end (needs Java 25, the Minecraft 26.2-Fabric install and network for the first Fabric download):
python tools/stage1_integration.py run
This run is not ROM acceptance: the scene is a generic note block and one
stack of chest minecarts, the fixture and restore prerequisites have not
landed, and the gate therefore reports blocked.