Files
waggle-os/docs/decisions/2026-04-24-pm-ratify-v5-throttle.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

3.8 KiB
Raw Blame History

LOCKED — PM-RATIFY-V5-THROTTLE Verdict, §1.3c PASS

Date: 2026-04-24 Ratified by: Marko Marković (via PM adjudication) PM: claude-opus-4-7 (Cowork) Prerequisite gate: §1.3b IN_SCOPE → P4 path → manifest v5 emit + §1.3c throttle verification

Odluka

§1.3c PASS ACCEPT — manifest v5 emit zatvoren, throttle probe v2 zatvoren, naming reconciliation i sibling alias defensive sweep apsorbovani u v5 audit trail. CC-1 može da napreduje na §1.3e RPD feasibility check kao naredni sub-gate (uvedeno post-§1.3c jer se 250 RPD per-project ceiling pojavio late-stage tokom Marko discovery-ja u GCP Console).

Manifest v5 emission

  • Anchor: fc16925
  • MD SHA: 9062b9f5...
  • YAML SHA: b4dc90cb...
  • Predecessor: manifest v4 anchor dedd698 (immutable, audit-record only)
  • Throttle declaration: rpm: 20 na gemini-3.1-pro alias eksplicitno u v5 §0.5 delta log + §5.x ops-config sekcija
  • Concurrency control: concurrency: 1 declared

§1.3c throttle probe v2 results

  • 30 calls u 90s window-u, clean foreground kickoff
  • 30/30 HTTP 200, 0 × 429
  • Wall-clock: 99.5s (probe target ≤90s + drift acceptable)
  • Commit: 3a146ef
  • Log SHA: 429ec2ee...
  • Memo SHA: c48efee...

Verdict: rpm:20 throttle empirically validated. LiteLLM-side rate limiter funkcioniše per-alias kako je manifest v5 deklarisao.

Fold-in 3.5a — naming reconciliation

PM brief (originalno) referencirao gemini-3.1-pro-preview (upstream model name). CC-1 implementacija primenila rpm:20 na gemini-3.1-pro alias (CLI-used). Oba route-uju na isti upstream gemini/gemini-3.1-pro-preview.

Verdict: internally consistent (alias → upstream mapping je 1:1). Reconciliation dokumentovan u manifest v5 §0.5 delta log:

  • Brief notation: upstream model name
  • Implementation notation: alias name (CLI-used by runner)
  • Both refer to same physical endpoint

Commit e5696f4, new MD SHA dcbc5da0....

Fold-in 3.5b — sibling alias defensive sweep

Risk identified: gemini-3.1-pro-preview alias (sibling, not edited) je expose-ovan — bilo koji non-Stage-3 caller na tom aliasu bi exhausted shared upstream 25 RPM pool tokom Stage 3 run-a.

Defensive grep sweep result:

  • 7 unique files sa references na sibling alias
  • 0 active callers
  • Reference loci: models.json:122 (OpenRouter-bucket fallback config, dormant), tests, eval scripts, Tauri bundle, dokumentacija
  • SHA: f13893d5..., 276 lines

Defensive remediation: CC-1 mirror-edit na gemini-3.1-pro-preview alias (rpm:20 applied) regardless of zero active callers, kao belt-and-suspenders pattern. Commit d0ab680.

Verdict: PRECAUTION ACCEPT. Cost = 0 (alias unused), benefit = guaranteed isolation čak i ako se neki future code-path probudi tokom Stage 3 window-a.

Parent commit chain (since v4 anchor dedd698)

fc16925  v5 anchor (MD/YAML pre-registration)
ad324cc  Step 2 primary rpm:20 (gemini-3.1-pro alias)
3a146ef  §1.3c probe v2 PASS (30/30 HTTP 200)
e5696f4  Fold-in 3.5a alias naming reconciliation
d0ab680  Fold-in 3.5b sibling alias defensive mirror

5 commits od v4. HEAD 373516c izmenjen samo na litellm-config.yaml + manifest v5 emit + probe artefakti — sve pod v5 authority.

Posledice za Task #29

  • §1.1 Path L-1 ✓
  • §1.2 Task 2.6 path ✓
  • §1.3 FAIL → §1.3b IN_SCOPE ✓ → §1.3c PASS ✓
  • §1.3e RPD feasibility introduced kao naredni sub-gate (250 RPD discovery)
  • GATE-D-REKICK-GO blocked until §1.3e ratifikacija + (Google approval ako INFEASIBLE)

Odbacivanja

  • rpm:15 ili niže: nije potrebno; 30/30 PASS @ rpm:20 znači da imamo 25% headroom ispod Google 25 RPM hard cap-a. Dalja redukcija bi povećala wall-clock bez benefita.
  • Probe v3 (60 calls / 180s): probe v2 sufficient kao validation; dalji probe troši Google quota bez incremental information gain-a.