SimReady Add Runtime Test
SkillDocs & knowledgeUse for adding or updating SimReady Foundation runtime tests in a tier-owned Benchmark test package, wiring the package through the tier descriptor and wheel, and keeping feature/profile documentation and test registration synchronized. Delegates generic Benchmark mechanics and independent test-pack packaging to the installed simready-benchmark skills.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the SimReady Add Runtime Test skill
What this skill tells your AI
The instructions your AI receives, as published by nvidia/simready-foundation in skills/simready-foundation-add-runtime-test/SKILL.md and read by ahel’s review.
Purpose
Use this skill when static validators are not enough to prove that a feature or
profile works in a runtime, and the runtime evidence must live in the SimReady
Foundation repository. Runtime tests are authored in the owning tier's
importable <test-package> and executed through the simready-benchmark plan,
run, stamp, and report pipeline. The core tier currently uses
simready_benchmark_kit_suite; other tiers may publish a different import
package and must declare it through their descriptor's runtime_tests_path.
This skill is deliberately scoped to the Foundation-repository wiring. The
generic mechanics of authoring, packaging, running, and reporting benchmark
tests are owned by the simready-benchmark library's own agent skills; do not
duplicate them here. Use those skills for the test-authoring and pipeline
mechanics, and use this skill for how a test is placed into this repository and
kept in sync with the Foundation docs, feature manifests, and profiles.
Do not hand-edit generated plans, result JSON, or report artifacts. Change the Python test source, its documentation, and focused tests instead.
Delegate Mechanics to the simready-benchmark Library Skills
The external simready-benchmark library ships its own agent skills that are the
source of truth for the framework mechanics. Locate them with
simready-benchmark --skills-path, then read and follow the relevant one:
write-test-pack- the@testdecorator, required metadata (features,name,description,expected_video,version,engine,config_defaults,max_duration),RunContextusage, media roles, config-driven tests, and packaging/discovery through thesimready_benchmark.testsentry-point group.run-tests- plan, run, and report a suite against a profile.diagnose-failures- read a report and propose a scoped re-run.
Treat the installed library skills as authoritative for API names and flags; they match the installed framework version. This skill only adds what those skills do not know: the Foundation repository's layout, docs, and spec bindings.
What This Skill Owns (Foundation-Specific)
- Deciding whether the test belongs to a Foundation tier. A test that proves a
tier-owned feature should ship with that tier. An independent OEM or
experimental test pack that does not own the feature should use the
Benchmark
write-test-packskill and either an independent wheel or an explicit development path. - Placing a tier-owned test directly under
nv_core/tiers/<tier-directory>/<test-package>/fet###_*and focused unit tests undernv_core/tiers/<tier-directory>/tests/runtime_tests/unit/. The package name comes from the owning tier descriptor; it is not globally fixed. - Keeping the tier wheel's package list and its
simready.tierdescriptor'sruntime_tests_pathsynchronized. The descriptor points directly at the importable test package directory; it does not point at aruntime_testscontainer. - Keeping the canonical
FET_###_<RUNTIME>decorator entry and semantic version constraint synchronized with the owning feature manifest and profile TOMLs. The decorator is the executable feature-to-test binding; feature manifests do not carry a separateruntime_testsselector. The current@testdecorator has norequirementargument, so document the requirement or behavioral contract in the test description and matching Foundation docs. - Updating the matching documentation under the owning
<test-package>/docs/directory and any feature/profile acceptance text that promises this runtime evidence. The documentation assembler publishes the tier-declared source at the stableguides/benchmark/tests/URL.
Prerequisites
Before editing, read:
AGENTS.mdnv_core/sr_specs/docs/guides/benchmark/benchmark.mdnv_core/sr_specs/docs/guides/benchmark/overview.mdnv_core/sr_specs/docs/guides/benchmark/pipeline.mdnv_core/sr_specs/docs/guides/benchmark/running.mdnv_core/sr_specs/docs/guides/benchmark/reading-reports.mdnv_core/tiers/<tier-directory>/<test-package>/docs/tests.md(or the landing page declared by that test package)nv_core/tiers/<tier-directory>/<test-package>/docs/authoring.mdnv_core/tiers/<tier-directory>/pyproject.tomlnv_core/tiers/<tier-directory>/simready/foundation/<tier-module>/_tier.pynv_core/tiers/<tier-directory>/<test-package>/nv_core/tiers/<tier-directory>/tests/runtime_tests/unit/- relevant feature/profile docs that need runtime evidence
- the neighboring runtime tests for the same feature family
Inputs
Collect or infer:
| Input | Requirement |
|---|---|
runtime_goal | Behavior to prove, such as drop/settle, articulation motion, rendering, or importability. |
feature_or_profile | Feature/profile requiring runtime evidence. |
asset_scope | Representative assets and the validation/feature selection that makes the test applicable. |
ownership | Tier-owned feature evidence, independent published pack, or unpublished development pack. |
test_identifier | Unique @test name and semantic test version. |
test_module | Python module in the matching FET package. |
engine | Required Kit/Isaac engine tags and supported version range. |
test_config | Defaults exposed through config_defaults, including thresholds and timeouts. |
expected_artifacts | Metrics, logs, images, video, result JSON, and HTML report evidence. |
Instructions
Use this checklist when changing the repository. It covers the Foundation-specific
wiring only; follow the simready-benchmark library skills (see above) for the
@test authoring, packaging, and pipeline mechanics.
- Decide whether runtime evidence is required by the feature/profile or only useful as supplementary confidence.
- Read the matching feature manifest and feature documentation. Identify the
canonical
FET_###_<RUNTIME>decorator entry and semantic version constraint, then confirm the same feature version is selectable from the relevant profile TOMLs. The decorator is the executable feature-to-test binding; do not add a separateruntime_testsselector to the feature manifest. Identify the requirement or runtime promise it proves for documentation, but do not pass arequirementkeyword to@test; that keyword is not part of the current API. - Read the
simready-benchmarkwrite-test-packskill (viasimready-benchmark --skills-path) and follow it for the@testauthoring mechanics, decorator metadata,RunContextusage, and config defaults. Do not restate those mechanics here. - Choose the ownership model:
- For a tier-owned feature, resolve
<test-package>from the tier descriptor'sruntime_tests_path, add the test tonv_core/tiers/<tier-directory>/<test-package>/fet###_*, and keep it in the same wheel as that tier. - For an independent published pack, follow the Benchmark skill and register
the wheel under
simready_benchmark.tests. - For an unpublished pack, point
--tests-pathat the importable package directory. Explicit paths are additive to installed tier and independent providers.
- For a tier-owned feature, resolve
- For a tier-owned test, inspect neighboring modules and add each independently
reportable test in its own Python file. Reuse the suite's scene, context,
cleanup, configuration, and unit-test patterns. Do not recreate a separate
nv_core/runtime_testsornv_core/testing_toolsprovider tree. - Confirm the owning tier's
pyproject.tomlincludes both itssimreadypackage and<test-package>, and that the tier descriptor'sruntime_tests_pathresolves directly to that importable package directory. For the core tier,<test-package>is currentlysimready_benchmark_kit_suite. Descriptor import must remain dependency-light and must not import tests, Kit, Isaac, orpxr. - Bind the test to this repository's specs with the canonical Foundation
feature ID and semantic version constraint in the decorator's
featureslist. Confirm that ID/version against the owning feature manifest and relevant profile TOMLs. Provider identity is a discovery concern handled by the tier descriptor,simready_benchmark.testsentry point, or--tests-path; do not author provider/test selectors in feature manifests. Keep pure calculation and discovery logic outside the coroutine and add focused unit tests; add registration/metadata coverage when changing mappings or report behavior. - Update the matching page under the owning suite's
docs/directory and any feature/profile acceptance text that promises this runtime evidence. Keep the suite index/toctree and the tier's declarative documentation-source mapping synchronized. Do not create a second copy undersr_specs/docs. - Validate both delivery paths that changed:
- Source checkout: use
--foundations-path <repo>or point--tests-pathdirectly at the test package while developing, then run--list-tests. - Tier wheel: build and install the tier wheel in a clean environment and run
--show-configplus--list-testswithout--tests-path. Then run a scoped--plan-onlyand--no-stampexecution. Inspect the report/media and summarize the pass/fail/skip signal. If Kit/Isaac is unavailable, report a blocked runtime check rather than claiming a pass.
- Source checkout: use
Examples
Example request:
Add a runtime test proving a SimReady factory asset connection point imports and aligns correctly in Kit.
Expected result summary:
changed_files: new docs, manifests, indexes, or validation scaffolding
validation: discovery, plan-only, focused unit checks, and runtime evidence when available
remaining_gaps: requirement, validator, adapter, profile, or runtime-test follow-up
Policies
- Generated plans, result JSON, media, and report folders are artifacts, not source of truth.
- Runtime tests should be reproducible from the repository, installed Benchmark packages, engine configuration, asset path, and command line.
- Tier-owned tests ship in the tier wheel and are advertised only through the
tier descriptor. Independent test-only wheels use
simready_benchmark.tests. - The decorator's canonical feature ID and semantic version constraint own the executable feature-to-test binding. Keep them synchronized with the tier's feature manifests and profile TOMLs.
--tests-pathmust point at the importable package directory containing__init__.py, not at the repository root.- Keep user/CI-owned executable paths and credentials out of committed tests and docs.
- Do not change an asset merely to make a runtime test pass unless the task explicitly includes asset conformance.
- If the runtime cannot run locally, still add clear commands, expected signals, and focused non-runtime validation.
Limitations
- Do not mutate published feature or profile versions in place.
- Do not invent requirement IDs or validator behavior when the contract is ambiguous; record the question.
- Do not skip index, manifest, validation, or downstream follow-up notes.
Troubleshooting
- Error: the new concept overlaps an existing artifact. Solution: update the existing capability, requirement, feature, profile, or adapter instead.
- Error: names or IDs conflict. Solution: re-check naming conventions and nearby indexes before editing further.
- Error: validation strategy is unclear. Solution: document deferred validation and the exact follow-up skill.
Resources
assets/openai.yamlpreserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.
Summary Format
Report:
| Field | Meaning |
|---|---|
runtime_goal | Behavior being tested. |
feature_or_profile | Spec surface covered. |
test_sources | Test implementation, unit tests, and documentation changed. |
engine_requirements | Kit/Isaac/runtime assumptions. |
commands | Discovery, plan-only, focused unit, and runtime commands. |
artifacts | Expected or produced result/report evidence. |
validation | Runtime test result or blocker. |
Signals
- GitHub stars
- 87
- Forks
- 18
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
simready-foundation-add-runtime-test- Source
- github.com/nvidia/simready-foundation