diff --git a/.gitignore b/.gitignore index 298538f4..904e4dc1 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ test_patterns/ __pycache__/ *.pyc *.jsonl +soak-patterns/ diff --git a/CLAUDE.md b/CLAUDE.md index 299fa528..eb244ba2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -347,7 +347,19 @@ fix flows to every page automatically; two hand-written HTML pages never will. default `behavior_v2`); the runner asserts it via `log_control` and the bridge ACKS the level it will actually write (`bridge.waitForLogLevelAck`) — a pre-3.0 bridge never acks, so treat "no ack" as behavior_v1. Never write `log_format` into - `run_metadata` from anything but the acked/inferred level. + `run_metadata` from anything but the acked/inferred level. **The format authority for every + row and event (FicTrac rows, `a`, controller `cc`/`cf`/`cs`, all `{type:"log"}` events), the + three-clock model and the round-trip recipe is `docs/development/telemetry-logging-reference.md`.** +- **Controller telemetry rows + stimulus quality (v0.77, fw `sdfast`):** `cf` rows carry three OPTIONAL trailing fields + (`req_age_us`, `superseded`, `flags`) from ring-v2 firmware (0xCB flags bit 5) — readers must accept 8- or + 11-element `cf` rows and STATE kinds 11–13 (`sd_layout`/`sd_slow_ctx`/`sd_reads`, reads = arg << code). `GET_SD_INFO` + 0xCD is gated on 0xCB bit 5 only. Per-trial pass/flagged/unknown verdicts come from `js/trial-quality.js` (fed from + the drainer in ring order, dedup by seq; fail = any read or request age > 10 ms; `unknown` never becomes `pass`) → + `display_gap` + `trial_quality` run-log events; the Studio flags, never auto-excludes. Offline analysis: + `scripts/telemetry-report.py` (also reads the firmware repo's `scripts/sd_stall_test.py` logs). The 30–90 ms card stalls were + firmware FAT access (chain-walking seeks + `fatGet` at cluster crossings), proven by the 4-arm causal test on 2026-09-13 and + removed by the contiguous-seek fast path — never re-introduce per-seek chain walks; see + `docs/development/mode3-reliability-handoff-2026-09-14.md`. - Bump the footer version/timestamp on every edit; never Prettier the HTML. - **Telemetry ring — four rules from the 2026-09-12 Codex review (all tested):** (1) the ONLY gate diff --git a/arena_studio.html b/arena_studio.html index 82511ea3..b86f4e66 100644 --- a/arena_studio.html +++ b/arena_studio.html @@ -2959,7 +2959,7 @@