100 lines
4.4 KiB
Markdown
100 lines
4.4 KiB
Markdown
# DGR-041 evidence — backend-agnostic native Shard registration
|
|
|
|
**Date:** 2026-08-01
|
|
**Authority:** `.scratch/distributed-gguf-runtime/prd.json` (`passes` remains
|
|
`false`; this is model-free integration evidence, not a real hardware
|
|
certification).
|
|
|
|
## Implemented
|
|
|
|
- Added the optional, backend-neutral `ExecutionCapacity` capability-report
|
|
block: memory capacity in bytes, Hot-KV capacity in tokens, and maximum
|
|
concurrent Route Sessions. Existing Transformers reports omit it and keep
|
|
their previous serialized shape.
|
|
- Added `NativeShardRegistration`, which accepts only an exact `ShardIdentity`,
|
|
DGR-040 startup spec, and verified worker probe that all agree on artifact
|
|
digest, recipe fingerprint, recipe labels, and half-open range. It emits the
|
|
existing tracker registration payload and uses the capability report for
|
|
backend, capacity, and exact identity facts.
|
|
- Added `NativeCapabilityRegistrar.bind()` and additive supervisor callbacks:
|
|
publish happens only after DGR-040 has verified availability; a worker health
|
|
loss invokes caller-owned withdrawal. The adapter owns neither tracker HTTP
|
|
nor routing, billing, telemetry, relay, or provider policy.
|
|
- Tracker capability parsing/network state now preserves the three optional
|
|
capacity facts. Its existing `CertificationLedger` still registers the exact
|
|
native recipe as `dark` / `uncertified`, making it visible but unroutable.
|
|
No backend-name allowlist or routing special case was added.
|
|
|
|
## Changed files
|
|
|
|
- `packages/node/meshnet_node/capability.py`
|
|
- `packages/node/meshnet_node/native_registration.py`
|
|
- `packages/node/meshnet_node/native_worker_supervisor.py`
|
|
- `packages/tracker/meshnet_tracker/capability.py`
|
|
- `tests/test_native_registration.py`
|
|
- `.scratch/distributed-gguf-runtime/evidence/DGR-041/README.md`
|
|
- `.ralph-tui/progress.md`
|
|
|
|
## Commands and results
|
|
|
|
```bash
|
|
PYTHONPATH=packages/node:packages/tracker /home/popov/.hermes/hermes-agent/venv/bin/python -m pytest -q \
|
|
tests/test_native_registration.py tests/test_native_worker_supervisor.py \
|
|
tests/test_node_capability.py tests/test_runtime_recipe_identity.py
|
|
```
|
|
```text
|
|
101 passed in 0.71s
|
|
```
|
|
|
|
```bash
|
|
/home/popov/.hermes/hermes-agent/venv/bin/python -m ruff check \
|
|
packages/node/meshnet_node/capability.py \
|
|
packages/node/meshnet_node/native_registration.py \
|
|
packages/node/meshnet_node/native_worker_supervisor.py \
|
|
packages/tracker/meshnet_tracker/capability.py \
|
|
tests/test_native_registration.py
|
|
```
|
|
```text
|
|
All checks passed!
|
|
```
|
|
|
|
```bash
|
|
python3 -m compileall -q packages tests
|
|
git diff --check
|
|
```
|
|
```text
|
|
Both exit 0.
|
|
```
|
|
|
|
The default focused tests are model-download-free, API-credit-free, and
|
|
GPU-free. No model artifact was touched and nothing was written under `/home`.
|
|
|
|
## Limitations
|
|
|
|
- The full HTTP tracker-registration route suite could not run in this sandbox:
|
|
`PYTHONPATH=packages/node:packages/tracker /home/popov/.hermes/hermes-agent/venv/bin/python -m pytest -q tests/test_tracker_capability_admission.py`
|
|
produced `25 passed, 9 failed`; every failure is the known sandbox
|
|
`PermissionError: [Errno 1] Operation not permitted` while creating an AF_INET
|
|
listening socket. The model-free direct tracker admission path is exercised
|
|
by `test_native_registration.py` and the existing identity suite.
|
|
- No native source/protobuf/patch changed, so an out-of-tree CMake/CTest build
|
|
and pin patch apply/check/reverse gates are not applicable.
|
|
- The registrar deliberately takes caller-owned register/withdraw callbacks.
|
|
DGR-042 owns the native direct/relay activation endpoint; deployment wiring
|
|
must provide its existing tracker transport rather than invent another one.
|
|
- No real backend/model/recipe combination is certified by this change.
|
|
`prd.json` remains false until the authoritative execution process grants
|
|
completion credit.
|
|
|
|
## Dependency handoff
|
|
|
|
- **DGR-025:** `ShardIdentity` and the tracker-owned `CertificationLedger` are
|
|
used directly; do not substitute labels for the fingerprint or promote a
|
|
recipe in node code.
|
|
- **DGR-040:** construct this registration from the post-`start()` verified
|
|
probe and call `NativeCapabilityRegistrar.bind(supervisor)` before startup.
|
|
Its unavailable callback must withdraw only the native capability.
|
|
- **DGR-042:** consume the registration's verified native endpoint through the
|
|
existing direct/relay route mechanism; keep its protobuf transport opaque to
|
|
tracker admission.
|