Skip to content

Commit ba4ab88

Browse files
docs: eliminate remaining configuration drift
1 parent 5a469f8 commit ba4ab88

9 files changed

Lines changed: 22 additions & 24 deletions

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
- name: Install Python dependencies
5050
run: |
5151
python -m pip install --upgrade pip
52-
pip install mujoco==3.10.0 numpy==2.2.6 eclipse-zenoh==1.9.0 x402==2.16.0 eth-account==0.13.7 httpx==0.28.1 web3==7.16.0
52+
pip install -r bridge/reachy_mini/mujoco_sim_bridge/requirements.txt
5353
5454
- name: Install reachy_mini package (official MJCF)
5555
run: |
@@ -142,7 +142,7 @@ jobs:
142142
- name: Install Python dependencies
143143
run: |
144144
python -m pip install --upgrade pip
145-
pip install mujoco==3.10.0 numpy==2.2.6 eclipse-zenoh==1.9.0 x402==2.16.0 eth-account==0.13.7 httpx==0.28.1 web3==7.16.0
145+
pip install -r bridge/reachy_mini/mujoco_sim_bridge/requirements.txt
146146
147147
- name: Install reachy_mini package
148148
run: |
@@ -210,7 +210,7 @@ jobs:
210210
name: webots-sim2sim-result
211211
path: bridge/reachy_mini/mujoco_sim_bridge/simulation/webots_sim2sim_result.json
212212
retention-days: 90
213-
if-no-files-found: ignore
213+
if-no-files-found: error
214214

215215
# ─── Live Base Sepolia E2E (on-chain payment) ────────────────────────────────
216216
base-sepolia-e2e:
@@ -236,7 +236,7 @@ jobs:
236236
- name: Install Python dependencies
237237
run: |
238238
python -m pip install --upgrade pip
239-
pip install mujoco==3.10.0 numpy==2.2.6 eclipse-zenoh==1.9.0 x402==2.16.0 eth-account==0.13.7 httpx==0.28.1 web3==7.16.0
239+
pip install -r bridge/reachy_mini/mujoco_sim_bridge/requirements.txt
240240
241241
- name: Install reachy_mini
242242
run: |
@@ -281,4 +281,4 @@ jobs:
281281
name: base-sepolia-evidence
282282
path: bridge/reachy_mini/base_sepolia_result*.json
283283
retention-days: 90
284-
if-no-files-found: ignore
284+
if-no-files-found: error

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ tracking. Anything else is rejected before Zenoh publication.
139139

140140
### Automated CI (`.github/workflows/ci.yml`)
141141

142-
Triggers on push/PR to `hugging-face-reachy-mini-tier-1`:
142+
Triggers on pushes to `hugging-face-reachy-mini-tier-1` and pull requests
143+
targeting that branch or `main`:
143144

144145
```yaml
145146
jobs:
@@ -234,10 +235,9 @@ Makefile # build, test, download-zenohc, bridge
234235
mujoco==3.10.0
235236
numpy==2.2.6
236237
eclipse-zenoh==1.9.0
237-
x402==2.16.0
238+
x402[requests,evm]==2.16.0
238239
eth-account==0.13.7
239-
httpx==0.28.1
240-
web3==7.16.0
240+
requests==2.32.3
241241
reachy-mini @ git+https://github.com/pollen-robotics/reachy_mini.git@v1.8.4
242242
```
243243

