Dit is het recept waarmee elk model (Fable, Opus, Sonnet, of goedkoper) een FISO-run draait. De uitkomst-eisen en gates staan in FISO-MASTER-PROTOCOL.md (leidend); dit runbook maakt elke stap toetsbaar. Eerste bewezen run: out/dopareads/ (09-07-2026, 26/26 GROEN).
Vooraf (eenmalig per machine)
- Verify-rig:
Engines/verify-rig/→npm install playwright-core, systeem-Chromium aanwezig. Test:node verify.js <willekeurige html>→ rapport verschijnt. Verwachte observatie: PASS-regels + GROEN/GEZAKT-oordeel.
De run
- Intake. Input ligt in
FISO/inbox/. Lees 'm VOLLEDIG (nooit skimmen). Bepaal mode: bevat het werkende HTML/JS → Mode B, anders Mode A. Check de intake-minima (wie/voor wie/één-actie/stijl-anker; Part 1). Ontbreekt de hoofd-CTA of het publiek → markeer BLOCKED/RECON NEEDED met de exacte check die 't sluit, verzin niks. Observatie: een intake-notitie met mode + aanwezige/ontbrekende ankers. - (Mode B) Baseline vastleggen vóór één regel code. Schrijf een flows-script (patroon:
out/dopareads/flows-dopareads-baseline.js) dat élke werkende feature/flow/opslag-key echt bedient, plus "baseline-feiten" voor knoppen die nu no-op zijn (zodat nieuw gedrag upgrade is, geen regressie). Draai:node verify.js <input> --flows <baseline>.js. Pass-definitie: GROEN op het origineel. Niet groen te krijgen → eerst begrijpen waarom, dan pas bouwen. - Bouw. Output naar
FISO/out/<naam>/index.html. Origineel NOOIT aanraken. Breadth-first: alles ruw op poten, dan verfijnen. Spine vrij (Part 3), conversie-laag verplicht (Part 6: hook boven de vouw, één CTA-flow, mobile-first, a11y, social proof alleen echt of leeg-verborgen). Motion mag,prefers-reduced-motionaltijd gerespecteerd én zonder JS blijft alles zichtbaar. Naar-buiten-copy: geen em-dashes (huisregel). - Upgrade-flows schrijven. Eén flows-script dat de VOLLEDIGE baseline als
[regressie]-checks herhaalt + elke nieuwe feature als[nieuw]-check toetst (patroon:out/dopareads/flows-dopareads-v2.js; incl. aparte reduced-motion-context en de em-dash-telling). - Drie loep-passes (verplicht, gelogd). Per pass: screenshots (desktop dark + light, 375px mobiel, beide talen indien aanwezig) écht bekijken, zwakke plek benoemen, fixen, en na elke fix de volle gate opnieuw. Pass-definitie per pass: minstens één concrete bevinding-of-expliciet-"geen", en de gate erna GROEN.
- Eindgate.
node verify.js <out>/index.html --flows <v2-flows>.js→ GROEN vereist (0 console-errors, 0 page-errors, geen h-scroll @375px, alle flows). Kaiju-lat-check (Part 2): benoem minstens drie raak-punten, en toets op anti-slop. - Pakket. In
out/<naam>/: index.html + beide flows-scripts +FISO-RUN.md(spine+waarom, baseline-checklist, 0-regressie-bewijs, verbeteringenlijst, drie passes, gate-uitslag, delivery-status) +README.md(deploy + config). - Delivery-gate (Part 9). Pas DELIVERED bij een live URL. Geen deploy-credentials → status is "IN PROGRESS" met RECON NEEDED, eerlijk gelogd in
Engines/BUILD-LEDGER.md. Nooit als klaar verkopen.
Ideale uitvoerder-tier
Bouw/smaak-passes: hoog. Herdraaien van de gates + config invullen + deployen: laag/mid — alles is een commando met een pass-definitie.