6.8 KiB
Tie-break Policy — LOCKED
Datum: 2026-04-22
Sprint: 11 · Track B · Task B2 prerequisite
Authority: PM (Cowork, Claude Opus 4.7), confirmed by Marko 2026-04-22
Effect: B2 implementation UNBLOCKED. CC-1 cleared za packages/server/src/benchmarks/judge/ensemble-tiebreak.ts merge.
Supersedes: brief §3 B2 placeholder "Sonnet 4.6 kao fourth vendor" — fourth vendor is now xai/grok-4.20.
0. Verdict
LOCKED. Tie-break ladder za multi-vendor judge ensemble je trovrsta:
- 3-0 consensus → no tie-break, verdict trivijalan.
- 2-1 majority → no tie-break, verdict je majority.
- 1-1-1 split → trigger quadri-vendor call na
xai/grok-4.20. Verdict je 2-vote majority među četiri glasa. - 1-1-1-1 four-way split (sva četiri vendor-a različita) → PM escalation sa full vote vector dump i artefakt path.
Audit alarm: ako tie-break path (case 3 ili 4) prelazi 15% Stage 2 pitanja, hard stop sa PM ping. Razlog: signal da osnovna trojka nije dovoljno diversifikovana ili da rubrika nije dovoljno deterministička — oba scenarija invalidiraju Sprint 10 Task 2.2 Fleiss' κ=0.8784 metodologiju.
1. Vendor matrica nakon LOCK-a
| Pozicija | Slug | Provider | LiteLLM route | Uloga |
|---|---|---|---|---|
| Judge 1 | claude-opus-4-7 |
Anthropic | anthropic/claude-opus-4-20260201 |
Primary |
| Judge 2 | gpt-5.4-pro |
OpenAI | openai/gpt-5.4-pro |
Primary |
| Judge 3 | gemini-3.1-pro |
google/gemini-3.1-pro |
Primary | |
| Judge 4 (tie-break only) | grok-4.20 |
xAI | xai/grok-4.20 |
Quadri-vendor on 1-1-1 |
Vendor diversifikacija: Anthropic + OpenAI + Google + xAI. Četiri nezavisna training lineage-a, nula provider-overlap-a. Konsistentno sa Sprint 10 LOCK odlukom da je Claude-only trio (Opus 4.7 + Sonnet 4.6 + Haiku) odbijen zbog homogene pristrasnosti.
2. Zašto Grok 4.20, ne Sonnet 4.6
Originalna Opcija 3 u brief §3 B2 navodila je claude-sonnet-4-6 kao fourth vendor. Marko je 2026-04-22 redirektovao odluku: četvrti sudija mora da dođe iz potpuno nezavisne provider-familije.
Šta bi se dogodilo da je Sonnet 4.6 ostao:
- Tie-break poziv pravi 4-vendor ensemble strukture 2 Anthropic + 1 OpenAI + 1 Google.
- Anthropic dobija 50% težine na rezolucijama gde drugi vendor-i ne mogu da se slože.
- Opus i Sonnet dele velike delove istog post-training corpus-a; verovatnoća da glasaju identično na rubrically-amibiguous case-u je strukturalno viša nego za par iz različitih familija.
- To je tačno suprotno od onoga što Sprint 10 LOCK-ovani princip ("multi-vendor zbog bias diversification") traži.
Zašto Grok 4.20:
- Released 2026-03-31, 2M context, lowest hallucination rate on market u nezavisnom benchmark-u koji smo verifikovali tokom PA v5 rada.
- Već wired u
D:\Projects\waggle-os\litellm-config.yamlkao deo PA v5 frontier judge ensemble-a (commit od 2026-04-17). - xAI key (
XAI_API_KEY, 84 chars) potvrđen uD:\Projects\waggle-os\.env. - Nula nove infrastrukture, nula novog troška za setup.
Zašto ne Grok 4.3 Beta ili Grok 5:
- Grok 4.3 Beta locked iza SuperGrok Heavy tier ($300/mo). Dodatni op-cost neopravdan za tie-break path koji se očekuje u <15% slučajeva.
- Grok 5 i dalje u training-u per public xAI roadmap (May 2026 ETA).
- Grok 4.20 je "latest available" za production use bez tier upgrade-a.
3. Implementaciona obaveza za CC-1 (B2)
Brief §3 B2 ostaje na snazi sa jednom delta-om:
Delta: Svaki references na claude-sonnet-4-6 ili Sonnet 4.6 u tie-break path-u → zameniti sa grok-4.20 (LiteLLM route xai/grok-4.20).
Konkretno:
- Funkcija
resolveTieBreak(votes: Vote[])upackages/server/src/benchmarks/judge/ensemble-tiebreak.ts:- Quadri-vendor branch poziva
xai/grok-4.20(ne Sonnet 4.6). TieBreakResult.path = 'quadri-vendor'ostaje isti string token (path semantika nepromenjena).
- Quadri-vendor branch poziva
- 4 unit testa ostaju isti scenariji:
- 1-1-1 split → trigger quadri-vendor call na grok-4.20, verifikuj da je tie-break-call poslat sa correct system prompt + rubric payload.
- 1-1-2 split → already majority, no tie-break call.
- 2-1-1 split → majority wins (2 glasa = verdict), no tie-break call.
- 3-0 consensus → trivijalan verdict, no tie-break call.
- Observability: pino log
tie_break.path∈{none, majority, quadri-vendor, pm-escalation}per case +tie_break.fourth_vendor_slugkad path = quadri-vendor (uvekgrok-4.20u Sprint 11 scope-u, ali field je future-proof). - Budget cap nepromenjen na $0.20 za grok-4.20 calls u unit testu. xAI pricing comparable Anthropic Sonnet, no cost surprise.
- Wall-clock estimate nepromenjen na 2-3h.
PM LOCK ovog dokumenta precedes B2 merge per brief §6 exit criterion #5.
4. Anti-patterns (HARD STOP signali za CC-1)
- Predlozi da se Opus 4.7 koristi kao tie-break umesto grok-4.20 → HARD STOP. Opus je već Judge 1 — vraća na 2 Anthropic problem.
- Predlozi da se preskoči quadri-vendor i odmah ide na PM escalation za 1-1-1 → HARD STOP. PM escalation je rezervisana samo za 1-1-1-1 (četiri različita verdikta), ne za 1-1-1 (gde tri vendor-a već definišu pasterijski 3-element vote vector).
- Predlozi da se Grok 4.3 Beta ili Grok 5 koristi → HARD STOP. Nije dostupan na našem tier-u, validacija budžeta i SLA su nedovršene.
- Predlozi da se reasoning_content fid u tie-break payload → HARD STOP. Preusmerava na A2 anti-pattern §4 ratifikacionog dokumenta.
5. Audit threshold (15% trigger)
Ako tokom Stage 2 full-run-a (H-42a/b) tie-break path (quadri-vendor + pm-escalation cumulative) prelazi 15% od ukupnih pitanja, harness HALT i ping PM. Tri moguća uzroka i odgovor:
- Trojka osnovni vendor-a previše divergentna → revisit rubric kalibracija pre nastavka.
- Sample skew (pitanja na granici domena rubrike) → curate sample, dokumentuj u decision doc, re-run.
- Stvarna meta-disagreement na rubric-edge case-ovima → eskalacija u Sprint 12 rubric refresh.
Nijedan od ova tri scenarija nije fail-state — svi su signal da metodologija traži update pre launch claim publication.
6. Reference
- Sprint 11 brief §3 B2:
briefs/2026-04-22-cc-sprint-11-kickoff.md - Sprint 10 multi-vendor scope LOCK (Claude-only trio rejected):
decisions/2026-04-22-sprint-11-scope-locked.md(relevantni odeljak iz Sprint 10 carry-over) - LiteLLM route file (grok-4.20 wired):
D:\Projects\waggle-os\litellm-config.yaml - xAI key live:
D:\Projects\waggle-os\.env(XAI_API_KEY, 84 chars, present 2026-04-22) - Sprint 10 Task 2.2 Fleiss' κ=0.8784 metodologija (mora ostati na snazi):
project_sprint_10_scope_locked.md(.auto-memory) - A1 ratifikacioni doc (paralelni LOCK na A2 reasoning_content scope):
decisions/2026-04-22-h-audit-1-design-ratified.md
Sign-off: PM (Cowork, Claude Opus 4.7) on behalf of Marko Marković, 2026-04-22.