Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
94f798e
Add counterfactual PointMass MVP
jialingjiang111-blip Jul 15, 2026
ff5a29f
Document WAM failure cases and adapter selection
jialingjiang111-blip Jul 15, 2026
114606e
Define pinned upstream model store
jialingjiang111-blip Jul 15, 2026
a47ee97
Add model artifact doctor
jialingjiang111-blip Jul 15, 2026
b7c21d0
Document StarWAM preflight
jialingjiang111-blip Jul 15, 2026
2aa674a
add typed StarWAM LIBERO inference slice
jialingjiang111-blip Jul 15, 2026
135ce7c
add exact LIBERO counterfactual branches
jialingjiang111-blip Jul 15, 2026
b5c611f
add context statistics and HTML reports
jialingjiang111-blip Jul 15, 2026
c917632
make paired statistics test float tolerant
jialingjiang111-blip Jul 15, 2026
4319fd8
add manipulation toy benchmarks and CRC
jialingjiang111-blip Jul 15, 2026
c8eea56
add resumable evaluation data pipeline
jialingjiang111-blip Jul 15, 2026
afb77f0
expand LIBERO counterfactual mini suite
jialingjiang111-blip Jul 15, 2026
d23938c
run StarWAM action experiment matrix
jialingjiang111-blip Jul 15, 2026
7ccd5d1
add video fidelity control counterexample
jialingjiang111-blip Jul 15, 2026
50713ab
add minimal closed-loop utility study
jialingjiang111-blip Jul 15, 2026
248bd3d
prepare reproducible v0.1 release candidate
jialingjiang111-blip Jul 15, 2026
0133ac9
make sdist selection checkout invariant
jialingjiang111-blip Jul 15, 2026
38a440d
add repository contract and docs gates
jialingjiang111-blip Jul 15, 2026
d58b023
update workflows for Node 24 actions
jialingjiang111-blip Jul 15, 2026
0010486
pin resolvable setup-uv action tag
jialingjiang111-blip Jul 15, 2026
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 .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
environments/starwam/patches/*.patch -whitespace
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/adapter_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Adapter proposal
description: Propose integration of an open World Action Model
title: "[Adapter]: "
labels: ["area:adapter"]
body:
- type: input
id: repository
attributes:
label: Upstream repository
placeholder: https://github.com/owner/repository
validations:
required: true
- type: input
id: checkpoint
attributes:
label: Public checkpoint
validations:
required: true
- type: input
id: license
attributes:
label: Code and checkpoint licenses
validations:
required: true
- type: checkboxes
id: capabilities
attributes:
label: Exposed capabilities
options:
- label: Pixel future prediction
- label: State future prediction
- label: Latent future representation
- label: Action prediction
- label: Candidate action scoring
- label: World feature access
- type: textarea
id: smoke
attributes:
label: Smallest reproducible smoke path
description: Describe hardware, benchmark, and expected runtime.
validations:
required: true
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/benchmark_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Benchmark proposal
description: Propose a paired intervention benchmark or benchmark extension
title: "[Benchmark]: "
labels: ["area:benchmark", "needs-rfc"]
body:
- type: textarea
id: diagnostic_scope
attributes:
label: Diagnostic scope
description: Name the WAM failure modes and capability tier this benchmark evaluates.
validations:
required: true
- type: textarea
id: intervention_contract
attributes:
label: Intervention and restore contract
description: Describe shared contexts, legal action branches, snapshot restore, and branch-order checks.
validations:
required: true
- type: textarea
id: data_license
attributes:
label: Data, simulator, and asset licenses
description: Include upstream versions, licenses, redistribution limits, and required hashes.
validations:
required: true
- type: textarea
id: splits
attributes:
label: Splits and leakage controls
description: Define ID/OOD splits and how train/evaluation overlap is prevented or reported.
validations:
required: true
- type: textarea
id: smoke
attributes:
label: Smallest reproducible smoke path
description: Give one bounded command, hardware requirements, runtime, and expected structured output.
validations:
required: true
- type: checkboxes
id: evidence
attributes:
label: Required evidence
options:
- label: Generation or conversion code is included.
required: true
- label: A benchmark card states supported and unsupported claims.
required: true
- label: Oracle and failure baselines have expected-ordering tests.
required: true
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Bug report
description: Report reproducible incorrect behavior in WAMProbe
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: "Do not include credentials, private datasets, or model access tokens."
- type: textarea
id: description
attributes:
label: What happened?
description: Describe the observed and expected behavior.
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: Minimal reproduction
description: Include the command, resolved config, and smallest non-sensitive fixture.
validations:
required: true
- type: input
id: version
attributes:
label: WAMProbe version or commit
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Python, OS, hardware, and relevant adapter/upstream revisions.
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Security report
url: https://github.com/myheart521/WAMProbe/security/advisories/new
about: Report vulnerabilities or sensitive security concerns privately.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/metric_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Metric proposal
description: Propose a causal, dynamics, utility, uncertainty, or efficiency metric
title: "[Metric]: "
labels: ["area:metric", "needs-rfc"]
body:
- type: textarea
id: failure
attributes:
label: Failure mode
description: What concrete WAM failure does this metric detect?
validations:
required: true
- type: textarea
id: definition
attributes:
label: Definition and capability requirements
description: Include directionality, aggregation unit, and stochastic-model handling.
validations:
required: true
- type: textarea
id: gaming
attributes:
label: How can the metric be gamed?
validations:
required: true
- type: textarea
id: baselines
attributes:
label: Expected reference-baseline behavior
description: State the expected ordering for oracle, copy-last, wrong-direction, and action-agnostic baselines.
validations:
required: true
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## What changed

<!-- Summarize the implementation and public behavior. -->

## Why

<!-- Explain the scientific or engineering failure mode addressed. -->

## Validation

- [ ] `ruff format --check .`
- [ ] `ruff check .`
- [ ] `mypy`
- [ ] `python scripts/validate_repository.py`
- [ ] `mkdocs build --strict`
- [ ] `pytest --cov=wamprobe --cov-report=term-missing`

## Metric/adapter/benchmark checklist

- [ ] Not applicable, or capability requirements are documented.
- [ ] Not applicable, or expected reference-baseline behavior is tested.
- [ ] Not applicable, or data/checkpoint license and upstream revision are documented.
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: pip
directory: /
schedule:
interval: monthly
open-pull-requests-limit: 5
- package-ecosystem: github-actions
directory: /
schedule:
interval: monthly
open-pull-requests-limit: 5
59 changes: 59 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: CI

on:
push:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
quality:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install project
run: python -m pip install -e '.[dev]'
- name: Check formatting
run: ruff format --check .
- name: Lint
run: ruff check .
- name: Type check
run: mypy
- name: Validate JSON Schemas and Markdown links
if: matrix.python-version == '3.11'
run: python scripts/validate_repository.py
- name: Build documentation site
if: matrix.python-version == '3.11'
run: mkdocs build --strict
- name: Test with coverage
run: pytest --cov=wamprobe --cov-report=term-missing --cov-fail-under=85

package-candidate:
needs: quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: actions/setup-python@v6
with:
python-version: "3.11"
- uses: astral-sh/setup-uv@v8.3.2
with:
version: "0.11.6"
enable-cache: true
- name: Install locked development environment
run: uv sync --extra dev --locked
- name: Build, reproduce, audit, and smoke candidate
run: .venv/bin/python scripts/build_release_candidate.py --dist-dir dist/ci-candidate
47 changes: 47 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Documentation

on:
push:
branches: [main]
paths:
- "docs/**"
- "mkdocs.yml"
- "pyproject.toml"
- "uv.lock"
- ".github/workflows/docs.yml"
workflow_dispatch:

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

concurrency:
group: github-pages
cancel-in-progress: true

jobs:
build-and-deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v6
with:
python-version: "3.11"
cache: pip
- name: Install documentation environment
run: python -m pip install -e '.[dev]'
- name: Validate repository documentation
run: python scripts/validate_repository.py
- name: Build documentation site
run: mkdocs build --strict
- uses: actions/configure-pages@v6
- uses: actions/upload-pages-artifact@v5
with:
path: site
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
80 changes: 80 additions & 0 deletions .github/workflows/gpu-nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: GPU nightly

on:
schedule:
- cron: "17 3 * * *"
workflow_dispatch:
inputs:
full_matrix:
description: Run all four tasks, seeds, and NFE settings
required: false
default: false
type: boolean

permissions:
contents: read

concurrency:
group: wamprobe-gpu-nightly
cancel-in-progress: false

jobs:
starwam-libero-smoke:
if: ${{ vars.WAMPROBE_GPU_NIGHTLY_ENABLED == 'true' }}
runs-on: [self-hosted, linux, x64, gpu]
timeout-minutes: 90

steps:
- uses: actions/checkout@v7
with:
clean: false
- name: Validate provisioned runner
run: |
test -x environments/starwam/.venv/bin/python
test -d vendor/upstream/starwam
test -d vendor/upstream/libero
nvidia-smi
environments/starwam/.venv/bin/python -m wamprobe doctor --json
- name: Run cached StarWAM matrix
env:
FULL_MATRIX: ${{ inputs.full_matrix || 'false' }}
run: |
args=(
--mode matrix
--gpu-index 0
--minimum-free-gib 18
--vae-device cpu
--run-dir runs/gpu-nightly
)
if [[ "$FULL_MATRIX" != "true" ]]; then
args+=(
--task-key spatial-task0
--matrix-seed 0
--matrix-inference-steps 1
)
fi
environments/starwam/.venv/bin/python \
environments/starwam/run_libero_smoke.py "${args[@]}"
- name: Execute action prefixes
run: |
environments/starwam/.venv/bin/python \
environments/starwam/execute_prediction_matrix.py \
--gpu-index 0 \
--matrix-dir runs/gpu-nightly
- name: Build experiment report
run: |
environments/starwam/.venv/bin/python -m wamprobe experiment-report \
runs/gpu-nightly/matrix-index.json \
runs/gpu-nightly/execution-index.json \
--output runs/gpu-nightly/report
- name: Upload structured evidence
if: ${{ always() }}
uses: actions/upload-artifact@v7
with:
name: wamprobe-gpu-nightly-${{ github.run_id }}
if-no-files-found: warn
retention-days: 14
path: |
runs/gpu-nightly/matrix-index.json
runs/gpu-nightly/execution-index.json
runs/gpu-nightly/report/
Loading