sail-judge · 2026-07-14 · fourth in the series — The Question Mark Problem · Seven Signals · Bandits, Recapped
Everything running today, solid-bordered. Everything designed but not built, dashed. One parked research thread, dotted. Not a plan document — a map of exactly where the edges of "built" currently are.
01Grounding — where the numbers come from
Slamecka & Graf; Roediger & Karpicke; the JOL confidence paradigm; Wood, Bruner & Ross (1976). Grounds all 7 arms.
sail-wqs3Construct sanity-check on the taxonomy itself. Draft written, not sent — a real gate, just no longer blocking iteration speed.
sail-1w41GAT/panproto cooperation — a concrete Goodhart-classification problem to react to, not a vague check-in. Draft written, not sent.
sail-ltu0Pre-registered, real learner-outcome data. The actual fix for cheap proxies — everything else here is instrumentation until this exists.
Real, hand-curated connection-making — slow to accumulate. Will ground role/persona choice via an ML distillation step, not a live lookup.
sail-i9j302sail-judge — the live agent (running on trullala)
Now: raw message-count thresholds (messagesSinceQuestion, sinceLastReply) — the dumb piece, unchanged since v1.
Planned: fast signal distilled from Zone 01's real curation data.
Beta(α,β) per arm, sample-and-pick-highest. Proven regret bound — already optimal for whatever reward it's given.
Cheap regex/word-overlap proxies, one per arm, matched to a Goodhart variant. Feed bandit.reward() directly.
Pluggable — Ollama on pad, ScaDS on trullala (faster, fixed the echo problem as a side effect).
Opt-in (SAIL_JUDGE_PARALLEL_JUDGE), comparison-only. First live disagreement caught immediately (trullala, bare "yes" reply).
03Data & observability
Append-only. Source of truth — everything else here is a rebuildable view over it.
Independent from drain.duckdb. Migrations (Django-style, JS), derived feature columns, SCRIPT_VERSION + SCHEMA_VERSION + COMMIT_SHA on every row.
Per-arm Goodhart checks, all 4 trend-capable arms now checked for intensifying drift, not just presence. Judge-agreement report.
Lens-mapped vocabularies over raw signal; shortlists drifting arms instead of a uniform report; hands the shortlist to a human.
sail-oj4n04Deployment
Dev/testbed. Ollama backend, ~10–15s per generation.
Unattended, systemd --user (restart-always), ScaDS backend, sub-2s generation. Independent of pad being on.
·Parked, deliberately not in this flow
Would relocate the Goodhart problem into RLHF's reward-model-overoptimization failure mode, not solve it. Connected to AIDLE's own Third Axis (RLHF / RLVR / GAT) framing.
sail-g715