Skip to content

fix: address PR #84 follow-up items (registry tests, asset presence check, dead code removal)#106

Merged
cagataycali merged 1 commit intostrands-labs:mainfrom
cagataycali:fix/pr84-followup
Apr 27, 2026
Merged

fix: address PR #84 follow-up items (registry tests, asset presence check, dead code removal)#106
cagataycali merged 1 commit intostrands-labs:mainfrom
cagataycali:fix/pr84-followup

Conversation

@cagataycali
Copy link
Copy Markdown
Member

Summary

Addresses all 5 follow-up tasks from issue #105 (spawned at PR #84 merge).

Changes

Task 2: Registry resolution guard (tests/test_registry_resolves.py)

  • Parametrised test over all 68 robots in robots.json
  • Validates: asset fields present, path safety (no ..), XML extensions, API resolve
  • 322 tests — covers both sim-capable and hardware-only robots
  • Catches upstream layout regressions (the asimov_v0.xmlxmls/asimov.xml class of bug)

Task 3: Lightweight asset presence check (assets/manager.py)

  • Added is_robot_asset_present(name) -> bool — pure filesystem check, no auto-download, no mesh walk, no network
  • Rewired list_available_robots() to use it, avoiding download attempts during status queries

Task 5: Remove dead dedup check (utils.py)

  • if user_cache not in paths was always True (paths starts empty) — removed dead check
  • Kept the meaningful cwd_assets dedup (matters when CWD == assets dir)

Tasks 1 & 4: Already done

Testing

322 passed in 0.26s  (new registry tests)
 83 passed in 0.16s  (existing test_utils + test_registry + test_registry_integrity)

Closes #105

Tasks completed:
- Task 1: SimWorld._model/_data/_backend_state docstring — already done in
  PR strands-labs#84 merge, verified present in models.py
- Task 2: Add test_registry_resolves.py — parametrised over all 68 robots,
  validates asset fields, path safety, XML extensions, and API resolve. 322
  tests covering sim + hardware-only robots
- Task 3: Add is_robot_asset_present() — lightweight filesystem-only check
  (no auto-download, no mesh walk, no network). Rewired
  list_available_robots() to use it for status queries
- Task 4: Fix stale [mujoco] extra reference — already corrected to
  [sim-mujoco] in download.py line 16 during PR strands-labs#85, verified
- Task 5: Remove dead dedup check in get_search_paths() — 'user_cache not in
  paths' was always True since paths starts empty. Removed the dead check,
  kept the meaningful cwd_assets dedup

Closes strands-labs#105
@cagataycali cagataycali merged commit 7228af3 into strands-labs:main Apr 27, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in Strands Labs - Robots Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Follow-up: address review items from PR #84

2 participants