# F3 og F4 — måling før bygging (økt 100, 08.09.2026) Ordre `20260908T020419Z-5837110336`. De to funnene S7-syretesten (økt 98) rapporterte og ikke fikset. Ordren krevde at begge beskrivelser ble behandlet som **premisser**, ikke fakta. Det ene holdt; det andre ble felt. ## 1. F3 — premisset er FELT, asymmetrien er ekte **Ordrens premiss:** «når stien navngir et dokument som FINNES (med eller uten `.md`)» — altså at de to nektede kallene i arm C var *feil rung*, ikke *ukjent sti*. **Målt mot basen som faktisk kjørte** (`scratchpad/s7-prepass/k2-bundle-s7`, den samme `{run_id}-debate.json` § 4 siterer): ``` read_dir(del-ii-bilag-6-teknisk-oppsett) NEKTET read_dir(del-ii-bilag-6-teknisk-oppsett.md) NEKTET ``` Basens rotnivå holder **27 kataloger** navngitt `del-ii-bilag-N-…` og **12 rotdokumenter** navngitt `inbox-del-ii-bilag-N-….md`. Det eneste dokumentet i nærheten heter `inbox-del-ii-bilag-6-teknisk-oppsett.md`. Stien modellen ba om matcher **verken** en katalog **eller** et dokument — den er katalog-navnekonvensjonen anvendt på et dokument hvis ekte navn bærer et `inbox-`-prefiks. **Følgen:** de to live-rundene var UKJENT-sti-klassen, ikke feil-rung-klassen. Ingenting i denne leveransen ville reddet dem, og det står gatet i `test_the_measured_live_path_is_still_the_unknown_class` så ingen senere leser kan lese dette som en fiks av den målte kostnaden. Å resolvere den ville vært å gjette hvilket dokument en kaller MENTE — invensjon, ikke validering. **Det som ER ekte:** symmetrien ordren pekte på finnes i koden i nøyaktig ÉN retning. `read_file` på en katalog → `explore.DirectoryPathRefused`, som navngir `read_dir`. `read_dir` på et dokument → den generiske «has no directory», som navngir verken rungen som leser det eller stien den ville tatt. Det gapet er lukket (`okf.DocumentPathRefused`). ## 2. F4 — premisset HOLDER, og (c) er felt av måling **Målt på nytt mot de fire artefaktene den betalte kjøringen etterlot:** | arm | `cost_baseline_anchored` | kostkoder i forslaget | |---|---|---| | A | `False` | `ENGRAVE_MARK` | | B | `False` | `RITB-HOURS`, `SYSINT-HOURS` | | B1 | `False` | `RITB-consultancy`, `system-integrator` | | C | `False` | `Material_Cost_Concrete`, `Material_Cost_Steel`, `Construction_Heating_Fuel` | Stage 0 hoppes over når `baseline is None` (`validator.validate_proposal`), og ingen av linjene er knyttet til K2. **Opsjon (c) er felt, med måling.** `okf.derive_cost_baseline` mot den leverte basen: ``` REFUSED: no cost table found in bundle '…/k2-bundle-s7': no concept file carries a markdown table whose header names all three of ['code', 'quantity', 'unit_cost'] ``` K2s leverte prisskjema (`del-ii-bilag-7-prisskjema/prissammenstilling-sheet-1.md`) er en pandoc **simple table med ÉN kolonneoverskrift** (`Prisskjema`) og hver verdi kollapset i den. Å gjøre `--derive-cost-baseline` nåbart der ville krevd en regel for en form ingen har målt — nøyaktig den ærlighets-grensen MAJOR-4 skrev ned for seg selv. **Valgt: (b), og hvorfor ikke (a).** Synligheten (`cost_baseline_notice`) finnes og er ærlig; det den ikke kan er å stoppe et maskinlesbart artefakt som sier `validator_decision: validated` over linjer ingenting forankret. Et **opt-in**-flagg lar hver base uten `cost-baseline.json` — hver commons-eid golden — kjøre nøyaktig som før, som er dét (a) beskyttet, mens en kaller som trenger garantien ber om den ved navn. Målt: mutasjonen som lar gaten fyre uten flagget gir **171 røde**. ## 3. Battteriet Grønn kontroll **1493/5** ved øktstart → **1511/5** etter (**+18 node-ider, 0 fjernet**), golden `demo-transcript.stdout` BYTE-UENDRET (`shasum -a 1` av INNHOLDET = `ea8c534773acdbe41ae68f2c55724d69aaf8be4f`). **12 mutasjoner, alle røde mot HELE suiten:** | # | mutasjon | røde | |---|---|---| | M1 | detach dokument-grenen | 4 | | M2 | bygg oppslaget fra `files` | 1 | | M3 | ignorer dimensjonen i oppslaget | 1 | | M4 | navngi `read_file` i ukjent-sti-meldingen òg | 4 | | M5 | ekko kallerens sti i stedet for det ekte navnet | 2 | | M6 | detach forankrings-gaten | 3 | | M7 | flytt gaten UNDER dry-run-kuttet | 1 | | M8 | dropp fra `report_forbidden` | 1 | | M9 | dropp fra portefølje-partisjonen | 1 | | M10 | detach `--bundle-dir`-kravet | 1 | | M11 | detach fullkjørings-wiringen | 1 | | M12 | gaten fyrer uansett flagg | 171 | M9s signatur er egen: uten nekten ved navn STARTER mutanten et porteføljepass og når modellen (`ChatClientException`) — altså er nekten dét som holder en argv fra å koste noe. **Ingen betalt kjøring.** Begge funn er målt offline mot artefaktene og basen økt 98 etterlot. ## 4. Ærlighets-grenser, uttalt - F3 gjenoppretter **ikke** de to målte rundene (§ 1); den lukker asymmetrien. - Ingen LEVENDE modell har lest den nye nekten — at den faktisk endrer neste trekk er ikke bevist (structured-output-grensens klasse). - Den hostede flaten er **bevisst urørt** for `--require-cost-baseline` (feltet er i ingen av hostings tre sett, så den generiske 400-en svarer og Fase 4es to halvdeler står) — MAJOR-4s eget valg, gjentatt. - Stempelet sier fortsatt AT en kjøring var forankret, aldri HVILKEN projeksjon som forankret den.