@@ -284,11 +284,11 @@ python3 bridge/reachy_mini/test_base_sepolia_tunnel_e2e.py
284284
| Test | Result | Environment |
285285
|---|---|---|
286286
| `make build` | ✅ OK | GitHub Actions, Go 1.25, zenoh-c 1.9.0 |
287-
| `make test` (23 Go tests) | ✅ ALL PASS | GitHub Actions (ubuntu-latest) |
287+
| `make test` | ✅ ALL PASS | GitHub Actions (ubuntu-latest) |
288288
| `test_payment_gate.py` (mandatory) | ✅ OK | GitHub Actions (real Go binary) |
289289
| `test_x402_no_settlement.py` (mandatory) | ✅ OK — `verify_calls=5 settle_calls=0` | GitHub Actions (real binary + recording facilitator) |
290290
| `test_e2e_paid_action.py` | ✅ OK | GitHub Actions (local proxy + facilitator) |
291-
| `test_base_sepolia_tunnel_e2e.py` | ✅ OK (5×) — 202 → status → settled receipt | GitHub Actions → public Fabric Gateway → Base Sepolia |
291+
| `test_base_sepolia_tunnel_e2e.py` | ✅ OK — 202 → status → settled receipt | GitHub Actions → public Fabric Gateway → Base Sepolia |
292292
| Sim2Sim standalone | ✅ Score 1.0 | GitHub Actions (MuJoCo 3.10 + Webots R2025a headless) |
293293
| Webots GUI validation | ✅ Robot tracks | Windows (visual confirmation) |
294294

@@ -376,11 +376,11 @@ receipt are durable across tunnel restarts.
376376
| Issue | Cause | Fix |
377377
|---|---|---|
378378
| `zenoh` connection refused | Endpoint or topic mismatch | Set `ZENOH_CONFIG`/`ZENOH_ENDPOINT` and keep `ZENOH_ACTION_TOPIC`/`ZENOH_RESULT_TOPIC` aligned between Tunnel and bridge |
379-
| `ModuleNotFoundError: reachy_mini` | Official model package not installed | `pip install reachy_mini` (fallback MJCF still works without it) |
380-
| Webots not found (sim2sim fails) | Webots not on PATH | Set `WEBOTS_EXE=/path/to/webots` or install Webots R2023b+ |
379+
| `ModuleNotFoundError: reachy_mini` | Official model package not installed | `pip install git+https://github.com/pollen-robotics/reachy_mini.git@v1.8.4` |
380+
| Webots not found (sim2sim fails) | Webots not on PATH | Set `WEBOTS_EXE=/path/to/webots` or install Webots R2025a |
381381
| `make build` fails on zenoh-c | Missing C library | Run `make download-zenohc` first (auto-downloads v1.9.0) |
382382
| `402` on every request | No payment signature attached | Use `test_e2e_paid_action.py` for local testing without real funds |
383-
| Status stuck on `timeout` (`SIMULATOR_RESULT_TIMEOUT`) | Bridge not running or Zenoh not connected | Start bridge first: `python -m mujoco_sim_bridge.main` |
383+
| Status stuck on `timeout` (`SIMULATOR_RESULT_TIMEOUT`) | Bridge not running or Zenoh not connected | Start bridge first: `python bridge/reachy_mini/mujoco_sim_bridge/main.py` |
384384
| `RATE_LIMITED` (429) | Over 60 requests/minute from same IP | Wait 60s or increase `ACTION_RATE_LIMIT_RPM` |
385385

386386
---

bridge/reachy_mini/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,5 @@ python3 test_payment_gate.py
8484

8585
Pinned in `mujoco_sim_bridge/requirements.txt` (same versions as CI):
8686
Python 3.10, `mujoco==3.10.0`, `numpy==2.2.6`, `eclipse-zenoh==1.9.0`,
87-
`x402==2.16.0`, `eth-account==0.13.7`, `httpx==0.28.1`, `web3==7.16.0`,
87+
`x402[requests,evm]==2.16.0`, `eth-account==0.13.7`, `requests==2.32.3`,
8888
`reachy_mini` from git tag `v1.8.4`, Webots R2025a (for sim2sim).

bridge/reachy_mini/mujoco_sim_bridge/requirements.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,4 @@ numpy==2.2.6
66
eclipse-zenoh==1.9.0
77
x402[requests,evm]==2.16.0
88
eth-account==0.13.7
9-
httpx==0.28.1
10-
web3==7.16.0
11-
pydantic>=2.0.0
9+
requests==2.32.3

bridge/reachy_mini/mujoco_sim_bridge/simulation/scenes/protos/reachy_mini.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# license: Apache License 2.0
33
# license url: http://www.apache.org/licenses/LICENSE-2.0
44
# This is a proto file for Webots for the reachy_mini
5-
# Extracted from: C:\Users\Kauker\AppData\Local\Programs\Python\Python312\Lib\site-packages\reachy_mini\descriptions\reachy_mini\urdf\robot_patched_for_webots.urdf
5+
# Extracted from the pinned reachy_mini v1.8.4 package URDF: robot_patched_for_webots.urdf
66

77
PROTO reachy_mini [
88
field SFVec3f translation 0 0 0

bridge/reachy_mini/mujoco_sim_bridge/simulation/scenes/protos/reachy_mini_simple.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# license: Apache License 2.0
33
# license url: http://www.apache.org/licenses/LICENSE-2.0
44
# This is a proto file for Webots for the reachy_mini_simple
5-
# Extracted from: C:\Users\Kauker\AppData\Local\Programs\Python\Python312\Lib\site-packages\reachy_mini\descriptions\reachy_mini\urdf\robot_simple_collision_patched.urdf
5+
# Extracted from the pinned reachy_mini v1.8.4 package URDF: robot_simple_collision_patched.urdf
66

77
PROTO reachy_mini_simple [
88
field SFVec3f translation 0 0 0

bridge/reachy_mini/mujoco_sim_bridge/simulation/sim2sim.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def _run_webots_subprocess(self) -> dict:
134134
"task_completed": False,
135135
"success_rate_score": 0.0,
136136
"error": (
137-
"Webots executable not found. Install Webots R2023b+ and either "
137+
"Webots executable not found. Install Webots R2025a and either "
138138
"add it to PATH or set WEBOTS_EXE=/path/to/webots. "
139139
"Sim-to-Sim validation REQUIRES a real second physics engine."
140140
),

tunnel/.env.example

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ PROXY_WS_URL=wss://api.fabric.foundation/api/core/ws/robot
55
FACILITATOR_URL=https://x402.org/facilitator
66
# Robot-specific deployment values override the generic local config.json.
77
# Never put private keys here; the payee is a public wallet address.
8-
# ROBOT_ID=reachy-mini-kauker
8+
# ROBOT_ID=my-robot
99
# ROBO_PAYEE_ADDRESS=0xYourPublicPayeeAddress
1010
# ROBO_PAY_PRICE=$0.001
1111
# ROBO_PAY_NETWORK=eip155:84532
@@ -22,7 +22,7 @@ CHAIN=base-sepolia
2222
# ── Action contract (fail closed) ────────────────────────────────────
2323
# Comma-separated skill allowlist. REQUIRED: when unset or empty the Tunnel
2424
# fails closed with 503 ALLOWLIST_NOT_CONFIGURED and publishes no action.
25-
# ALLOWED_ACTIONS=look_at_apple,inspect_table,stop
25+
# ALLOWED_ACTIONS=registered_skill_id
2626

2727
# Zenoh transport overrides. The JSON5 file configures endpoint/mode; topic
2828
# variables keep deployments from depending on the documented defaults.

tunnel/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ type Config struct {
4848
AIPLocalPort int `json:"-"` // localhost port the SDK binds for its (tunnel-bypassed) listener
4949
}
5050

51-
// PriceAmount returns the numeric value of the configured price ("$0.002" → 0.002).
51+
// PriceAmount returns the numeric value of the configured price ("$0.001" → 0.001).
5252
func (c *Config) PriceAmount() float64 {
5353
v, err := strconv.ParseFloat(strings.TrimPrefix(c.Price, "$"), 64)
5454
if err != nil {

0 commit comments

Comments
 (0)