Files
waggle-os/docs/decisions/2026-04-20-preflight-oq-resolutions-locked.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

104 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LOCKED — Pre-Flight Gate Three OQ Resolutions
**Datum:** 2026-04-20
**Odobrio:** Marko Marković
**Status:** LOCKED — zatvara OQ-PF-1, OQ-PF-2, OQ-PF-3 iz `strategy/2026-04-20-preflight-gate-spec.md` §10
**Scope:** operativne i budžetske finalizacije pre-flight gate-a; nema daljih open question-a u Stage 0/1/2 strukturi
---
## OQ-PF-1 — Kategorijska proporcija Stage 2 sample-a
**Odluka:** ekvi-proporcija **13 single-hop / 13 multi-hop / 12 temporal / 12 open-ended** = 50 instanci, fiksni seed=42.
**Rezon:** Svrha Stage 2 nije reprodukcija Mem0 91.6% kao point estimate — to ostaje posao punog H-42a/b run-a na izvornoj LoCoMo distribuciji. Svrha Stage 2 je trostruka: (i) validacija cell isolation na harness-u, (ii) ordinal ispravnost full-stack ≥ memory ≥ raw, (iii) effect size full-stack raw sa minimum 10pp delta. Za ordinal comparison na istih-50 sample-u, distribucijska reprezentativnost je sekundarna — inter-cell razlika je robust na sample distribuciju jer svaka ćelija vidi istih 50 pitanja. Ekvi-proporcija maksimizira per-kategoriju visibility koja je kritična dijagnostička informacija za Stage 1 → Stage 2 eskalaciju.
**Alternativa koja je odbačena:** reprodukcija izvorne LoCoMo distribucije. Problem: ako LoCoMo nije otprilike 25/25/25/25, na sample-u 50 dobijamo kategorije ispod 10 instanci, što je ispod noise floor-a za per-kategoriju dijagnozu i poništava jednu od tri svrhe Stage 2.
**Ograničenje koje se eksplicitno prihvata:** full-stack accuracy na ekvi-proporcijskom 50-sample-u **nije direktan proxy za Mem0 91.6%**. Ako Stage 2 full-stack da 78%, to znači "signal iznad raw baseline u ordinal testu" — ne znači "H-42 će dati 78%". Mem0-uporedivost se meri odvojeno kroz OQ4 scoring validation na Mem0 paper sub-sample-u (`decisions/2026-04-20-harness-spec-4-oq-locked.md` §OQ4).
**Operativno:**
- Sample lock fajl `benchmarks/data/preflight-locomo-50.json` se bira proporcijom iznad, commituje u repo pre prvog Stage 2 run-a
- Harness mora da assertuje kategorijsku distribuciju pre pokretanja (fail-fast ako distribucija ne odgovara lock fajlu)
- Pre-flight spec §2 Stage 2 dobija eksplicitnu napomenu: "Stage 2 accuracy NIJE uporediv sa Mem0 91.6% — uporedivost se meri zasebno u OQ4 scoring validation"
---
## OQ-PF-2 — Re-run politika na Stage 2 fail
**Odluka:** **debugging loop sa istim sample-om**, bez sample zamene. Nije dozvoljeno povlačenje drugog sample-a od 50 pitanja ako prvi fail-uje.
**Rezon:** Cherry-picking rizik je kvantifikovan. Dva nezavisna pokušaja sa različitim sample-ovima udvostručuje verovatnoću false positive na p<0.05 (multiple testing problem). Ako se re-sample uvek dozvoljava, gate efektivno nije gate — samo je kašnjenje. U F2 scenario-u (near miss 80-84%), razlika 80% na sample-u A i 85% na sample-u B bez ikakve promene u kodu je manifest sample variance — ne stvarna accuracy razlika — i lažni pass koji bi iz toga proizašao pokvario bi celokupni H-42 claim.
**Alternativa koja je odbačena:** dozvoliti drugi sample ako prvi fail-uje uz argument "prvi je možda bio loš slučajni izvlak". Problem: isti argument važi u obrnutom smeru — ako prvi pass-uje a drugi bi fail-ovao, da li bismo ponovo izvlačili? Asimetrija u praksi kreira systematic bias ka pass-u.
**Izuzeci koji su formalno dozvoljeni:**
1. **Sample curation sa paper trail-om.** Ako fail analiza otkrije da N pitanja (N ≤ 5) sadrže legitimate scope gap — npr. entitete kojima stack strukturalno ne može da pristupi jer nisu u harvest pipeline-u, ili referenciraju LoCoMo kontekst koji naš ingest ne obrađuje — ta pitanja mogu biti **isključena** uz formalni zapis zašto u `preflight-results/stage-2-{ISO}-exclusions.md`. Isključena pitanja se **ne zamenjuju** drugim pitanjima. Posle svakog isključenja, minimum sample size mora da ostane ≥ 45 (10% gubitka gornja granica). Ispod 45, celokupni sample se odbacuje i radi se debugging pre nego što se komituje nova verzija sample-a.
2. **Deterministička scoring promena.** Ako se u fail analizi otkrije bug u scoring implementaciji (npr. neispravan alias matching, loš tokenizer), promena se primenjuje na **isti sample** — re-run je samo scoring prolaz, bez novih LLM call-ova. Cost: trivial. Ovo nije re-sample nego re-metrika.
3. **Deterministička harness promena.** Ako se otkrije harness bug (npr. cell isolation curi — verbose-fixed case aktivira retrieval), fix se testira prvo kroz Smoke kriterijum D iz harness spec-a (cell isolation integrity) pre punog re-run-a na istom sample-u.
Sve tri varijante moraju biti zabeležene u `preflight-results/stage-2-{ISO}-attempt-{N}.md` sa jasnim root-cause zapisom.
**Operativno:**
- Pre-flight spec §2 Stage 2 fail scenario tree dobija dodatak: "Pre re-run-a, Claude Code mora evidentirati root cause u attempt log-u i potvrditi da promena spada u jednu od tri dozvoljene varijante"
- PM review obavezna pre svakog re-run-a
- Maksimalno 3 attempta po Stage 2 sample-u; posle 3 fail-a bez resolution-a, eskalacija na Marko-a za go/no-go odluku
---
## OQ-PF-3 — Budžet formalizacija
**Odluka:** **formalno proširenje Block 4.3 sa $100 na $150.** Ne accepted overrun, ne re-alokacija iz drugog block-a.
**Rezon:** Scope je promenjen — 4-cell zahtev iz `decisions/2026-04-20-benchmark-7-obligations-locked.md` stigao je posle originalne Block 4.3 definicije u `waggle-os/docs/REMAINING-BACKLOG-2026-04-16.md`. Legitimate scope change zaslužuje legitimate budget amendment, ne overrun evidenciju. Ovo je najčistiji obrazac u zreloj finansijskoj praksi: novi scope → nova linija → jasni audit trail.
**Alternativa (a) odbačena:** accepted overrun sa evidencijom u finansijskoj review-u. Problem: kreira precedent "ako je razumljiv, overrun je OK". Svi overruns su razumljivi iz perspektive onih koji ih prave. Posle trećeg takvog, budžetska disciplina se erodira tiho.
**Alternativa (b) odbačena:** re-alokacija iz drugog block-a. Zahteva identifikovanje block-a sa viškom kapaciteta što je dodatan PM time u kritičnom trenutku pre pre-flight batch-a. Korisno kao vežba u redovnim finansijskim ciklusima, ne kao ad-hoc patch.
**Operativno:**
- `waggle-os/docs/REMAINING-BACKLOG-2026-04-16.md` Block 4.3 linija 117 se ažurira sa $100 → $150; comment u fajlu: "expanded 2026-04-20 via decisions/2026-04-20-preflight-oq-resolutions-locked.md §OQ-PF-3"
- Amendment entry u `PM-Waggle-OS/sessions/` log-u kao transparentan record
- Sledeća finansijska review (monthly cadence) vidi ovaj amendment kao retrospektivnu verifikaciju, ne kao surprise
- Verovatnoća da se budget opet pomera u Stage 2 implementaciji: niska (<10%), jer je $150 sa safety margin-om iznad $134 worst-case iz Stage 2 budget breakdown table-a
**Kolateralni benefit:** kreira obrazac formalnog scope-change process-a koji se skalira. Kada sledeći block dobije legitiman scope dodatak (bilo u $500 ili $5000 redu), isti obrazac se primenjuje bez ad-hoc pregovora.
---
## Status pre-flight gate-a posle ovih resolution-a
**Zatvoreno:**
- Struktura: Stage 0 Dogfood → Stage 1 mikro-eval 3-arm → Stage 2 LoCoMo 4-cell (amendment 2026-04-20)
- Sample: istih 50 LoCoMo instanci, 13/13/12/12 kategorijska distribucija, seed=42, commituje se u repo
- Pass kriterijumi: primarni ≥85% full-stack, sekundarni ordinal (full ≥ memory, full ≥ evolve, full > raw sa ≥10pp delta, bar jedan layer > raw)
- Fail tree: F1-F5 sa eskalacijama (root-cause → fix → re-run na istom sample-u pod tri dozvoljene varijante)
- Budget: $77-149, Block 4.3 proširen sa $100 na $150
- Re-run politika: isti sample, max 3 attempta, sample curation samo za legitimate scope gap ≤5 pitanja
**Ostaje otvoreno van pre-flight scope-a:**
- OQ4 scoring reimplementacija (odvojen post-pre-flight mini-sprint, LOCKED u `decisions/2026-04-20-harness-spec-4-oq-locked.md`)
- Verbose-fixed template draft (sledeći PM deliverable, ne blokira Stage 2 koji ne koristi verbose-fixed — ta kontrola ulazi u Week 2)
- CAPEX broj za cost model (Marko verifikuje u 7-14 dana)
**Blocking dependencies ispred pre-flight batch-a:**
1. CC Sprint 7 tasks PASS (Tasks 0-7 u `briefs/2026-04-20-cc-sprint-7-tasks.md`)
2. Task 7 four-cell harness scaffold merge-ovan u waggle-os
3. Sample lock fajl `benchmarks/data/preflight-locomo-50.json` commituje CC ili PM — ko god ima dataset access prvi
4. Stage 0 → Stage 1 → Stage 2 sekvencijalno sa Marko go/no-go između stage-ova
---
## Referenca
- Pre-flight gate spec: `strategy/2026-04-20-preflight-gate-spec.md`
- Stage 2 4-cell amendment: `decisions/2026-04-20-preflight-stage2-4cell-amendment.md`
- Original pre-flight LOCKED: `decisions/2026-04-20-preflight-gate-locked.md`
- Harness spec 4 OQ LOCKED: `decisions/2026-04-20-harness-spec-4-oq-locked.md`
- Four-cell harness spec: `strategy/2026-04-20-four-cell-harness-spec.md`
- 7 obligations LOCKED: `decisions/2026-04-20-benchmark-7-obligations-locked.md`
- Backlog Block 4.3: `waggle-os/docs/REMAINING-BACKLOG-2026-04-16.md` linija 117