Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00e5f62c8e |
@@ -55,26 +55,35 @@ In normal sessions, invoke the pod's tools instead of reviewing/debugging inline
|
|||||||
|
|
||||||
Each call logs an outcome to ingestion → `/pass-rate` ticks up.
|
Each call logs an outcome to ingestion → `/pass-rate` ticks up.
|
||||||
|
|
||||||
## Step 3 — the flywheel (cold-start behavior is the gate)
|
## Step 3 — how routing actually picks the model
|
||||||
|
|
||||||
The router's cold start **is** the data gate — same loop:
|
Per `internal/routing/policy.go`:
|
||||||
|
|
||||||
1. With pass-rate `nil` (cold), the policy routes to the **thinking / cloud**
|
1. pass-rate `nil` (cold) → **local** fast tier. The router defaults to local
|
||||||
model — it won't trust the local fast model without history.
|
from invocation #1, not to cloud — so the fast tier is exercised immediately.
|
||||||
2. As `review` / `debug` accumulate **passes**, pass-rate climbs past the floor
|
2. pass-rate `>= 0.90` (floor) → **local**; `< 0.70` (ceil) → **cloud/thinking**;
|
||||||
(`HYPERGUILD_ROUTE_LOCAL_FLOOR=0.90`) and the router starts sending those
|
in the `[0.70, 0.90)` band a request-hash bit samples 50/50.
|
||||||
skills to the **local fast tier**.
|
3. On a local execution error the router falls open to the thinking model for
|
||||||
3. So early calls "pay in" on cloud to build the record; then the local tier
|
that one call (logged `thinking_fallback`).
|
||||||
activates automatically. Exercising the traffic is what spins it up.
|
|
||||||
|
|
||||||
The fast tier is now **`koala/qwen36-35b-a3b`** (Qwen3.6-35B-A3B MTP), promoted
|
So you are not "paying in on cloud" — cold calls already run on the (validated)
|
||||||
2026-06-29 after clearing the tool-call gate (infra `c66a195`,
|
local fast tier **`koala/qwen36-35b-a3b`** (Qwen3.6-35B-A3B MTP, promoted
|
||||||
`HYPERGUILD_FAST_MODEL`).
|
2026-06-29, infra `c66a195`, `HYPERGUILD_FAST_MODEL`). Accumulating passes just
|
||||||
|
keeps it there once real pass-rate is computed.
|
||||||
|
|
||||||
|
> **Instrumentation note (#73, fixed 2026-06-30):** until v0.11.1 the pod logged
|
||||||
|
> successes as `"skip"` (not `"pass"`), under `skill:"_routing"`, via an
|
||||||
|
> unauthenticated POST that silently 401'd — so `/pass-rate` stayed at zero no
|
||||||
|
> matter how much you used it. That's fixed and verified (a real review call now
|
||||||
|
> moves `/pass-rate?skill=review` 0→1). If you see traffic not registering,
|
||||||
|
> re-check #73's three failure modes first.
|
||||||
|
|
||||||
## Target & verification
|
## Target & verification
|
||||||
|
|
||||||
- **50 logged invocations** across `review` + `debug` within the 14-day window
|
- **50 logged invocations** across `review` + `debug` within the 14-day window.
|
||||||
(opened 2026-06-26, **kill-date 2026-07-10**) → ~4–5 calls/day.
|
The clock restarts **2026-06-30** (the day instrumentation was verified working;
|
||||||
|
the original 2026-06-26→07-10 window measured broken plumbing) → **kill-date
|
||||||
|
2026-07-14**, ~4 calls/day (1 already logged from the #73 smoke test).
|
||||||
- Check progress anytime:
|
- Check progress anytime:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
Reference in New Issue
Block a user