CHAINWRIGHT / SAME-SOURCE COMPILER SETTINGS EXPERIMENT

Four unchanged application sources, four pre-registered compiler settings,
three fresh synthetic chains per build:48 executions and744 scenario checks.
No unoptimized baseline. No universal gas, compiler-speed or security claim.

Profiles: legacy optimizer-runs200 (Studio Standard), legacy runs1, IR runs200,
IR runs10000. Existing Solidity0.8.30, Paris target; Anvil1.8.6 Cancun runtime.
The profiles change code generation only. IR has documented semantic differences;
these scenarios establish the listed behavior, not every possible input.

REPRODUCE THE REPORT WITHOUT COMPILING OR INSTALLING
Extract the whole kit, then from its root:
  python3 analyze.py
  python3 -m unittest discover -p 'test_*.py'
The analyzer consumes the included original packets in server-evidence/ and
regenerates summary.json. It checks ABI, method identifiers, storage layouts,
calldata, outputs/reverts/events/state, escrow value movements and repeated gas.

The hook's artifact-derived CREATE2 address changes across builds. Only the
explicit self-bound hook-address ABI word is normalized for comparison. Raw
input bytes and intrinsic gas are retained. Setup includes the CREATE2 factory
and valid hook creation; the deliberately rejected constructor is excluded.
This is a callback test, not a full v4 PoolManager/liquidity/swap lifecycle.

NATIVE REPRODUCTION PREREQUISITES
run-server.py is the exact bounded experiment driver. It uses the separately
pinned, already-configured /opt/chainwright-studio runtime/toolchains on the
existing Linux host. It does not download or install a compiler, runtime or
service. The current original and copied runtime manifests are included.
It refuses to overwrite an existing experiment directory; retain originals and
use a separately reviewed fresh experiment path for another run. The copy adds
only a fixed compiler profile, input/event retention and deployment breakdown.
Original public runtime and service sources were not changed by this experiment.
Existing sandbox, no-network child, deadlines, unprivileged UID and limits remain.
Native binaries, credentials, active capabilities and visitor data are excluded.

Every source is also supplied in fixtures.json, alongside its full scenario.
The public test project downloads run the same source with Studio Standard.
Alternate compiler settings are not yet selectable in the online editor.

Gas is measured transaction work, not dollars. The interactive estimate is setup
plus N copies of one measured transaction. Other calls cost extra; future state,
inputs and gas prices differ. Escrow release is one-time and required deposits
are not included in that single-action estimate. Ordinary off-chain reads pay
no transaction gas. Mathematical break-even is not a prediction of app demand.

All actors/value/chains are synthetic. No real wallets, funds, keys, paid provider,
protocol deployment or independent financial/security acceptance is represented.

Primary method references:
https://docs.soliditylang.org/en/v0.8.30/using-the-compiler.html#optimizer-options
https://docs.soliditylang.org/en/v0.8.30/ir-breaking-changes.html

Original Chainwright sources/scripts: MIT. Compiler/runtime attribution and
licenses remain in the original pinned source/service handoff. No vendored
compiler or runtime binary is redistributed by this evidence kit.
