Skip to content

docs(plans): record J8 W1 as shipped and correct the format assumptions - #449

Merged
physercoe merged 1 commit into
mainfrom
j8-plan-w1-status
Jul 29, 2026
Merged

docs(plans): record J8 W1 as shipped and correct the format assumptions#449
physercoe merged 1 commit into
mainfrom
j8-plan-w1-status

Conversation

@physercoe

Copy link
Copy Markdown
Owner

W1a/W1b/W1c are merged (#446/#447/#448), so the plan moves to In progress and gains what implementation actually found.

Two corrections to the plan's own premises

Both from reading real LeRobot metadata rather than the format docs:

  • v3.0 is the dominant generation now, not the newer edge case — every canonical lerobot/* dataset on HF main is v3.0. §2 read as though v2.1 were the common case.
  • v2.1 ships no meta/stats.json at all — that file arrives with v3.0 — so dataset-level statistics must be folded from meta/episodes_stats.jsonl. The plan didn't anticipate the fold, and it turned out to be the wedge's strongest test: folding a dataset's v2.1 stats reproduces the same dataset's v3.0 stats.json across all 10 features to 2.5e-9. Different files, different formats, different decoders — no shared code below the comparison.

Shape traps only real files expose

  • names has three shapes in one file: null, a list, and an object. Feature dimension therefore comes from shape, never len(names).
  • A v3.0 column named data/chunk_index is one flat name containing a slash, not a nested group. Reading it as a path finds nothing — indistinguishable from "this dataset has no offsets".
  • tasks.parquet's task-string column is __index_level_0__ in curated datasets but task in freshly recorded ones.

Plus the parquet-go v0.25.0 pin forced by Go 1.23.

W1d scoped honestly

§4 assumed #393's menu machinery covered the Inspect handoff. InspectTree in fact has only root-level and panel-level context menus — the per-file row menu doesn't exist, and building it is the wedge.

Two §11 decisions amended, not claimed

Doc-only; lint-docs clean.

🤖 Generated with Claude Code

W1a/W1b/W1c are merged (#446/#447/#448), so the plan moves to In
progress and gains what implementation actually found.

Two corrections to the plan's own premises, both from reading real
LeRobot metadata rather than the format docs:

  - v3.0 is the DOMINANT generation now, not the newer edge case; every
    canonical lerobot/* dataset on HF main is v3.0. §2 read as though
    v2.1 were the common case.
  - v2.1 ships no meta/stats.json at all — that file arrives with v3.0 —
    so dataset-level statistics must be FOLDED from
    meta/episodes_stats.jsonl. The plan did not anticipate the fold, and
    it turns out to be the wedge's strongest test: folding a dataset's
    v2.1 stats reproduces the same dataset's v3.0 stats.json across all
    10 features to 2.5e-9.

Also recorded: the three shape traps that only real files expose
(`names` has three shapes including an object; a v3.0 column name
containing a slash is flat, not nested; tasks.parquet's task-string
column is named `__index_level_0__` in curated datasets but `task` in
freshly recorded ones), and the parquet-go v0.25.0 pin forced by Go 1.23.

W1d is scoped honestly: §4 assumed #393's menu machinery covered the
Inspect handoff, but InspectTree has only root-level and panel-level
context menus — the per-file row menu does not exist and IS the wedge.

Two §11 decisions are amended rather than claimed: #4's staleness
indicator is half-shipped (the fingerprint is stored, nothing re-stats to
compare it), and #1's keyframe assumption is still unverified against
real v3 video.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@physercoe
physercoe merged commit 8e6cb3a into main Jul 29, 2026
4 checks passed
@physercoe
physercoe deleted the j8-plan-w1-status branch July 29, 2026 04:52
physercoe pushed a commit that referenced this pull request Jul 29, 2026
Implementation review of the four overnight lanes (teleport D-7/T2
#424#428, archgraph W1–W5 #430#436, transcript P5 #437#445, J8 Replay
W1 #446#449). Two findings, both fixed here; everything else verified
clean — lane-by-lane verdicts recorded in the review notes.

- datasets: all four write statements (register INSERT, PATCH, DELETE,
  digest-refresh UPDATE) ran on the multi-connection READ pool `s.db`.
  Every other hub write goes through `s.writeDB`, the dedicated
  one-connection writer pool (server.go: "ALL writes"), precisely so
  SQLite never sees two writer connections; on the read pool a concurrent
  registration and digest refresh can hit SQLITE_BUSY. Switched all four.
  Full hub suite green.

- vram: the KV-class calibration comment overstated its two upper-bucket
  examples by exactly 2× — MiniMax-M2 is ~248 KB/token (2·62·8·128·2,
  class 'moderate', not 'high') and Gemma-3-27B ~496 KB (2·62·16·128·2,
  'high'). The thresholds and tests are correct; only the prose was wrong.
  Comment-only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
physercoe added a commit that referenced this pull request Jul 29, 2026
The #424-#449 implementation review found the four `datasets` writes on the
multi-connection read pool and moved them to `s.writeDB` (5ae5c5f). This is
the same defect one file over, and the only other instance outside tests:
`sessionAgentIDs`' read-repair materializes `sessions.agent_ids_json` through
`s.db`.

It matters more here than the write count suggests, because this write is
deliberately best-effort (`_, _ =`). The whole point of the one-connection
`writeDB` pool is that SQLite never sees two writer connections; on the read
pool a concurrent write can return SQLITE_BUSY, and here that error is
swallowed by design. So the failure mode is not a visible error — it is the
archived-session cache silently never materializing, and every later digest
read paying the full GROUP BY scan that #118 added this column to avoid.

Co-authored-by: Ubuntu <ubuntu@ip-172-26-2-239.us-west-2.compute.internal>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant