# score-integration result Completed against starting trunk 57ce0df30e24784fb9d0537de55e5b7f8521ecd7. Real live128 engine integration passed. No scorer defect reproduced; score.py and tests/test_score.py remain unchanged. No engine_eval.py, engine/HA bank, foundation, configuration, dependency pin, or submodule changes. ## Delivered changes - tests/test_score_integration.py: three optional real-runtime tests, disabled by default; benchmark-first pinned Vanilla source construction; actual CLI/default adapter live128 test; three-seed qt1 audit check; explicitly offline audit above-bar/exact-boundary replay. Per-seed scratch checkpoints and hash evidence. - docs/score.md: exact setup/test commands, measured coverage, source/adapter hashes, runtime provenance, strict threshold and compatibility/resume limits. - This result.md is the required untracked output. No scratch state is submitted. Every delivered file header credits Taylor. ## Commands and measurements Read-only inspection used pwd, git status --short, git rev-parse HEAD, rg --files, cat of the committed scorer/tests, engine_eval.py, docs/engine.md, docs/contracts.md, docs/score.md, setup_fast.sh, bootstrap/pins.sh, and baselines/engine/{measurement,validation}.json. These provided local sources; no archived driver or original host probe was run. Setup preparation: mkdir -p scratch/bootstrap-copy cp setup_fast.sh scratch/bootstrap-copy/ cp -r bootstrap scratch/bootstrap-copy/ A Python Path edit asserted exactly one literal HOST_HAVE=$(uname -sm) and replaced it with HOST_HAVE=$HOST_WANT only in the copy. Recorded in scratch/bootstrap-copy/delta.txt. All SHA checking code and bootstrap files retained byte-for-byte. No host/home inspection, Rust, tuning, or changes to pins. timeout 470 bash scratch/bootstrap-copy/setup_fast.sh --platform linux-x86_64 --cache "$PWD/scratch/cache" --scratch "$PWD/scratch" > scratch/setup.log 2>&1 timeout 60 python3 -B reference/materialize.py --out scratch/reference . scratch/env.sh Setup succeeded: 16 downloads, 135768787 bytes, fetch 4.437s, install 6.039s, verify 2.796s, total 13.295s. Materializer succeeded, 35 verified originals (0.175s tool command duration). No replica-only setup was requested. Before implementing tests, a timeout 60 python -B - inline benchmark read the pinned contracts/src/VanillaStrategy.sol, asserted one contract-name occurrence, wrote scratch/score-integration/Strategy.sol with only that name changed, and called engine_eval.run_batch([9700000], candidate_path). It atomically saved benchmark.json. Compilation plus call: 1.172021040925756s; 128x projection: 150.01869323849678s (<400s). Edge 346.0273756163182; afterSwap peak gas 22592. No other seed had been simulated in this task. The equivalent benchmark is preserved in the delivered test's setUpClass. . scratch/env.sh timeout 470 env IMD_SCORE_ENGINE=1 python -B -m unittest discover -s tests -p test_score_integration.py -v > scratch/score-integration/tests-live.log 2>&1 timeout 60 python3 -B -m unittest discover -s tests -p 'test_score*.py' -v > scratch/score-integration/tests-default.log 2>&1 Real suite: **3/3 passed**, 0 skipped, 82.004s. Default stdlib suite: **35 passed + 3 optional skipped = 38 discovered**, 0 failures, 0.059s. Original 35 fixture/spy tests remain unchanged. The optional suite independently re-benchmarked first: 1.2076737110037357s, projection 154.58223500847816s. All commands remained below 470s; total task work stayed below the 55-minute cap. No bounded-collection fallback needed. ## Actual live coverage One CLI scoring round via score.main, LiveCandidate and real default engine_eval.run_batch. Baseline: validated qt1 bank subset 9700001..9700511 (511 rows), excluding benchmark seed. Candidate policy name VanillaStrategy deliberately differs from baseline qt1. Exactly one adapter request: 9700001..9700128 (128 seeds), forwarded unchanged to actual computation. Each engine_eval._one invocation was observed and its actual result returned; no fake edges, mocked native computation, or saved-row replacement. The test independently computes mean and sample SE with a two-pass formula using sum of squared deviations / (n-1) / n, verifies worst5, exact output keys, status and call arguments. CLI stdout has exactly one summary: {"n": 128, "mean_diff": -181.07580014978117, "se": 3.9162517263946226, "worst5": [{"seed": 9700076, "diff": -369.5485796539232}, {"seed": 9700077, "diff": -288.0111378034469}, {"seed": 9700097, "diff": -286.6769764135044}, {"seed": 9700002, "diff": -268.67410777034377}, {"seed": 9700085, "diff": -261.79649966628983}]} Live scoring elapsed **47.944790s**. mean + 3*SE = **-169.327044970597314 < 0**. Status: reason=worse, n=128, available=511. **Zero requests for seeds 9700129..9700511**; their absence is intended early stopping, not missing-row omission or exhaustion of a 128-row bank. Actual qt1 reruns: exactly **9700000, 9700128, 9700511**, three singleton simulations, 19.090144s total. Each edge and gas matched the committed unrounded audit exactly; format(edge, ".6f") and gas matched bank rows exactly. No qt1 128-seed sequential command ran. Total actual simulations this task: - Vanilla seed 9700000 twice (initial benchmark + optional-suite benchmark). - Vanilla 9700001..9700128 once each (128 live scorer singleton calls). - qt1 9700000, 9700128, 9700511 once each. - **133 simulations**, all within 9700000..9700511, all screening-only. Historical bank runs are not counted as this task's runs. ## Offline/fixture coverage, explicitly separate The third optional test uses committed qt1 unrounded audit rows 9700000..9700127 against their six-decimal bank rows, **zero engine calls**. Observed mean=2.3547489291786405e-08, SE=2.45489183381035e-08. At exact lower bound bar=-5.009926572252409e-08: exhausted, n=128. At math.nextafter(bar, -infinity): above_bar, n=128. Real saved values are unchanged. This is offline replay, not an additional live128 integration. Existing stdlib fixtures cover strict worse-boundary equality, nonzero-SE equality, above-bar requested-only stopping, n<2, zero variance, cumulative partial rounds, ordering, duplicate/missing/extra/nonfinite rejection, backend mismatches, allowed policy-name differences, CLI failure/interrupts, and lazy imports. Fixture calls are not live simulation evidence. ## Runtime and trace - engine_commit: 6b6921f8d463314aa7c96234e1be25a25245f704 - python: 3.12.16 - numpy: 2.5.4 - wheel_version: 0.1.0.post1 - compiler_version: 0.8.24 - compiler_settings: {'optimizer_runs': 200, 'viaIR': True, 'evmVersion': 'paris'} - workers: 8 - config_fields_compared: 48 Runtime is pinned Linux x86_64 release wheel, no Rust build. Configuration uses bootstrap.smoke_engine.config_for and MatchRunner-compatible draw order. 48 fields compared at construction-only indices 0..3, with no simulation outside allowed engine interval. Bytecode hashes below refer to the provenance helper's qt1 and upstream Vanilla compilation; candidate source hash separately identifies the contract-name-only source. | Input/evidence | SHA256 | | --- | --- | | tests/test_score_integration.py | 34f0d1ab549bb1ee27833072ecc1dcd84ed16802e7bb1fd8371b3ead25f3300d | | docs/score.md | f14b55d9a007ef89bc54cd1279341e761682a7275a6ccd9c1669f58975066fa7 | | score.py | 7b9fa5e37695a5d1b048efe91a8b6c45d31bd4245a733261774c871fe9105a43 | | tests/test_score.py | 9301f8deb1b842a1b981dbe4e4a1b6ba2c57e4009f9dec085e1ad89266e23dcc | | setup_fast.sh | 176bcc88db01927565e11d5a077ee823307c5571005e564cc93548d234382bdb | | scratch/bootstrap-copy/setup_fast.sh | db60024e9668d7ce87cb7f5b653d6c566d5ca213306286f20159664e1401d413 | | bootstrap/manifest.tsv | f9a0c49310aa6f501eac9a760e537af444d21f556239e3f00a9ed6f1d9628dad | | vanilla_source_sha256 | 62d40ccef0de99a385e332a36ddf9cbd1da73eda06bd7954492a9880cb91a572 | | candidate_sha256 | 64b62042f06d3b48d61c1387c0b6f08b0c291c9d2419a0ca65a5fc1d1cc19f96 | | qt1_source_sha256 | c68887cff61180e12ba2b1ceb333edf76a830f91f63b5d775a8806fb9ec08aca | | engine_eval_sha256 | 0a3ed61457cb66c85a292c82acbb9657b5e5544a98c7aa04c7a6a5dccdc1d3b2 | | bootstrap_smoke_sha256 | a2bd7d3f2a696909d01796b99f694bbd6502d300d7e42c6ff05cb3995273908c | | native_sha256 | ff88b6353c2aad7342f0a26194f7347e78b9c3b38d683a7449006d423978cd14 | | compiler_sha256 | fb03a29a517452b9f12bcf459ef37d0a543765bb3bbc911e70a87d6a37c30d5f | | configs_sha256 | 10c0fee88d6a982ae4aca9833d5ee228ffa75a2dfdcc732e6732b32541981afc | | creation_bytecode_sha256 | 0af76fa66572167378c48100a70dcd8e64b58eb28cdd94b2e3456c95f367445f | | vanilla_creation_bytecode_sha256 | 3bcbd8a295b9d9c357e76df36a08c6232f8afa692a2189c643fe0d029a9efc05 | | bank_sha256 | f1031aae649d2ad8e871ee1cc055770a4c6b329ff3e71afb4500fca3c8621f90 | | audit_sha256 | 5256d2bd776a44f34780e47551c2d7d02f9a2e9fc8b8392fc6b46a92593d2ade | | amm_sim_rs-0.1.0.post1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | aedb68280aca34c110968f00148387c95885207913fb2cf19a1ab4c5cfd6887a | | amm-challenge-6b6921f8d463314aa7c96234e1be25a25245f704.tar.gz | fa91b175c4b0db13fa44657903f55f664c80fb34796172c94d57ebebba71ec9e | | solc-linux-amd64-v0.8.24+commit.e11b9ed9 | fb03a29a517452b9f12bcf459ef37d0a543765bb3bbc911e70a87d6a37c30d5f | Vanilla source is from the pinned benedictbrady/amm-challenge tarball at the engine commit above; compiler name adaptation is exactly contract VanillaStrategy -> contract Strategy, preserving all other bytes, including upstream header. Download URLs remain in bootstrap/manifest.tsv. Source/runtime fingerprints are recorded as evidence; no new scorer-required fingerprint makes existing banks incompatible. ## Failures, missing coverage, and resume No setup, materialization, benchmark, or test failures, timeouts, retries, quota/login failures, or failing file/line diagnostics occurred. One result-writing tool orchestration attempt failed before shell execution with SyntaxError: Invalid or unexpected token (unescaped JavaScript template backticks); no file/line was reported and no files were changed by that attempt. The result was then written successfully with corrected quoting. Default suite's three skips are intentional opt-in behavior; all three ran successfully in the real suite. No real replica work was tested: ammfast did not exist in starting trunk. No assertion about unseen simultaneous worker changes. No macOS, Windows, alternate engine runtime/config, residual-head, or replica parity validation. Only three qt1 seeds were independently rerun here, not all 512. Engine bank and HA data are unchanged; screening is not final holdout evidence. No final shared trunk commit/README publication was attempted by this scoped item. Scratch state: bootstrap-copy/delta.txt, setup.log, env.sh, cache/, reference/, score-integration/{benchmark,test-benchmark,runtime,live-progress,live-result, qt1-check,replay-boundary}.json, live-rounds.jsonl, live-status.jsonl, tests-live.log, tests-default.log, next-bank.json and Strategy.sol. Complete live-progress has 128 rows; live-result has complete=true. Scratch files are local evidence, not delivered artifacts. Resume setup by repeating its exact bounded command; verified cache is reused. Rerunning optional test starts a fresh benchmark and live round, not a cache replay. If interrupted, per-seed progress recovers rows for explicitly offline analysis only; incomplete CLI output has no successful final status. A later slow-runtime projection >400s skips live128 and requires bounded resumable collection with honest offline-replay labeling. Check test exit and current-run logs; stale scratch output alone is not success evidence. Final checks: git diff --check; scoped git status/diff inspection; SHA256 comparisons of bank/audit, setup original/copy, and copied bootstrap files. No mandatory dependency or configuration change. Named result remains untracked for uploader.