Skip to content

serving: attest image split from the runtime; per-card attestation pays N cards per hotkey; sampled audit - #1727

Merged
anderdc merged 1 commit into
testfrom
serving/attest-image-and-per-gpu
Aug 28, 2026
Merged

serving: attest image split from the runtime; per-card attestation pays N cards per hotkey; sampled audit#1727
anderdc merged 1 commit into
testfrom
serving/attest-image-and-per-gpu

Conversation

@anderdc

@anderdc anderdc commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator
  • docker/attest is its own image (entrius/gt-attest:<tag>, new attest-image.yml): one container per box beside the runtime, on every GPU. The sparkinfer image no longer ships the sidecar. GET /info self-report (telemetry only, nothing pays on it).
  • attest.py judges every card the sidecar reports: capacity = passing cards, score = speed credit × cards, UUID dedupe across all cards. New check: the model must be resident on the card (free VRAM ≤ total − 0.8 × reservation, SERVING_ATTEST_MODEL_RESIDENT_RATIO) — a bare second GPU earns nothing.
  • Verification is sampled per (hotkey, round): every baseline prompt and failed request, plus a random max(10, 20 %) of completed gateway requests (SERVING_AUDIT_SAMPLE_MIN / _FRACTION).
  • Loadout: runtime_image (digest, written by the conformance job) and attest.image, both persisted per round (needs gittensor-db serving/attest-image-columns, das serving/attest-image, ui compute/attest-image, docs docs/attest-image-multi-card).
  • Reference: SERVING_ATTEST_REFERENCE_URL, compose attest service (GT_ATTEST_TAG). Lium conformance rents a second pod for the attest image; check_serving_runtime --attest-url. Miner: SERVING_BACKEND_CONCURRENCY env override for multi-card boxes.

To land: dispatch attest-image.yml with tag v1, re-run sparkinfer conformance so runtime_image gets its digest, testnet miners switch to two containers.

https://claude.ai/code/session_01FJtQK6NCjUgYkGTopczEf4

…ys N cards per hotkey; sampled audit

- docker/attest is its own image (entrius/gt-attest, attest-image.yml): one long-running container per box beside the
  runtime, on every GPU; runtime images no longer carry the sidecar. GET /info self-report (telemetry only).
- attest.py judges every card the sidecar reports: capacity = passing cards, score = speed credit x cards, UUID dedupe
  across all cards; a card without the model resident (free VRAM above total - 0.8 x reservation) does not count.
- Verification is sampled per (hotkey, round): every baseline prompt and failed request, plus max(10, 20%) of the
  completed gateway requests.
- Loadout carries runtime_image (digest, written by the conformance job) and attest.image; both persisted per round
  for the /compute release card. SERVING_ATTEST_REFERENCE_URL + compose `attest` service for the reference.
- Conformance on Lium rents a second pod for the attest image; check_serving_runtime --attest-url.

Claude-Session: https://claude.ai/code/session_01FJtQK6NCjUgYkGTopczEf4
@anderdc
anderdc merged commit a7dde15 into test Aug 28, 2026
6 checks passed
@anderdc
anderdc deleted the serving/attest-image-and-per-gpu branch August 28, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant