Status: ready-for-agent # 04 — Tracker validated-capability registration and routing gate ## What to build Extend Node registration, tracker state, network-map visibility, and route selection so a candidate is eligible only when it presents a successful capability report matching the route Model Artifact and Shard. Treat recipe/backend/capability data as evidence, not a trusted performance assertion. Preserve legacy behavior only through an explicit, documented compatibility policy; no new paid route may rely on an absent proof once admission is enforced. **Code refs:** - `packages/tracker/meshnet_tracker/server.py` — `/v1/nodes/register`, tracker node state, route selection, network map - `tests/test_tracker_routing.py` — registration and route tests - `packages/node/meshnet_node/startup.py` — registration payload producer - `docs/adr/0011-auto-shard-and-network-assignment.md` — tracker-owned assignment context - `docs/adr/0013-rolling-stats-smart-routing.md` — performance routing context ## Test-first 1. Red: a node with no/failed/mismatched capability report can register as route-eligible for a model/shard. 2. Red: route selection includes a candidate whose report is for a different arbitrary model or shard. 3. Green: valid matching candidates route normally; network map exposes only sanitized admission status. ## Acceptance criteria - [ ] Registration validates the generic capability-report schema and records sanitized capability state - [ ] Route selection excludes invalid, absent, failed, stale, model-mismatched, shard-mismatched, recipe-mismatched, or catalogue-version-incompatible candidates - [ ] Valid matching candidates retain normal coverage-first and throughput routing behavior - [ ] Network map/operator view exposes an actionable admission state without raw exceptions or secrets - [ ] Protocol compatibility policy for older Nodes is tested and documented - [ ] Deterministic tracker tests cover arbitrary model IDs, not a Qwen fixture ## Blocked by `01-generic-capability-report.md`, `03-fail-closed-startup-admission.md`.