Skip to content
This repository was archived by the owner on Sep 7, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @DaivdYuan @Heng14
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Report a reproducible Open-WAM failure
labels: bug
---

## Command

```bash

```

## Config, Checkpoint, And Data

- config:
- checkpoint:
- dataset root or artifact id:
- local path registry:

## Environment

- commit:
- Python:
- CUDA / GPU:
- install command:
- optional extras:

## Expected Behavior

## Actual Behavior

## Logs

```text

```
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/dataset_setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Dataset setup
about: Report a dataset adapter or local path setup issue
labels: data
---

## Dataset

- dataset type:
- source:
- local root:
- config:

## Local Path Registry

```yaml

```

## Failure

```text

```

## Expected Shape / Contract

- camera names:
- action dim:
- action horizon:
- state dim:
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/experiment_reproduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Experiment reproduction
about: Ask for help reproducing a train/eval/rollout result
labels: reproduction
---

## Target Result

- method family:
- benchmark:
- task / episode:
- expected metric or success condition:

## Command

```bash

```

## Artifacts

- config:
- checkpoint or artifact id:
- dataset:
- simulator:

## Hardware

- CPU:
- GPU:
- memory:

## What You Tried

## Current Output

```text

```
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Feature request
about: Propose a new model, dataset, simulator, or runtime feature
labels: enhancement
---

## Proposal

## Target Extension Point

- [ ] dataset adapter
- [ ] policy variant
- [ ] action decoder
- [ ] visual/runtime backend
- [ ] benchmark adapter
- [ ] CLI/runtime tooling
- [ ] documentation

## Compatibility Impact

Existing commands/configs affected:

Migration plan:

## Validation Plan
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/simulator_setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: Simulator setup
about: Report LIBERO, RoboTwin, or CALVIN simulator setup issues
labels: sim
---

## Simulator

- [ ] LIBERO
- [ ] RoboTwin
- [ ] CALVIN

## Command

```bash

```

## Local Paths

```yaml

```

## Environment

- commit:
- Python:
- CUDA / GPU:
- simulator checkout:
- optional extras installed:

## Failure

```text

```
47 changes: 47 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## Summary

- What changed:
- Why it changed:
- User/developer impact:

## Change Type

- [ ] docs-only
- [ ] test-only
- [ ] packaging-only
- [ ] wrapper-only
- [ ] runtime-modernization
- [ ] behavior-change
- [ ] legacy-removal

## Compatibility

- [ ] Existing experiment YAMLs still load or have documented aliases.
- [ ] Existing checkpoint layouts still load or have documented migration.
- [ ] Existing root `scripts/...` commands still work or have a clear wrapper.
- [ ] Legacy removal, if any, was already deprecated in an earlier PR.

Old path/config/command:

New path/config/command:

## Validation

Commands run:

```bash

```

Resource requirements:

- [ ] CPU only
- [ ] CUDA
- [ ] local dataset
- [ ] simulator
- [ ] private checkpoint

## Notes

- Copilot/actionable automated review comments resolved:
- Remaining blockers:
75 changes: 75 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: ci

on:
pull_request:
push:
branches:
- main

jobs:
basic-pathways:
runs-on: ubuntu-latest
env:
OPEN_WAM_CI_NO_TORCH: "1"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Lockfile is current
run: uv lock --check
- name: Whitespace check
env:
BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }}
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
run: |
if [[ -n "${BASE_SHA}" && "${BASE_SHA}" != "0000000000000000000000000000000000000000" ]]; then
git diff --check "${BASE_SHA}" "${HEAD_SHA}"
else
git diff --check
fi
- name: Basic package, config, registry, and CLI pathway checks
# Static stdlib-only checks. Do not install project deps, run pytest, import open_wam, or install Torch here.
run: python scripts/ci_basic_sanity.py

minimal-package:
runs-on: ubuntu-latest
env:
OPEN_WAM_CI_NO_TORCH: "1"
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install minimal package
run: |
python -m venv .ci-minimal
.ci-minimal/bin/python -m pip install --upgrade pip
.ci-minimal/bin/pip install .
- name: Import and CLI parser safety
run: |
.ci-minimal/bin/python - <<'PY'
import importlib.util
import open_wam
import open_wam.configs
import open_wam.runtime
import open_wam.pipelines
assert importlib.util.find_spec("torch") is None
assert open_wam.__version__
PY
.ci-minimal/bin/open-wam-train --help
.ci-minimal/bin/open-wam-eval --help
.ci-minimal/bin/open-wam-inspect-config --help
.ci-minimal/bin/open-wam-validate-config --help
- name: Static config validation from installed package
run: |
.ci-minimal/bin/open-wam-validate-config \
configs/experiments/mot_libero_latent_local_video_then_action_heng_compatible.yaml \
configs/experiments/mot_libero_latent_local_joint_heng_compatible.yaml \
configs/experiments/parallel_stream_libero_lingbot_m1_video_then_action_heng_compatible.yaml
33 changes: 33 additions & 0 deletions .github/workflows/cpu-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: cpu-smoke

on:
workflow_dispatch:

jobs:
public-tiny-smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Torch-backed train stack
run: uv sync --group dev --extra train
- name: Validate public strict-old configs
run: |
uv run open-wam-validate-config \
configs/experiments/mot_libero_latent_local_video_then_action_heng_compatible.yaml \
configs/experiments/mot_libero_latent_local_joint_heng_compatible.yaml \
configs/experiments/parallel_stream_libero_lingbot_m1_video_then_action_heng_compatible.yaml
- name: Run release pytest subset
run: |
uv run python -m pytest \
tests/test_config_loader.py \
tests/test_static_config_schema.py \
tests/test_mot_runtime_routing.py \
tests/test_mot_modules.py::test_mot_action_then_video_action_only_rollout_skips_predicted_video \
tests/test_mot_modules.py::test_mot_decoupled_action_only_rollout_skips_split_cache_video_denoise \
-q
58 changes: 58 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: pages

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
env:
OPEN_WAM_CI_NO_TORCH: "1"
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Configure GitHub Pages
uses: actions/configure-pages@v5
- name: Install docs builder
run: python -m pip install "mkdocs==1.6.1"
- name: Stage sanitized docs
run: python scripts/build_docs_site.py --output .docs_site
- name: Assert docs build stays dependency-light
run: |
python - <<'PY'
import importlib.util
assert importlib.util.find_spec("torch") is None
PY
- name: Build static site
run: mkdocs build --clean
- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v4
with:
path: site

deploy:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Loading
Loading