# engine-bank result **Complete: 512/512 sorted unique qt1 rows, seeds 9700000..9700511. Remaining seeds: `[]`. All are screening-only; no holdout claim.** Finished within the 55-minute item cap (approximately 26 minutes including setup, implementation, generation, and checks). No engine simulation used any seed outside this interval. ## Delivered - `engine_eval.py`: lazy public `run_batch(seeds, strategy_path)` returning ordered unrounded finite edges and per-seed afterSwap peak gas; retains duplicates; empty input returns immediately. Validates the whole iterable before engine access. Supports candidate Solidity sources and caches compilation across rounds. Singleton native calls always use worker argument **8**. - `tests/test_engine_eval.py`: 16 distinct unit tests covering range rejection before execution, laziness, ordering/duplicates, gas isolation, all five error categories on both roles and initialization/swaps, result alignment, finite metrics, compilation reuse/invalidation, atomic persistence, stale/corrupt checkpoint rejection, interruption and resume equivalence. - `docs/engine.md`: API, setup, generation/resume, concurrency, gas/config semantics, validation commands, and platform limitations. - `baselines/engine/generate.py`: optional isolated-process singleton generator using the same checkpoint format as the sequential CLI. Bounded dispatch, ordered results, process locks, and atomic progress after every successful seed. - `baselines/engine/qt1-9700000-9700511.json`: complete six-decimal bank, actual configs and their digest, source/wheel/compiler/bytecode provenance, commands, zero failures, explicit screening status. - `baselines/engine/qt1-audit.json`: all 512 unrounded rows, complete native gas counters, and per-call timings. - `baselines/engine/validate.py`, `validation.json`: reproducible whole-bank integrity checks, source-archive equivalence, and five independent real reruns. - `baselines/engine/measurement.json`: initial benchmark, candidate integration, exact scratch benchmark/integration scripts, test results and chunk timings. Every delivered file credits Taylor. Foundation pins/configuration and other items' paths were untouched. Runtime state, installs, caches and logs remain under `scratch/` and are not delivered. This named result is left untracked for the artifact uploader. ## Exact execution commands Commands ran from the repository root. All real workload commands had an external 470-second timeout, below 480 seconds. Setup was reused as supplied; no Rust build or policy tuning. ```sh timeout 470 bash setup_fast.sh --platform linux-x86_64 --cache scratch/cache --deadline 420 timeout 30 python3 -B reference/materialize.py --out scratch/reference . scratch/env.sh timeout 470 python -B scratch/benchmark.py > scratch/benchmark.log 2>&1 timeout 470 python -B engine_eval.py --max-seeds 48 --budget 400 > scratch/chunk01.log 2>&1 timeout 470 python -B scratch/integration.py > scratch/integration.log 2>&1 timeout 60 python3 -B -m unittest discover -s tests -p test_engine_eval.py > scratch/unit-tests.log 2>&1 timeout 470 python -B baselines/engine/generate.py --jobs 2 --max-seeds 48 --budget 400 > scratch/chunk02.log 2>&1 timeout 470 python -B baselines/engine/generate.py --jobs 4 --max-seeds 96 --budget 400 > scratch/chunk03.log 2>&1 timeout 470 python -B baselines/engine/generate.py --jobs 8 --max-seeds 320 --budget 400 > scratch/chunk04.log 2>&1 timeout 470 python -B baselines/engine/generate.py --jobs 4 --max-seeds 120 --budget 400 > scratch/chunk05.log 2>&1 timeout 470 python -B baselines/engine/validate.py > scratch/validation.log 2>&1 timeout 60 python3 -B -m unittest discover -s tests -p test_engine_eval.py > scratch/unit-tests-final.log 2>&1 git diff --check git status --short --untracked-files=all ``` The two scratch scripts are preserved verbatim in `measurement.json` as `benchmark_script` and `candidate_script`, so their exact executed contents are delivered. They can be restored to the named scratch paths. All delivered Python files also passed AST parsing; the validator and generator were exercised with the real pinned engine. ## Measurements and checks - Cold pinned setup: **15.398 s**, 16 verified downloads. Materialization verified 35 original files. - **Benchmark FIRST**, pinned qt1 on 9700000: compile **13.902337 s**, simulation **6.399619 s**, raw edge **505.9568443502717**, Submission/afterSwap peak **206569**. All error counters zero. Initial serial projection was 3276.605 s for simulations alone, so resumable chunks and isolated process concurrency were used to fit the cap. No qt1 source changes. - Config construction: all **48 field comparisons** (12 fields × indices 0..3) exactly matched upstream `MatchRunner._build_configs`. These small indices were used for construction only, never simulation. All 512 allowed configs are recorded; no 9.7-million-config allocation. - All **25 installed Python/Solidity source files** matched the hash-verified upstream archive. - Candidate-source integration: VanillaStrategy renamed to `Strategy`, evaluated on allowed seed 9700511, **1.354040 s** including compilation. Edge **365.1147164280063**, afterSwap gas **22592**. Candidate hash and exact reconstruction script are in measurement evidence. - Final unit suite: **16 tests, 0 failures, 0.098 s**. An earlier 26-test run also passed but inherited ten tests redundantly; corrected before the final run. - Bank: **512 rows**, **512 unique seeds**, complete inclusive coverage, six-decimal strings derived only at serialization. afterSwap peak gas range **179174..209279**. Gas counters reset for each seed; only Submission/afterSwap contributes to the metric. Initialization and Baseline gas are excluded. - Independent reruns: **9700000, 9700128, 9700256, 9700383, 9700511**, all **exactly equal** to the stored unrounded edge and gas. Reruns **32.630502 s**; whole validation **46.893776 s**. Initial benchmark independently matched bank seed 9700000 as well. - Actual native invocations: 512 bank + 1 initial qt1 benchmark + 5 qt1 validation repeats + 1 candidate integration = **519**, all allowed screening seeds. | Chunk | Actual seed coverage | Rows | Command wall seconds | Sum of singleton elapsed seconds | | --- | --- | ---: | ---: | ---: | | 1 | 9700000..9700047 | 48 | not recorded | 297.592044 | | 2 | 9700048..9700095 | 48 | 172.9210888594389 | 293.896197 | | 3 | 9700096..9700191 | 96 | 184.8638134249486 | 602.193411 | | 4 | 9700192..9700391 | 200 | 358.65672316309065 | 2443.659161 | | 5 | 9700392..9700511 | 120 | 228.41104416176677 | 735.976034 | Parallel singleton durations overlap: their sum (**4373.316847 s**) is neither total wall time nor CPU time. Chunk 4 exited normally at its budget, checkpointed 392 cumulative rows, and explicitly published 120 remaining seeds; chunk 5 resumed that exact prefix and completed the bank. No command timed out or was killed. ## Failures and limitations **Zero test failures, zero engine failures, zero rejected bank rows, zero stale-state incidents, zero rerun mismatches.** Every recorded OOG, revert, other-halt, transaction-error and bad-return counter is zero. Error rejection was also tested with injected failures. These are local checks performed by this worker, not an independent certification. Tested: Linux x86_64, Python 3.12.16, NumPy 2.5.4, release wheel 0.1.0.post1, solc 0.8.24 (optimizer 200, viaIR, Paris). macOS arm64 engine is unsupported by this wheel; Windows and other platforms are untested. Source provenance: Taylor commit `4812a6382311624e1506aca131ca35c378f930d9`, engine commit `6b6921f8d463314aa7c96234e1be25a25245f704`, qt1 reference goal commit `4eb3e985fd31e3cd17832501b95b6d2491aca73d`. ## Pins and hashes - qt1 Solidity: `c68887cff61180e12ba2b1ceb333edf76a830f91f63b5d775a8806fb9ec08aca` - Release wheel: `aedb68280aca34c110968f00148387c95885207913fb2cf19a1ab4c5cfd6887a` - Native engine: `ff88b6353c2aad7342f0a26194f7347e78b9c3b38d683a7449006d423978cd14` - Upstream source archive: `fa91b175c4b0db13fa44657903f55f664c80fb34796172c94d57ebebba71ec9e` - solc binary: `fb03a29a517452b9f12bcf459ef37d0a543765bb3bbc911e70a87d6a37c30d5f` - qt1 creation bytecode: `0af76fa66572167378c48100a70dcd8e64b58eb28cdd94b2e3456c95f367445f` - Vanilla creation bytecode: `3bcbd8a295b9d9c357e76df36a08c6232f8afa692a2189c643fe0d029a9efc05` - Configs: `10c0fee88d6a982ae4aca9833d5ee228ffa75a2dfdcc732e6732b32541981afc` | Delivered source/data path | SHA256 | | --- | --- | | `engine_eval.py` | `0a3ed61457cb66c85a292c82acbb9657b5e5544a98c7aa04c7a6a5dccdc1d3b2` | | `tests/test_engine_eval.py` | `51c4ef53fe2cac78b776ae5c0a1adaca6b3a15cc8ddacf707bd8d112adc6653a` | | `docs/engine.md` | `fab6e8c2327c4c1eca83887368d8dfec174942b60f082b2aa50254e31714bc3f` | | `baselines/engine/generate.py` | `e05c66d73d12cb650d48092adeca30496c7116744cc8ade1309960a72fd5ad61` | | `baselines/engine/measurement.json` | `d9e32d65b0de559bf119003f83c67c6a2561577378959a9345b3b4b83af0ac92` | | `baselines/engine/qt1-9700000-9700511.json` | `f1031aae649d2ad8e871ee1cc055770a4c6b329ff3e71afb4500fca3c8621f90` | | `baselines/engine/qt1-audit.json` | `5256d2bd776a44f34780e47551c2d7d02f9a2e9fc8b8392fc6b46a92593d2ade` | | `baselines/engine/validate.py` | `0ced42c7885beea82f96fac625c778e16c3f27823071bf3c22a1b8ec9cf863db` | | `baselines/engine/validation.json` | `05b20ddee30180169cabd5caabea447ce7a2423adb0ed9b2875112905f460eca` | ## Resume commands No seeds remain. For an interrupted/incomplete generation, retain `scratch/engine-bank/progress.json` and rerun: ```sh . scratch/env.sh timeout 470 python -B baselines/engine/generate.py --jobs 4 --max-seeds 120 --budget 400 timeout 470 python -B baselines/engine/validate.py ``` The checkpoint binds source, wheel, compiler, config, bytecode, runtime versions and evaluation implementation; stale bindings are refused. Committed seeds are skipped, an interrupted uncommitted seed may be repeated, and publication is refreshed on resume. Do not edit the binding to bypass refusal. A deliberately changed runtime/source requires a new checkpoint/output and a newly generated bank. The completed bank needs no resumption.