Spaces:
Running on T4
Validation reporting β staging branch
Install the Claude Code plugin
The simready-report plugin ships as a Claude Code marketplace under
validation/.claude-plugin/. From a checkout of this repo, run inside Claude Code:
/plugin marketplace add <path-to-repo>/validation
/plugin install simready-report@simready-playbook
That registers two slash commands: /simready-report and /simready-package.
You still need a Python with the SimReady runtime deps and the foundations + sdk
checkouts on disk β see To run the demo as-is below.
Read
PROBLEMS.mdbefore trusting any reportReports produced by this prototype lean on a local patch for PROBLEMS.md P1: without it, every Robot-Body profile silently drops 4 of its 5 declared features at load time, because the foundation
repo usd_profiles_codegenstep doesn't read the JSON variant definitions next to each feature's markdown. A "passing" report againstRobot-Body-Runnablewould only have checked 1 feature out of 5.The patch lives in
plugins/simready-report/skills/simready-report/validate.pyand is loud about itself β every run prints a[PATCH P1]line. With the patch active,Robot-Body-Runnableresolves to 5/5 features, 41 requirements instead of 1/8.The dashboard's Caveats panel still surfaces the gap if anyone runs without the patch.
PROBLEMS.mdP1 has the full root cause, the patch walkthrough, and the upstream fix path. The patch is meant to be temporary β once foundations codegen is fixed, delete_patch_register_json_variant_features()and its call site.
Status: demo / review staging. Not part of
simready-explorerproper yet.This directory is a verbatim copy of the prototype work currently living at
loginowskid/simready-playbook, dropped here on thedev/dloginowski/validation-reportingbranch so the SimReady team can review the artifact before we refactor it into the repo's existing library + skills patterns.
What this is
A Claude-Code-driven validation reporting pipeline for SimReady customer assets.
On top of the existing omni.asset_validator engine and SimReady profile registry,
it adds:
- HTML dashboard with summary cards, per-asset feature pass/fail, an asset filter, and a "Other failed requirements" panel for issues outside the loaded profile.
- External-dependencies provenance report β walks USD composition arcs per asset, classifies each layer as internal/external relative to the target, records actions taken to obtain each.
- Foundation doc rendering β renders the markdown source for every feature/requirement code referenced by the report into HTML inside the output.
- Auto-packaging convenience β for a raw asset bundle under
assets_to_validate/<name>/, runssimready ingest usdper interface USD before validating against the packaged tree. - Spec selector β
--list-profilesenumerates registered profiles so the user can pick a SimReady profile interactively. - Parallel asset validation β
ProcessPoolExecutorworkers, default auto.
Two slash commands ship together as a single Claude Code plugin:
/simready-reportβ validate + dashboard + provenance + docs./simready-packageβ standalone packaging (no validation).
Layout (mirrors the source repo)
validation/
βββ bootstrap.ps1 # Windows convenience installer
βββ marketplace.json # Claude Code marketplace manifest
βββ plugins/simready-report/
β βββ plugin.json
β βββ skills/
β βββ simready-report/ # HTML dashboard + validation
β βββ simready-package/ # standalone packaging
βββ playbooks/
βββ foundations-deviations.md # observed gaps between specs and asset_validator
Why it doesn't fit the repo's existing patterns yet
simready-explorer already ships source/libraries/validate/ with a clean
public API (validate_asset, validate_asset_list, etc.) and three skills in
the agentskills.io/specification format (validate-asset, validate-batch,
validate-metadata). The work in this validation/ directory:
- Reinvents a thinner version of
simready.validate.validate_asset_listβ this is duplication that should be removed during integration. - Uses a different skill format (Claude Code marketplace plugin) β should be
rewritten as
agentskills.ioskills that call into the library. - Is a standalone-script architecture (
python validate.py β¦) β should be exposed via the existingrepo.bat/ library entry points.
Proposed integration after review
- New skill
validate-reportundersource/libraries/validate/src/validate/skills/validate-report/β instructional doc that drives a newsimready.validate.reportmodule. - New module
source/libraries/validate/src/validate/report/containing the dashboard renderer, doc renderer, external-deps tracker, thumbnail mirrorer β extracted fromreport.py+external_deps.pyand adapted to consumeAssetValidationResultinstead of the rawomni.asset_validatorissue stream. - Optional new skill
validate-packageβ thin wrapper aroundsimready ingest usd(independent of validation). - Drop
bootstrap.ps1/marketplace.json/ Claude-Code-plugin layout β not relevant here; the team usesrepo.bat+_build/flow.
To run the demo as-is
The scripts in this directory are self-contained and need a Python with the
SimReady runtime deps installed plus the foundations + sdk checkouts on disk.
Easiest path on Windows: & bootstrap.ps1 (creates a venv at
%LOCALAPPDATA%\simready\ and persists SIMREADY_PYTHON /
SIMREADY_FOUNDATIONS_PATH / SIMREADY_SDK_PATH env vars). On other systems
or custom layouts, install the deps into your Python and set those env vars
manually.
After that:
python plugins/simready-report/skills/simready-report/validate.py \
<path-to-asset-bundle> --profile Robot-Body-Isaac --version 1.0.0
Output lands at <bundle>/.reports/<bundle-name>.<profile>/index.html.