Skip to content

Drop unused robot_name from TableRow (DB has only embodiment)#508

Merged
ElmoPA merged 1 commit into
mainfrom
elmo/drop-tablerow-robot-name
Jun 19, 2026
Merged

Drop unused robot_name from TableRow (DB has only embodiment)#508
ElmoPA merged 1 commit into
mainfrom
elmo/drop-tablerow-robot-name

Conversation

@ElmoPA

@ElmoPA ElmoPA commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

robot_name was declared in TableRow but app.episodes has only the embodiment column.
The strict column check in episode_hash_to_table_row raised on it, crashing any
conversion that reaches it (e.g. force re-converts). It was never populated as a real
column; add_raw_data_to_table already omits it. Removed the field and the only
constructor still passing it (external/scale/scripts/sfs_zarr_pipeline.py).

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

robot_name was declared in TableRow but app.episodes has only the embodiment column.
The strict column check in episode_hash_to_table_row raised on it, crashing any
conversion that reaches it (e.g. force re-converts). It was never populated as a real
column; add_raw_data_to_table already omits it. Removed the field and the only
constructor still passing it (external/scale/scripts/sfs_zarr_pipeline.py).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

ElmoPA commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ElmoPA ElmoPA marked this pull request as ready for review June 19, 2026 23:30
@github-actions

Copy link
Copy Markdown

Claude Code Review

Summary

Removes the unused robot_name field from TableRow since the SQL schema (app.episodes) only has an embodiment column, and the strict column check in episode_hash_to_table_row was crashing on it.

Key concerns

  1. Verify no other callers pass robot_name. The PR description claims the Scale pipeline was the "only constructor still passing it," but a repo-wide check should confirm — any other call site (e.g., Aria/Eva/Mecka conversion scripts, test fixtures, notebooks under egomimic/scripts/) would now hit a TypeError: unexpected keyword argument. Worth grepping for robot_name= and TableRow( before merging.

  2. Historical data with robot_name in serialized form. If TableRow is ever pickled/JSON-serialized to disk or cached (e.g., in dataset manifests), older artifacts containing robot_name could fail to deserialize. Likely a non-issue since it was never a real column, but worth a quick check.

  3. Embodiment string mismatch. The removed Scale row used embodiment="scale" but robot_name="scale_bimanual". Per conventions, embodiment strings should match the canonical enum. If the correct embodiment is actually scale_bimanual, this PR silently drops that information rather than fixing it. Please confirm "scale" (not "scale_bimanual") is the intended embodiment for Scale data — otherwise existing Scale rows in the DB may be mislabeled and this PR makes that harder to notice later.

Suggestions

  • Run rg "robot_name" egomimic/ external/ tests/ to confirm full removal.
  • Add a brief regression test (or extend an existing one) that round-trips a TableRow through episode_hash_to_table_row for a force re-convert path — that's the exact bug being fixed and a test prevents reintroduction.
  • Clarify in the commit message whether embodiment="scale" is correct, or open a follow-up to reconcile Scale's embodiment enum.

Verdict: Approve (with comment)

Small, well-scoped cleanup that fixes a real crash. Please verify the grep and the Scale embodiment value before merging.


Reviewed by Claude · Review workflow

@ElmoPA ElmoPA merged commit 833abe9 into main Jun 19, 2026
3 of 5 checks passed
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