Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
0a13f04
audit(cli): truthful help/README, one fleet pipeline, shared lib, har…
andrewjong Aug 22, 2026
8242ae8
audit(robot): index-collision fix, live plugin param, honest baseline…
andrewjong Aug 22, 2026
0b7b33d
audit(gcs/sim): fleet-aware GCS, distinct GPS homes, sshd fix, dead-f…
andrewjong Aug 22, 2026
dbead2a
audit(docs): link integrity 81->4, truthful CHANGELOG, root README, b…
andrewjong Aug 22, 2026
6ea3e81
chore(audit): execute owner-ruled deletions — dead interfaces, GUIs, …
andrewjong Aug 22, 2026
4d97b89
feat(sim): adopt simple-sim as a first-class --sim target; doc isaac-…
andrewjong Aug 22, 2026
96ad668
chore(docker): dependency purge — robot image sheds unused apt/pip de…
andrewjong Aug 22, 2026
4cacc81
chore(modules): re-pin asm_macvo to 06f3a8c8 — module now declares ri…
andrewjong Aug 22, 2026
8f26976
chore(license): relicense trunk to BSD-3-Clause-Clear; real maintaine…
andrewjong Aug 22, 2026
002dd23
fix(simple-sim): source ROS Jazzy, not Humble — sim never started sin…
andrewjong Aug 22, 2026
277b6eb
fix(tests): --stack accepts <name>[:<entry>] like the CLI; re-pin asm…
andrewjong Aug 22, 2026
c9bc2b4
chore(audit): delete rqt_behavior_tree — zero referrers after the GUI…
andrewjong Aug 22, 2026
298cb72
Bump version to 0.20.0-alpha.8
andrewjong Aug 22, 2026
0a161dc
Merge develop (Release 0.19.0) — keep this branch's audit CHANGELOG a…
andrewjong Aug 22, 2026
7d27821
Merge develop (stack levels 1-7) — keep 0.20.0-alpha.8
andrewjong Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,12 @@ This directory contains Agent Skills following the [Agent Skills standard](https
| [attach-gossip-payload](skills/attach-gossip-payload) | Broadcast custom ROS messages to peers via PeerProfile gossip payloads |
| [bump-version-and-release](skills/bump-version-and-release) | Bump `.env` VERSION + CHANGELOG to clear the version-check gate |
| [capture-discovered-knowledge](skills/capture-discovered-knowledge) | Persist hard-won discoveries to AGENTS.md or a skill |
| [configure-multi-robot](skills/configure-multi-robot) | Multi-robot setup: replicas, ROBOT_NAME, ROS_DOMAIN_ID |
| [configure-multi-robot](skills/configure-multi-robot) | Multi-robot setup, fleet-first: fleet files under `config/fleets/` (`--fleet`) primary; `NUM_ROBOTS` is the legacy homogeneous knob |
| [create-module](skills/create-module) | Author a thin module repo (module.yaml manifest, CI, test_stack) |
| [create-stack](skills/create-stack) | Create a stack folder: `airstack stack new`, wiring bootstrap, split stacks + bridge.yaml, doctor |
| [debug-module](skills/debug-module) | Systematic autonomous debugging of ROS 2 modules |
| [docker-build-profiles](skills/docker-build-profiles) | Build-time validation for Docker compose profiles and build args |
| [extract-module](skills/extract-module) | Extract an in-tree capability into a standalone module repo (TRUNK_REMOVAL.md pattern, sequencing rules, module CI) |
| [integrate-module-into-layer](skills/integrate-module-into-layer) | Integrate a module into a **stack** (stack entry include, canonical defaults, wiring.md regen, lint) — the layer-bringup workflow is legacy |
| [run-system-tests](skills/run-system-tests) | Run/extend the pytest system-test harness (marks, MetricsRecorder, /pytest) |
| [test-in-simulation](skills/test-in-simulation) | End-to-end module testing in Isaac Sim |
Expand Down Expand Up @@ -73,4 +74,4 @@ old pattern.
- **Integration Checklist:** [docs/robot/autonomy/integration_checklist.md](../docs/robot/autonomy/integration_checklist.md)
- **Stacks Guide:** [docs/development/stacks.md](../docs/development/stacks.md)
- **Modules Guide:** [docs/development/modules.md](../docs/development/modules.md)
- **AI Agent Guide:** [docs/development/ai_agent_guide.md](../docs/development/ai_agent_guide.md)
- **AI Agent Guide:** [docs/development/advanced/ai_agent_guide.md](../docs/development/advanced/ai_agent_guide.md)
2 changes: 1 addition & 1 deletion .agents/skills/add-behavior-tree-node/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: add-behavior-tree-node
description: Create behavior tree nodes for high-level mission logic and decision-making. Use when implementing actions, conditions, or decorators for behavior trees. Covers BT node types, registration, and integration with behavior executive.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/add-ros2-package/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: add-ros2-package
description: Create a new ROS 2 package for the AirStack autonomy stack. Use when implementing a new algorithm module (planner, controller, perception, world model, behavior node). Covers package structure, CMakeLists.txt, package.xml, launch files, and configuration.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ airstack up isaac-sim robot
# Run test scenario...
```

See [test_in_simulation.md](../../.agents/skills/test_in_simulation.md) for detailed testing procedures.
See the [test-in-simulation skill](../../../test-in-simulation/SKILL.md) for detailed testing procedures.

## Visualization

Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/add-task-executor/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: add-task-executor
description: Implement a new task executor as a ROS 2 action server in AirStack. Use when adding a new goal-directed task (coverage, search, counting, trajectory following, etc.) that a user can trigger with parameters, monitor via feedback, and cancel. Reference implementation is random_walk_planner (ExplorationTask).
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/add-unit-tests/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: add-unit-tests
description: Add Python or C++ unit tests to an AirStack ROS 2 package. Covers the co-location pattern (test source in package/test/), registering the package in colcon_unit_test_packages.yaml so pytest tests/ and airstack test -m unit collect it, and how to extend to sim components.
license: MIT
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
9 changes: 9 additions & 0 deletions .agents/skills/attach-gossip-payload/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
name: attach-gossip-payload
description: Broadcast any ROS message to all peer robots via the gossip protocol by attaching it as a PeerProfile payload — config-driven via gossip_payloads.yaml, with the peer_profile.py add_payload/get_payload API for consumers. Use when a module needs to share data (frontier maps, sensor summaries, task status) across robots on the gossip domain.
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
---

# Skill: Attach Custom Payload to PeerProfile (Gossip Protocol)

## When to use
Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/bump-version-and-release/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: bump-version-and-release
description: Bump the AirStack VERSION in .env (semver) before merging a PR that changes Docker image content, and update CHANGELOG. Required to pass the check-version-increment gate and to trigger the docker-build release workflow.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand All @@ -17,7 +17,7 @@ Bump VERSION when the PR touches:

- Any `Dockerfile` under `robot/`, `simulation/isaac-sim/`, `simulation/ms-airsim/`, `gcs/`, `common/`, or `tests/docker/`
- `docker-compose.yaml` or any included sub-compose file (when the change affects what is built or installed into images)
- Code that is **baked into** an image (i.e., copied during build, not bind-mounted at runtime). For `DOCKER_IMAGE_BUILD_MODE="prebuilt"` this includes `robot/ros_ws/src/**`. For `DOCKER_IMAGE_BUILD_MODE="dev"` (the current default in `.env`) the workspace is bind-mounted, so source-only changes there do not strictly require a rebuild — but bumping is still safer if you are unsure.
- Code that is **baked into** an image (i.e., copied during build, not bind-mounted at runtime). The workspace is bind-mounted (`DOCKER_IMAGE_BUILD_MODE` is a tag discriminator only — a real `prebuilt` workspace-baked stage is future work), so source-only changes under `robot/ros_ws/src/**` do not strictly require a rebuild — but bumping is still safer if you are unsure.
- Apt packages, pip requirements, ROS package manifests installed during the build
- Entry-point scripts, tmux configs, or `.bashrc` snippets copied into images
- Submodule pointer updates that affect image contents
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/capture-discovered-knowledge/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: capture-discovered-knowledge
description: Persist hard-won discoveries to AGENTS.md or a new/existing SKILL.md so future agents don't repeat the discovery cost. Trigger after any long context-discovery task (multi-minute grep / file-reading session, parallel research agents, debugging that took several iterations) or whenever you learn something critical, surprising, undocumented, or that contradicted prior assumptions in AGENTS.md or a skill. Decides between updating AGENTS.md, updating an existing skill, or creating a new skill.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/configure-multi-robot/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: configure-multi-robot
description: Configure, name, and isolate multiple robots in AirStack — fleet files (config/fleets/, airstack up --fleet) first, legacy NUM_ROBOTS second. Use whenever launching multi-robot, multiple robots, swarm, or fleet scenarios; mixing different stacks/vehicles per robot (heterogeneous fleets, split placement via hosts:); setting ROBOT_NAME; debugging cross-robot topic collisions; choosing a ROS_DOMAIN_ID; or namespacing topics, TF frames, and DDS bridges across robots.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/create-module/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: create-module
description: Create a new AirStack module repository by hand — author the thin module.yaml manifest, lay out colcon packages with canonical-default launch args (never remaps), add test_stack/ and CI, and validate with tools/validate_module.py. Use when packaging a capability (planner, estimator, sim extension, vehicle data) as a standalone module repo per RFC #379.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/create-stack/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: create-stack
description: Create a new AirStack stack folder — copy a reference stack with `airstack stack new`, edit the entry launch file(s), bootstrap wiring.md, and validate with doctor and the unit lints. Covers stack anatomy, split stacks (multiple entry points + bridge.yaml), the control/trajectory placement hard gate, and gen_dds_router.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down
6 changes: 3 additions & 3 deletions .agents/skills/debug-module/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: debug-module
description: Systematically debug ROS 2 modules with autonomous diagnostic strategies. Use when a module is not working as expected. Covers node status, topic connections, data flow analysis, parameter checking, and performance profiling.
license: Apache-2.0
license: BSD-3-Clause-Clear
metadata:
author: AirLab CMU
repository: AirStack
Expand Down Expand Up @@ -497,8 +497,8 @@ Solution: Added scipy dependency
- [Debugging with GDB](https://docs.ros.org/en/jazzy/Tutorials/Debugging/Debugging-CPP.html)

- **AirStack:**
- [Integration Checklist](../docs/robot/autonomy/integration_checklist.md)
- [System Architecture](../docs/robot/autonomy/system_architecture.md)
- [Integration Checklist](../../../docs/robot/autonomy/integration_checklist.md)
- [System Architecture](../../../docs/robot/autonomy/system_architecture.md)

- **Related Skills:**
- [add-ros2-package](../add-ros2-package)
Expand Down
Loading
Loading