Daily — 2026-06-04 (#490 → awaiting_promotion; #489 blocked at SP-identity gate; 3 workflow fixes shipped)
What happened
- #490 (dose-matched midpoint coupling) went proposed → awaiting_promotion in a single day: planned, approved, ran a full 7-pair × 3-seed sweep on a 4×H100 pod, then through the analyzer / interpretation-critic / clean-result-critic loop to a clean-result. Title: "Dose-matched midpoint coupling is indistinguishable from zero at small A-B separations (MODERATE confidence)." Hit one smoke-cell crash mid-flight (missing
lora_targetsfield insft.py, ported from #478, commitd1294cedd) → relaunched clean. Merged to main via the guard-3 surgical-additive path (branch was 215 commits behind; full rebase deferred — the standard guard-3 outcome). - #489 (does an ICL-context cosine read predict marker transfer) cleared 5 code-review rounds (one reconciler-bound FAIL on two real bugs in the Phase 5 analyzer), got approved and launched, then crashed in Phase 0a on a bad Anthropic model id; after the fix its SP-identity gate BLOCKED the run (SP03 draft 1 + draft 2 both verdict=different). Pod stopped to avoid idle 8×H100 burn. Currently parked (see Other problems).
- #474 followups drove a long interactive analysis session: cos-sim / JS-divergence vs log-prob across all prompts, per-class breakdown, quintile summaries, persona vs non-persona split, functional-form (log-x) fit comparison. Lots of figure rework (
fix y-label clipping,overlap fixes,drop format class — singleton C1 n=15). - 3 workflow fixes auto-applied + merged to main today (no re-proposal needed): (a)
codex-code-reviewernow inlines the implementation-marker body in its prompt — fixed #489 rounds 1-2 false-positivemarker-shape/smokeFAILs; (b)experimenterclears stale pod-side sentinel files before launch (#477); (c)poll_pipeline.pygraceful-degrades oversize (>50k) sentinel notes (#477). - #491 created (ICL vs finetuning equivalence: do in-context examples == SFT). #477 hit its planned H0 off-ramp at
rank_pick→ blocked (working as designed). PM session smoke-tested autonomous-session env propagation +/loopauto-continuation.
Proposed workflow improvements
-
Target:
.claude/skills/paper-plots/SKILL.md— what: add a "Scatter & regression-figure legibility" subsection codifying the figure fixes Thomas requested ~10 times today. Why: session36f40d22was a long loop of figure corrections that all map to missing rules:"This plot still has overlapping things","Make clearer what the y axis is exactly","Remove format from that plot"(a singleton n=1 class),"for cosine non stylized i feel like it looks like a straight vertical line","can we test how well the fit is for logarithmic?","can you show the p values on the plots". Mirrored in commits12682a63a(y-label clipping),6968fe6d2(overlap fixes),3c00d8bb3/3d112c0b2(drop singleton format class C1, n=15). SKILL.md currently covers plain-English labels and styling but says nothing about overlap, explicit y-axis quantity, singleton classes, or x-scale choice. Proposed edit:+ ## Scatter & regression-figure legibility + + For any predictor-vs-outcome scatter (the recurring cos-sim / JS-divergence + vs log-prob / leakage figures are the canonical case): + + - **Never ship overlapping points.** If markers pile up, use alpha<1, + small x-jitter, OR a quintile/bin summary (mean ± CI per bin) shown + ALONGSIDE the raw scatter — never the dense scatter alone. + - **Name the y-axis quantity in full.** The y-label must state the exact + measured quantity (e.g. "bystander marker log-prob, trained − base (nats)"), + not a bare "leakage" / "ΔG". + - **Drop or explicitly label singleton classes.** A level with n=1 (e.g. a + single "format" context) must not get its own series/panel — pool it or + annotate "n=1, not fit". + - **Choose the x-scale before fitting.** If the cloud is a near-vertical wall + on a linear x, try log-x and report fit quality for both; don't fit a line + through a degenerate x-range. + - **Show p-values on the figure** whenever a correlation is the claim. -
Target:
.claude/rules/code-style.md— what: add a one-line guard against hardcoding invalid Claude/Anthropic model ids in experiment scripts. Why: #489 Phase 0a crashed at first launch (failure_class: code reason: phase0a_sp_identity_check_invalid_anthropic_model_id):scripts/i489_phase0_sp_identity_check.py:121hardcodedclaude-sonnet-4-5-20251001— but the20251001suffix is Haiku 4.5's id, not Sonnet's. A wrong model id crashes at the first API call, wasting a launch + relaunch.code-style.mdloads on every*.pyedit and has no model-id guidance today; a canonical list already exists in CLAUDE.md and the globalclaude-apiskill. Proposed edit:+ - **Never hardcode an invented Claude/Anthropic model id.** The judge default + is `claude-sonnet-4-5`; canonical ids live in CLAUDE.md / the global + `claude-api` skill. A `*-20251001` suffix is **Haiku 4.5**, not Sonnet — do + not graft a date suffix onto a Sonnet id. Verify any hardcoded model string + against the canonical list before committing; a wrong id crashes the run at + the first API call (#489 Phase 0a, 2026-06-04).
Other problems & notes
- #489 is parked at
status:runningwith its pod stopped — after the model-id fix, the Phase 0a SP-identity gate blocked the run (SP03: both drafts verdict=different). The status never moved offrunning, so the board/PM see it as live when it isn't. Action: the #489 session needs to decide — repair the SP03 system prompt and relaunch, ortask.py set-status 489 blockedand surface the gate failure. (Borderline workflow gap: a session that postsepm:failure code+ stops the pod arguably should setblockedbefore exiting; left as a note because whether an SP-identity-gate block is recoverable is a per-experiment judgment, not a clean status-machine rule.) - #459 looks stuck —
status:runningbut no events since2026-06-02T01:02(last marker = code-review round-2 PASS). Its plan gated pod execution on parent #458 finishing; #458 is now inawaiting_promotion(done), yet #459 never postedepm:run-launched. Action: re-invoke/issue 459— the session that was holding it likely died after the code build. - #489 model-id bug is experiment code (
scripts/i489_phase0_sp_identity_check.py:121) — out of scope forworkflow-improver; fix the script directly via the #489 session /experiment-implementer. The recurring-class guard is Proposal 2. - Codex
post-spawn probe failedfired twice today (#489 jobtask-mq00rboz, #490 jobtask-mq0bize9) — both auto-retried and the next dispatch succeeded, so the retry-once policy held. No action; watch for it climbing (would point to acodex_task.pyprobe-timeout that needs raising). - #490 and #471 both deferred their full rebase at merge (
full_rebase_deferred: true, surgical additive checkout of figures + eval_results). This is the documented guard-3 outcome, not a bug — but the non-artifact commits on those issue branches won't reachmainuntil their parent branches merge. Action: none required; re-invocation retries the rebase once parents land. Noted for awareness only. - #477 oversize sentinel note (52,001 chars > 50,000 cap) surfaced today but was the trigger for one of the workflow fixes already merged (
poll_pipelinegraceful-degrade). Resolved.
My thoughts
Highlighted results
- no results promoted today