Skip to content

Milestones

List view

  • Goal: Basic safety rails everywhere. Tasks 9) Safety Watchdog packages/monad-safety/watchdog.py: throttle checks, speed caps, “deadman” timeout (configurable). Called by Orchestrator before executing drive commands. Branch: feat/safety-watchdog Accept: unit tests simulate violations; 422 or 400 returned; telemetry event emitted. Service-to-service auth Shared API key (env var) with FastAPI dependency for HMAC/API-Key header (X-Monad-Key). Branch: feat/service-auth Accept: requests without key → 401; README updated.

    No due date
    0/2 issues closed
  • Goal: Feed real-time simulated sensor data into MONAD using the contracts. Tasks 7) Sim Bridge (exp) exp/sim-bridge (Python): UDP/WebSocket ingest → translate into ultrasonic.v1 + imu.v1 → forward to Sensor Bus. Config via .env (SIM_SOURCE, SENSOR_BUS_URL). Branch: exp/sim-bridge-injest Accept: local test script sends sample UDP; Sensor Bus receives, logs. Contract fidelity check Golden examples from the sim saved under packages/monad-contracts/examples/*. Extend validator with --require-examples in CI. Branch: chore/validator-strict-examples Accept: CI fails if any contract lacks an example.

    No due date
    0/2 issues closed
  • Goal: Read sensor frames (ultrasonic/IMU), build a minimal local world model (2D occupancy), keep everything contract-true. Tasks 4) Sensor Bus (FastAPI) POST /ultrasonic (body = ultrasonic.v1), POST /imu (body = imu.v1) Emits telemetry events/metrics per frame Branch: feat/sensor-bus Accept: 200/422 tests; examples in packages/monad-contracts/examples/*.json; validator green. Occupancy grid package packages/monad-occupancy/grid.py: build_grid(frame, cell_size_m=0.1, range_m=2.0) -> list[list[int]] Unit tests: empty scene, adjacent obstacle, range clipping. Telemetry metric: occ_occupied_cells Branch: feat/occupancy-grid-v0 Accept: tests pass; README example; no external deps. Wire Orchestrator → Sensor Bus Orchestrator /execute can request a “scan” action that expects one ultrasonic frame and publishes an occupancy snapshot to telemetry. Branch: feat/orch-scan-wire Accept: e2e test asserts a scan produces telemetry lines with event="occ_grid_built".

    No due date
    0/3 issues closed
  • Docker Compose dev stack compose.yaml to run: services/orchestrator-ren services/actuator-bus Health checks hitting /healthz; shared volume for /logs. Branch: feat/compose-dev Accept: docker compose up shows both healthy; curl demo works. Makefile shortcuts make up, make down, make logs, make test, make validate Branch: chore/makefile Accept: shortcuts work on a clean machine. E2E smoke test tests/e2e/test_happy_path.py: start stack (or assume running), POST /ticket or /actuate, assert 200 + a log line appears via TelemetryLogger in /logs/YYYY-MM-DD.jsonl. Branch: feat/e2e-smoke Accept: CI runs & passes.

    No due date
    1/5 issues closed