16 KiB
Sprint 12 Scope — Draft Skica
Datum: 2026-04-22 (Sprint 11 Day 2 PM, drafted u anticipaciji Sprint 12 kickoff-a) Author: PM (Marko Marković) Status: 📝 DRAFT — ratifikacija se očekuje na Sprint 12 kickoff session-u Trajanje: 5-7 radnih dana projected (Task 1 ~2-3 CC-1 sesije, Task 2 1 sesija, Task 4 anchor task 1-2 sesije) Total budget projected: $1420-2500 LLM spend (Task 2 + Task 4); $0 za Task 1 (infra-build, zero LLM)
1. Purpose
Ovaj dokument je working draft Sprint 12 scope skice, spreman za ratifikaciju na Sprint 12 kickoff session-u. Sprint 11 zatvara se 9/10 CLOSED sa C3 DEFERRED → Sprint 12 Task 1 per Path C verdict (sessions/2026-04-22-c3-standdown-path-c-ratified.md). Sprint 12 svrha je: (a) infra-backfill A3 LOCK v1 substrate, (b) izvršenje C3 Stage 2 mini kao pre-requisite za H-42a/b authorization, (c) izvršenje H-42a/b pune eval-e kao SOTA launch-gating signal.
Nije execution authorization. Nije LOCKED. Služi kao substrate iz kojeg se Sprint 12 kickoff brief derivuje.
2. Task taxonomy
| Task | Naslov | Trajanje (CC-1 sesije) | LLM budget | Zavisnost |
|---|---|---|---|---|
| 1 | Infra-build (6 blockera + 2 non-blocking) | 2-3 | $0 | Sprint 11 close ratified |
| 2 | C3 Stage 2 mini execution | 1 (+1 buffer) | $120-200 cap $250 | Task 1 CLOSED |
| 3 | B4 finalization + H-42a/b pre-flight gate | 0.5 (PM-side) | $0 | Task 2 PASS |
| 4 | H-42a/b execution (6120 evals) | 1-2 (anchor) | $1300-2300 cap $2600 | Task 3 authorization |
3. Task 1 — Infra-build (6 blockera dependency-ordered)
Svrha: Backfill A3 LOCK v1 runtime substrate tako da C3 i H-42a/b mogu biti verbatim-executed bez brief relaxation-a. CC-1 engineering only, $0 LLM spend (sve lokalno development + test).
Acceptance gate za Task 1 CLOSURE: 6 blockera CLOSED + 2 non-blocking kompletisani + B3 addendum §5 implemented + smoke test za full invocation shape-a runner-a pass-uje na 10-instance dry run (bez actual LLM calls — mock client za substrate verification).
Dependency DAG:
#1 Dataset loader ──┐
#2 Cell enum rename ┤
├──> #5 Metric computation (reads from loader + cells)
#3 Pre-reg CLI ──┤
#4 Judge registry ┤
├──> #6 Failure taxonomy (reads from judge + metrics)
B3 addendum §4/§5 ──┘
Blocker #1 — LoCoMo dataset loader
Trajanje estimate: 3-4h Acceptance criteria:
benchmarks/data/locomo/sadrži N=1540 canonical LoCoMo instance fajlove ili single archive (JSONL/JSON) saconversation_id+question+gold_answer+categorypoljima.datasets.ts:121više ne silent-fallback-uje na 60-instance synthetic set. Loader throwsDatasetMissingErrorako canonical path missing.dataset_versionhash (SHA-256 of canonical archive) emitted kao pre-registration manifest field i JSONL row header.- 10-instance smoke test (bez LLM calls, samo loader verification) pass.
Why first: Sve ostale blocker-e zavise od real dataset-a. C3 mini (400 evals) bez real LoCoMo ne proizvodi SOTA signal.
Blocker #2 — Cell enum rename
Trajanje estimate: 2-3h Acceptance criteria:
cells.ts:54-86key-ovi promenjeni saraw|memory-only|evolve-only|full-stack→raw|filtered|compressed|full-contextper A3 LOCK §cell-taxonomy.isCellNametip guard updated.- Svi cell-specific testovi pass.
- Sprint 10 JSONL artifakti re-keyed ili annotirani sa
legacy_cell_namepolje (PM odluka za Sprint 12 kickoff brief: hipoteza prepisivanje jer su Sprint 10 artefakti pre-publication; backward-compat fallback opcija samo ako PM eksplicitno ratifikuje).
Why parallel with #1: Nezavisan od dataset loader-a (pure type refactor), može ići paralelno sa #1 u istoj CC-1 sesiji.
Blocker #3 — Pre-registration CLI surface
Trajanje estimate: 4-5h Acceptance criteria:
runner.tsparseArgs dodaje:--manifest-hash <sha256>,--emit-preregistration-event,--per-cell,--judge-tiebreak <policy>flagove.- Novi modul
benchmarks/harness/src/preregistration.tssa pino-compatible event emitter zabench.preregistration.manifest_hashevent. - Emitter payload sadrži:
manifest_sha256,manifest_path,run_id,timestamp_utc,dataset_version_hash,target_model_pinningblock (per B3 addendum §4 YAML schema). - H-AUDIT-2 spot-verification test harness može match-ovati run-start event sa committed YAML SHA-256 u A3 LOCK twin-u.
Why after #1/#2: Event emitter reads from loader + cells state, tako da mora biti after dataset + enum sanity.
Blocker #4 — Judge model registry
Trajanje estimate: 2h Acceptance criteria:
config/models.jsonextended sa entry-ijima zaclaude-opus-4-7(Surface B default + dated alias variant),gpt-5.4,gemini-3.1,grok-4.20.- Svaki entry ima: LiteLLM route, pricing input/output per 1M token,
pinning_surface(A ili B per B3 addendum),carve_out_reasongde primenljivo. createJudgeLlmClientresolves all four bez errors.- Cost accounting attribution works end-to-end (test: 100-token mock call kroz svaku od 4 rute, total cost u USD computed correctly sa tolerance ±$0.0001).
Why parallel with #3: Nezavisan od CLI surface-a (config-only), može ići paralelno sa #3 u istoj CC-1 sesiji.
Blocker #5 — Metric computation
Trajanje estimate: 4-6h Acceptance criteria:
- Fleiss' κ mid-run sa baseline 0.7458 anchor (Sprint 10 baseline) + HALT threshold < 0.60 trigger.
- Wilson 95% score CI (per-cell aggregate score, asymmetric bounds za small-sample correctness).
- Cluster-bootstrap 95% CI (10K iterations, seed 42 fixed, cluster variable =
conversation_idper A3 LOCK §7). - Aggregate output JSONL emit-uje sve tri metrike alongside failure taxonomy distribution.
- Unit test: poznat input (50 mock evals sa known verdict distribution) reproduces analytically-expected κ, Wilson bounds, cluster-bootstrap bounds within numerical tolerance.
Why after #1+#2: Metric reads from dataset + cell-keyed results.
Blocker #6 — Failure taxonomy F1-F6 judge rubric integration
Trajanje estimate: 3-4h Acceptance criteria:
judge-runner.tsjudge prompt proširuje rubric sa F1-F6 + null + F-other kategorijama per A3 LOCK §6.- JSONL rows emit-uju
verdict+failure_code+failure_rationalepolja per judge per instance. - Unit test: mock judge response sa svakom od 8 kategorija (F1-F6, null, F-other) parse-uje correctno.
Why last: Judge runner reads from judge registry (#4) + cell-keyed inputs (#2) + metric aggregation schema (#5).
Non-blocking kompletacija A — B3 addendum §4/§5 implementation
Trajanje estimate: 1-2h (uglavnom piggy-backs na #3 i #4) Acceptance criteria:
- JSONL row schema dodaje
model_pinning_surface,model_pinning_carve_out_reason,model_revision_hashpolja. - Pre-registration manifest emitter (#3) extend-uje
target_model_pinningblock per B3 addendum §4 YAML schemu. - Integration test: single dry run sa DashScope Qwen + Anthropic Opus judge ensemble produces manifest + JSONL sa correct pinning surface annotations per row.
Non-blocking kompletacija B — Smoke test suite
Trajanje estimate: 1-2h Acceptance criteria:
- 10-instance dry-run (mock LLM clients) kroz full runner invocation shape per C3 brief §4.
- Verifies: dataset loaded (1540 count), cell enum correct keys, pre-reg event emitted sa valid YAML SHA-256, judge registry resolves all 4, metrics computed (κ/Wilson/bootstrap placeholders od mock data), failure taxonomy attached.
- $0 LLM spend (mock clients only). Execution time < 60 sekundi.
Why: Ovo je Task 1 CLOSURE gate — ako smoke test pass-uje, Task 1 je CLOSED i Task 2 može kick-ovati.
Task 1 agregirani estimate
- Total CC-1 hours: 15-22h (dependency-ordered, neke parallelizable — #1+#2 together, #3+#4 together, #5/#6 linear).
- Total CC-1 sessions: 2-3 (po 6-8h realnog engineering work-a sa break-ovima).
- LLM spend: $0 (mock clients samo, no real API calls u Task 1).
- Risk: Ako #1 dataset sourcing duži od očekivanog (LoCoMo canonical license/access issue), Task 1 se extend-uje. Fallback: Sprint 12 Task 1 brief eksplicitno imenuje data-sourcing kao #0 (pre-blocker-1).
4. Task 2 — C3 Stage 2 mini execution
Svrha: Izvršiti C3 brief (briefs/2026-04-22-cc-c3-stage2-mini-kickoff.md) verbatim posle Task 1 CLOSURE, uz minimalne updates za Blocker 2 rename (cell enum novi key-ovi) i Blocker 4 judge ensemble literal (eksplicitna concrete model ID lista).
Parametri:
- 4 cells × 100 instances = 400 total evals
- Judge ensemble:
claude-opus-4-7,gpt-5.4,gemini-3.1(Surface B za Opus, Surface A za GPT/Gemini per B3 addendum) - Budget: $120-200 cap $250 per C3 brief §3
- Exit criteria: 11 per C3 brief §5 (aggregate score trend, κ ≥ 0.60, Wilson CI width ≤ 6pp per-cell, failure taxonomy distribution, et al.)
- Abort triggers: 6 per C3 brief §6 (κ collapse, cost overrun, judge availability)
Ratification gate: PM (Marko) ratifikuje Task 1 CLOSURE → CC-1 kickuje Task 2 per C3 brief §4 invocation template (minor flag adjustments za rename + judge literal).
Projected outcome: Ako PASS (per §5 thresholds), B4 final memo unlock-uje za H-42a/b execution authorization (Task 3).
5. Task 3 — B4 finalization + H-42a/b pre-flight gate
Svrha: Po C3 mini PASS-u, PM potpisuje B4 final memo kao "execution-approved" umesto "methodology intent". Dvojni dokument evolution:
- Update B4 memo (
decisions/2026-04-22-stage-2-full-kickoff-memo.md): Status "FINAL" → "EXECUTION-APPROVED". Section 2 reframe iz "zavisi od Sprint 12 Task 2" u "Task 2 PASS-ovan sa [scores/κ/CI], H-42a/b unlock authorized". - Pre-flight checklist dry run: Substrate readiness §0 re-check (per
feedback_substrate_readiness_gate.md): grep evidence da sva Task 1 work ostaje intact (dataset hash match, enum unchanged, CLI flags functional, judge registry resolves, metrics testovi pass, event emitter live). Ako bilo koji substrate regression, R4 risk trigger-uje (per B4 memo §7 R4).
Trajanje: 30-60 min PM-side, 30-60 min CC-1 substrate re-check. Budget: $0.
6. Task 4 — H-42a/b execution
Svrha: Pre-registration-conformant puna eval-a za SOTA-gated launch signal.
Parametri:
- H-42a (Qwen primary): 4 cells × 1540 instances × 3 judges (sve judges agreement-based per B2 tie-break policy) = 4620 evals operational count (instance-judge pairs aggregate). Estimated LLM cost $1000-1700.
- H-42b (Opus probe): Reduced eval (1500 instances subset per B4 memo §3) za probe signal za cross-model validation. Estimated LLM cost $300-600.
- Total: 6120 evals cumulative operational count, $1300-2300 LLM spend cap $2600.
Exit criteria (per A3 LOCK §10 + B4 memo §5):
- STRONG-PUBLISHABLE: Aggregate score ≥ 91.6% (Mem0 reper matched/surpassed) + κ ≥ 0.75 + Wilson CI lower bound ≥ 88% per-cell + failure taxonomy distribution consistent with Sprint 10 baseline.
- PUBLISHABLE: Aggregate score 88-91.5% + κ ≥ 0.70 + Wilson CI lower bound ≥ 85%.
- WEAK: Aggregate score 85-87.9% + κ ≥ 0.65. Launch narrative adjusts tone — not "SOTA matched" nego "competitive with published".
- FAIL: Aggregate score < 85% or κ < 0.60. Halt. Triggeruje post-mortem + potencijalno Sprint 13 deep-dive.
Abort triggers:
- Cumulative cost exceeds $2600 hard cap → HALT.
- Live κ drops below 0.60 at 25% checkpoint → HALT, post-mortem.
- Any single judge model unavailable for > 30min → HALT, retry with reduced ensemble option (PM call).
Ratification gate: Task 3 B4 execution-approved + substrate §0 re-check passed → CC-1 kickuje H-42a, then H-42b.
7. Sprint 12 total budget
- Task 1: $0 LLM (pure infra)
- Task 2: $120-200 cap $250
- Task 3: $0
- Task 4: $1300-2300 cap $2600
- Total Sprint 12 projected spend: $1420-2500, hard cap $2850
Budget rationale: Sprint 12 je execution-heavy anchor sprint. Unlike Sprint 11 koji je budget-conservative ($0.018893 cumulative), Sprint 12 investira u signal-gating evidence za SOTA launch claim. Cost-per-signal je ~$0.40-0.50 per eval, acceptable za pre-registration-conformant benchmark.
8. Sprint 12 success criteria (exit condition)
- Task 1 CLOSED (6 blockera + 2 non-blocking + B3 addendum implementation verified).
- Task 2 PASS per C3 brief §5 thresholds.
- Task 3 B4 execution-approved + substrate §0 re-check clean.
- Task 4 H-42a/b completed sa verdict u STRONG-PUBLISHABLE ili PUBLISHABLE kategoriji.
- Sprint 12 close memo documented sa scores + κ + CI + cost ledger + next-sprint implications (Sprint 13 likely = launch narrative + brand assets finalization ako Task 4 STRONG-PUBLISHABLE).
Ako Task 4 verdict je WEAK ili FAIL, Sprint 12 close memo documentuje to evenhandedly i Sprint 13 preuzima post-mortem + remediation scope umesto launch narrative.
9. Risks i mitigations
R1 — Task 1 duže nego projected (substrate issues surface kasno): Sprint 12 extend-uje za 1-2 dana. Mitigation: #0 pre-blocker dataset sourcing check na samom kickoff-u.
R2 — Task 2 FAIL na C3 mini: Ne ide u Task 4 dok se uzrok ne ustanovi. Mitigation: post-mortem obavezan, potencijalni re-run sa adjusted thresholds (PM call, NE brief relaxation bez explicit LOCK revisit).
R3 — Task 4 cost overrun: Hard cap $2600 halt-uje pre nego što budžet eksplodira. Mitigation: live cost tracking emitter, alert na 80% threshold.
R4 — Substrate regression između Task 1 i Task 4: B4 memo §7 R4 mitigation (substrate §0 re-check pre Task 4 kickoff-a).
R5 — Provider drift (κ collapse mid-run Task 4): HALT + post-mortem. A3 LOCK §10 protokol triggeruje.
R6 — Judge model unavailability (API outage): Retry-with-reduced-ensemble opcija + PM call za proceed/halt decision.
10. Open questions za Sprint 12 kickoff brief
- Legacy JSONL handling (Blocker 2 rename): Prepisivanje Sprint 10 artefakata novim key-ovima, ili
legacy_cell_namepolje za backward-compat? Hipoteza prepisivanje (Sprint 10 je pre-publication), ali PM odluka obavezna pre Task 1 kickoff-a. - Canary drift-detection subset (B3 addendum §3): Da li Sprint 12 Task 1 uvodi 50-instance canary set za drift monitoring, ili se to defer-uje u Sprint 13? Trenutni default: defer.
- Task 4 H-42b probe scope: 1500 instances subset je trenutni estimate; alternative 2000 instances za tighter Wilson CI (trošak +$80-120). PM call na kickoff-u.
- B4 memo evolution path: Da li update DRAFT-u ili novi "EXECUTION-APPROVED" verzioni fajl? Preporuka: update in-place jer je B4 već jedna-datoteka autoritativ.
- Sprint 13 preview: Ako Task 4 STRONG-PUBLISHABLE, Sprint 13 scope je launch narrative + brand + wiki publication. Ako WEAK, Sprint 13 je remediation. Oba skica ne drafted dok Task 4 verdict nije poznat.
11. Related
decisions/2026-04-22-bench-spec-locked.md— A3 LOCK v1 (strategy intact, Sprint 12 Task 1 backfill-uje runtime)decisions/2026-04-22-bench-spec-locked.manifest.yaml— A3 LOCK YAML twindecisions/2026-04-22-stage-2-full-kickoff-memo.md— B4 final memo, reframed to "execution-gated"decisions/2026-04-22-b3-lock-dashscope-addendum.md— B3 addendum za non-Anthropic pinning surfacebriefs/2026-04-22-cc-c3-stage2-mini-kickoff.md— C3 brief source (execution-deferred, ne superseded)sessions/2026-04-22-c3-blocked-substrate-gap.md— CC-1 pre-kick verification + 6-blocker taxonomysessions/2026-04-22-c3-standdown-path-c-ratified.md— Path C verdict.auto-memory/feedback_substrate_readiness_gate.md— §0 grep evidence protokol.auto-memory/project_sprint_11_c3_deferred_path_c.md— Sprint 11 close state
DRAFT — awaits PM ratification na Sprint 12 kickoff session-u. Open pitanja §10 blokiraju direct execution-LOCK; Task 1 kickoff čeka PM clarifikaciju na #1 (legacy JSONL) minimum. Remainder open pitanja mogu biti resolved inline tokom Sprint 12 tok-a.