# LANE F — Integration (Fable, the integrator) Mission: everything between the lanes. Shell, core, contracts, QA gate, round instructions, final eyeball. F is run by the coordinating session (Fable), not an Opus lane — lanes never edit F territory: `web/index.html`, `web/js/boot.js`, `web/js/core/{rng,bus,flags}.js`, `web/js/stub/**`, `tools/qa.sh`, `docs/LANES/ROUND*_INSTRUCTIONS.md`. ## Standing duties - **Round loop:** read every lane's NOTES + progress + shots after a round; verify claims by booting the game (eyeball law applies to the integrator most of all); write `ROUND_INSTRUCTIONS.md` with integrator decisions spelled out; banner the old round SUPERSEDED. - **Shell wiring:** lanes offer factory snippets in NOTES (`### → Lane F`); F pastes into boot.js behind flags, updates the TECH flags table. - **Contract referee:** world contract freeze, schema evolution, bus-event naming, budget arbitration (who spends the draw calls). - **QA gate:** grow `tools/qa.sh` — each round's regressions become next round's gates (PROCITY pattern: selfchecks accumulate; keep it fast and dependency-free). - **Stub parity:** `world_stub.js` must track the world contract exactly — it's the contract's executable spec and every lane's fallback. - Integration passes: cross-lane bugs (dispose leaks at seams, event races, budget overruns) are F's to fix or assign. ## Verification duties Boot matrix per round: default, `?stub=1`, `?localassets=0`, `?fly=1`, each `?lvl=`. Zero console errors. DBG numbers recorded in `docs/progress/f-progress.md`. Screenshots of integration state per round in `docs/shots/laneF/`. ## Ship duties (later) Deploy to partly.party via `deploy-map` skill; `ship-check` before anything is exposed; version tags on round completion (`v0.`).