set dotenv-required := true export MSYS2_ARG_CONV_EXCL := "*" export MSYS2_ENV_CONV_EXCL := "*" remote_ssh_target := env("REMOTE_SSH_TARGET") remote_docker_container := env("REMOTE_DOCKER_CONTAINER") sync-pkgs: uv sync --inexact sync-data: python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path data/ python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path data/ ssh: ssh \ -L 127.0.0.1:8385:127.0.0.1:42705 \ -L 127.0.0.1:9098:127.0.0.1:9098 \ -L 127.0.0.1:2718:172.30.0.2:2718 \ {{ remote_ssh_target }} docker: docker exec -it {{ remote_docker_container }} bash marimo +notebook: uv run marimo edit {{ notebook }} --host 0.0.0.0 --port 2718 --no-token add +packages: uv add {{ packages }} --no-sync just sync-pkgs remove +packages: uv remove {{ packages }} --no-sync just sync-pkgs remote cmd: uv run python scripts/remote_docker_run.py run -- {{ quote(cmd) }} remote-check: uv run python scripts/remote_docker_run.py check remote-dry cmd: uv run python scripts/remote_docker_run.py run --dry-run -- {{ quote(cmd) }} # ── CAM verification ────────────────────────────────────────────────────────── # Run all 4 integrated CAM configurations (no-noise, write-only, read-only, combined) cam-test-all: just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=0 READ_NOISE_EN=0 COCOTB_TEST_MODULES=tests.test_cam_basic" just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=1 WRITE_NOISE_RATE_NUM=1 WRITE_NOISE_RATE_DEN=100 READ_NOISE_EN=0 COCOTB_TEST_MODULES=tests.test_cam_basic" just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=0 READ_NOISE_EN=1 READ_NOISE_RATE_NUM=1 READ_NOISE_RATE_DEN=100 COCOTB_TEST_MODULES=tests.test_cam_basic" just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 WRITE_NOISE_EN=1 WRITE_NOISE_RATE_NUM=1 WRITE_NOISE_RATE_DEN=100 READ_NOISE_EN=1 READ_NOISE_RATE_NUM=1 READ_NOISE_RATE_DEN=100 COCOTB_TEST_MODULES=tests.test_cam_basic" # Run Python reference model tests cam-test-py: PYTHONPATH=hw/sim uv run pytest hw/sim/tests/test_ref_model_noise.py -q # Run a specific CAM test module (e.g., cam-test-module MODULE=test_cam_core_banked) cam-test-module MODULE: just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 COCOTB_TEST_MODULES=tests.{{ MODULE }}" # Run a single test case within a module (e.g., cam-test MODULE=test_cam_basic TESTCASE=baseline_no_noise) cam-test MODULE TESTCASE: just remote "make -C hw/sim clean && make -C hw/sim NUM_ROWS=64 LANES=8 HASH_BITS=512 COCOTB_TEST_MODULES=tests.{{ MODULE }} COCOTB_TESTCASE={{ TESTCASE }}"