moving
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled

This commit is contained in:
Oleg Maslov
2026-09-02 10:10:29 +02:00
commit 0c3e2ead3b
3841 changed files with 970576 additions and 0 deletions

View File

@@ -0,0 +1,139 @@
# CC-1 — Day 2 AM Kickoff Brief
**Datum:** 2026-04-22 PM (issued for 2026-04-23 AM start)
**Sprint:** 11 · Pre-flight readiness
**Day 1 close:** 3/10 exit kriterijuma CLOSED (A1, B1, C1)
**Day 2 ceiling:** $0.30 ukupno · hard alarm 130% = $0.39
**Owner:** CC-1
**PM:** Marko + Cowork
---
## Šta tražim
Tri zadatka **paralelno** u Day 2 AM (A2 + B2 + B3). Svi su unblocked. Day 1 ratifikacioni gateway je prošao 2026-04-22 EOD; sve PM LOCK odluke su zaključane i referencirane dole.
---
## Task A2 — reasoning_content capture (harness only)
**Scope:** SAMO reasoning_content extraction po design doc §6 (7 koraka). turnId plumbing je već LIVE na HEAD `e1ae0a4` (≥50 hits, 9 fajlova) — **NE re-implementiraj generator ni threading.**
**Authoritative dokumenti:**
- Design doc: `D:\Projects\waggle-os\docs\plans\H-AUDIT-1-DESIGN-DOC-2026-04-22.md` (commit `008deac`)
- PM ratifikacija sa 5 odgovorenih open questions: `D:\Projects\PM-Waggle-OS\decisions\2026-04-22-h-audit-1-design-ratified.md`
**Eksplicitne odluke iz ratifikacije (mora se poštovati):**
1. **Parser precedence — DUAL-SHAPE, redom:**
- `body.choices?.[0]?.message?.reasoning_content` (DashScope native primary)
- `body.choices?.[0]?.message?.reasoning` (OpenRouter unified, current bridge)
- `body.reasoning_content` (legacy fallback)
2. **Observability:** `llm.response` pino event MORA imati `reasoningShape: 'message.reasoning_content' | 'message.reasoning' | 'body.reasoning_content' | 'unknown'`. Emit `reasoning_content_shape_unknown` warning ako thinking=true a nijedan shape nije present (no throw).
3. **Persistence:** isti JSONL row, net-new fields `reasoning_content` + `reasoning_content_chars` na `JsonlRecord`. Read-path pruning kroz `readJsonl(path, { includeReasoning: false })`. Write-path uvek full.
4. **Retention:** Tier 1 sprint-internal probes pruned at sprint close (gitignored `benchmarks/results/`). Tier 2 launch-claim runs (H-42a/b) gzipped to `benchmarks/archive/*.jsonl.gz`, 12mo minimum.
**HARD STOP signali (anti-patterns §7 design doc-a):**
- Ne dirati turnId generator (`turn-context.ts:29 generateTurnId()`).
- Reasoning_content NIKAD u frames / memory / KG / UI / MCP payload.
- Reasoning_content NIKAD u judge prompt (invalidira Sprint 10 Task 2.2 Fleiss' κ=0.8784 lock).
**Budget:** $0
**Exit ping:** `D:\Projects\PM-Waggle-OS\sessions\2026-04-22-sprint-11-h-audit-1-exit.md`
**CLOSE kriterijum:** §4 design doc rows 47 green (rows 13 već green na HEAD).
---
## Task B2 — Tie-break policy implementacija
⚠️ **VENDOR SWAP DELTA vs originalni Sprint 11 brief §3 B2:**
Originalna verzija je navela `claude-sonnet-4-6` kao fourth vendor. **Marko je 2026-04-22 LOCKED zamenu na `xai/grok-4.20`.**
**Authoritative LOCK dokument (mora pročitati pre koda):**
- `D:\Projects\PM-Waggle-OS\decisions\2026-04-22-tie-break-policy-locked.md`
**Konkretna implementacija:**
- **Novi fajl:** `packages/server/src/benchmarks/judge/ensemble-tiebreak.ts`
- **Interface:** `resolveTieBreak(votes: Vote[]): TieBreakResult` gde:
```ts
type TieBreakResult = {
verdict: string;
path: 'majority' | 'quadri-vendor' | 'pm-escalation';
votes: Vote[];
};
```
- **Quadri-vendor branch:** poziva `xai/grok-4.20` (LiteLLM route). NE Sonnet 4.6, NE Opus 4.7, NE Grok 4.3 Beta.
- **xAI infra:** `XAI_API_KEY` (84 chars) live u `D:\Projects\waggle-os\.env`. Route `xai/grok-4.20` već wired u `litellm-config.yaml` (od PA v5, 2026-04-17). Nula nove infrastrukture.
- **4 unit testa:**
1. `1-1-1` split → trigger quadri-vendor call na `xai/grok-4.20`, verifikuj system prompt + rubric payload
2. `1-1-2` split → already majority, no tiebreak call
3. `2-1-1` split → majority wins, no tiebreak call
4. `3-0` consensus → trivial verdict, no tiebreak call
- **Observability:** pino log polja `tie_break.path` ∈ `{none, majority, quadri-vendor, pm-escalation}` + `tie_break.fourth_vendor_slug` (uvek `grok-4.20` u Sprint 11 scope-u, ali field future-proof).
- **Integracija:** u postojeći ensemble orchestration path (Sprint 10 Task 2.2 ratified ensemble: Opus 4.7 + GPT-5.4 + Gemini 3.1).
**HARD STOP:**
- Ne predlaži Opus 4.7 kao tie-break (već je Judge 1).
- Ne predlaži Sonnet 4.6 (vraća na 2-Anthropic problem, suprotno od Sprint 10 multi-vendor odluke).
- Ne predlaži Grok 4.3 Beta (locked iza SuperGrok Heavy $300/mo, nije na našem tier-u).
**Budget cap:** $0.20 za grok-4.20 calls u unit testu (xAI pricing comparable Anthropic Sonnet, no cost surprise).
**Wall-clock:** 2-3h
**Exit ping:** `D:\Projects\PM-Waggle-OS\sessions\2026-04-22-sprint-11-b2-tiebreak-exit.md` sa: commit hash, test results (4/4 expected green), pino log sample sa `tie_break.*` fields, jedan example actual quadri-vendor call cost.
---
## Task B3 — Opus 4.6 route audit
**Scope:** klasifikuj sve reference na claude-opus / claude-sonnet model snapshotove i alias-e u kodu, izveštaj sa preporukom za naming convention LOCK.
**Konkretni koraci:**
1. `grep -rn "claude-opus\|claude-sonnet-4" packages/server/ packages/cli/`
2. Za svaku referencu klasifikuj:
- **(a) dated snapshot** (npr. `claude-opus-4-6-20251014`, `claude-opus-4-7-20260201`)
- **(b) floating alias** (npr. `claude-opus-4-6`, `claude-opus-4-7`)
- **(c) provider-prefixed** (npr. `anthropic/claude-opus-4-7`)
3. Output report fajl: `D:\Projects\waggle-os\docs\reports\opus-4-6-route-audit-2026-04-22.md`
- Tabela: file path → line → reference → klasa (a/b/c) → preporuka (zadržati / migrate na pinned snapshot / migrate na floating alias)
4. PM review report → ja izdajem `decisions/2026-04-22-model-route-naming-locked.md` LOCK convention.
**Budget cap:** $0.10 (read-only audit, samo grep + classify)
**Wall-clock:** 1-2h
**Exit ping:** `D:\Projects\PM-Waggle-OS\sessions\2026-04-22-sprint-11-b3-opus46-audit-exit.md` sa: report file path, count by class, top 3 najprioritetnijih cleanup-a.
---
## Day 2 AM execution rules
**Paralelizam:** A2 + B2 + B3 mogu trčati istovremeno (no inter-dependence). Predlog redosleda po complexity load: B3 (najlakši, čisti audit) → B2 (mid, treba unit testovi) → A2 (najteži, harness extension).
**Cumulative budget Day 2:** $0.30 ($0 + $0.20 + $0.10). Hard alarm at 130% = $0.39. Ako tokom rada vidiš da grok-4.20 unit testovi pretiti da preskoče $0.20 cap → STOP, ping PM, ne nastavi.
**Logging:** sve LIVE pozive (B2 unit testovi, eventualni A2 smoke verifikacija) loguj sa `cost_usd` i `latency_ms` u test output.
**Exit kriterijumi za Day 2 AM blok:**
- A2 CLOSED → §4 design doc rows 47 green + exit ping fajl postoji
- B2 CLOSED → 4/4 unit testovi green + LOCK doc reference verifikovan u commit message + exit ping fajl
- B3 CLOSED → report fajl postoji + classification complete + exit ping fajl
Kada sva tri exit ping-a budu na disku, PM (Cowork) izdaje Day 2 AM close memo i autorizuje C2 (Stage 1 mikro-eval) za Day 2 PM ili Day 3 AM.
---
## Reference (sve pročitati pre koda)
| Dokument | Path |
|---|---|
| Sprint 11 master brief | `D:\Projects\PM-Waggle-OS\briefs\2026-04-22-cc-sprint-11-kickoff.md` |
| A1 ratifikacija (A2 scope LOCK) | `D:\Projects\PM-Waggle-OS\decisions\2026-04-22-h-audit-1-design-ratified.md` |
| H-AUDIT-1 design doc | `D:\Projects\waggle-os\docs\plans\H-AUDIT-1-DESIGN-DOC-2026-04-22.md` (commit `008deac`) |
| Tie-break policy LOCK (B2 vendor swap) | `D:\Projects\PM-Waggle-OS\decisions\2026-04-22-tie-break-policy-locked.md` |
| Stage 2 config LOCK (kontekst) | `D:\Projects\PM-Waggle-OS\decisions\2026-04-22-stage-2-primary-config-locked.md` |
| Sprint 11 scope LOCK | `D:\Projects\PM-Waggle-OS\decisions\2026-04-22-sprint-11-scope-locked.md` |
| Day 1 status | `D:\Projects\PM-Waggle-OS\sessions\2026-04-22-sprint-11-day-1-status.md` |
| LiteLLM config (vendor routes) | `D:\Projects\waggle-os\litellm-config.yaml` |
---
**Idi.**