35 lines
2.0 KiB
Markdown
35 lines
2.0 KiB
Markdown
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`.
|