| name | dart-downstream-fix |
| description | DART Downstream Fix: fix a DART bug reported through gz-physics or Gazebo |
dart-downstream-fix
Use this skill in Codex to run the DART dart-downstream-fix workflow. The editable
workflow source lives in .claude/commands/; this file is its generated adapter
in the shared .agents/skills/ catalog.
Invocation
- Claude Code/OpenCode:
/dart-downstream-fix <arguments>
- Codex:
$dart-downstream-fix <arguments>
Treat the text after the skill name as $ARGUMENTS. When the workflow
references $1, $2, etc., map those to the positional values supplied by the
user.
Command Body
Fix downstream-reported DART issue: $ARGUMENTS
Required Reading
@AGENTS.md
@docs/onboarding/contributing.md
@docs/onboarding/ci-cd.md
When To Use
Use for downstream issues in gz-physics, Gazebo, or gz-sim that trace back to DART behavior: crashes, assertions, NaN/Inf propagation, missing validation, or DART performance regressions.
Workflow
If the downstream symptom depends on scene/model structure, simulation,
collision/contact, or GUI output, route through dart-verify-sim: establish a
text oracle, add assessed claim-tied visual evidence, or document a
visual exception when rendering is unavailable or not applicable.
- Read the downstream issue, logs, stack traces, and reproduction steps.
- Identify the DART API, component, and invalid usage pattern involved.
- Search for related validation and recovery patterns in DART.
- Plan the smallest fix and the regression test location.
- Decide whether the bug applies to the active release line. For applicable
bug fixes, implement on the active DART 6 LTS branch first, then cherry-pick
or reapply to
main for DART 7:
- branch:
fix/<downstream-project>-<issue-number>-<brief-description>-6-lts
- add a regression test that reproduces the downstream symptom
- keep the fix minimal; no unrelated refactors
- Run
pixi run lint and relevant tests; use pixi run test-all when
feasible, and also pixi run -e cuda test-all on Linux hosts with a visible
NVIDIA CUDA runtime.
- Ask for explicit maintainer/user approval before pushing or creating PRs.
After approval, create the release-branch PR with the branch-matching DART
6.x patch milestone and reference the downstream issue.
- Create the matching
main PR with milestone DART 7.0; adapt API
differences if needed.
Release-Line Differences
- DART 7 commonly uses
DART_WARN() and <dart/All.hpp>.
- DART 6 LTS may use
dtwarn << ..., <dart/dart.hpp>, and older test CMake patterns.
Output
- Root cause and fix summary
- Main PR URL and release PR URL, if applicable
- Tests run and CI status
- Link back to the downstream issue