Skip to content

docs(nvpair-node-scanner): add normative service specification - #133

Merged
Noah-Tervalon-Nvidia merged 2 commits into
developfrom
docs/spec-nvpair-node-scanner-gh
Oct 14, 2026
Merged

Noah-Tervalon-Nvidia merged 2 commits into
developfrom
docs/spec-nvpair-node-scanner-gh

Conversation

@Noah-Tervalon-Nvidia

Copy link
Copy Markdown
Collaborator

Description

Adds services/nvpair-node-scanner/spec.md, the normative specification for the discovery daemon, derived from the Go source and its tests and following the structure of the existing specs.

It describes the daemon as it runs today: a one-minute eviction window with per-scan probing from the third miss, inference activity as proof of life, and a grace for scans that lose every node at once; a two-second GPU telemetry loop for the scheduler; multi-address peers published as ips= and dialed in their own order; and evidence-based ranking of this host's own published addresses.

It also records that the browser has no goodbye fast path, so a cleanly shut-down node is evicted at the one-minute threshold like any other.

Release intent

Changelog title

n/a

Changelog body

n/a

Bumps

  • services: none
  • nvpair-cluster-manager: none
  • nvpair-engine-manager: none
  • nvpair-errors: none
  • nvpair-job-scheduler: none
  • nvpair-manual-nodes: none
  • nvpair-node-info: none
  • nvpair-node-scanner: none
  • nvpair-node-settings: none
  • nvpair-proxy: none
  • nvpair-tui: none
  • nvpair-ui-broker: none
  • nvpair-workload-manager: none

Scope

Documentation only: one new file. No Go, desktop, or version changes. The goodbye behavior is recorded as current, not changed.

Validation

  • node scripts/spdx-headers.mjs passes.
  • Every behavioral statement was checked against the source on develop, including the shared discovery, netpick, noderec, reach, and mdns packages it depends on.

Risk

None at runtime. spec.md is normative, so please flag any statement that does not match the code.

Checklist

  • I have read the Contributing Guidelines.
  • Every commit is signed off (git commit -s), certifying the Developer Certificate of Origin.
  • New or existing tests cover the change. (Not applicable: documentation only.)
  • Relevant documentation is updated.
  • I checked the diff, changed filenames, and commit messages for credentials, private data, internal URLs, internal issue identifiers, and generated artifacts.
  • I recorded the validation commands and results above.
  • I declared version bumps in the release-intent block above. services/versions.json is written by automation — do not edit it by hand.

Add services/nvpair-node-scanner/spec.md, derived from the Go source
and its tests rather than the README, following the structure of the
existing specs: sections 1-15, a 7.0 method and notification table, and
a closing section on the process model, CLI, and build wiring.

It describes the daemon as it runs today: a one-minute eviction window
with per-scan probing from the third miss, inference activity as proof
of life, and a grace for scans that lose every node at once; a two-second
GPU telemetry loop for the scheduler; multi-address peers published as
ips= and dialed in their own order; and evidence-based ranking of this
host's own published addresses.

It also records that the browser has no goodbye fast path, so a cleanly
shut-down node is evicted at the one-minute threshold like any other.

Documentation only. No Go file is touched and no version changes.

Signed-off-by: Terve <ntervalon@nvidia.com>
@Noah-Tervalon-Nvidia
Noah-Tervalon-Nvidia requested review from kjlubick and nvrithik and removed request for kjlubick September 29, 2026 15:28
@nvrithik

nvrithik commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Service keys: spec says "exactly eight", develop has nine. noderec.go defines ServiceLlamaCPP = "lc" and includes it in
serviceKeyOrder; llama.cpp is a registered engine. Please add an lc row to the §7.1 table and mention lc where §3 and §7.7
list only ol/lm.

#148 added ServiceLlamaCPP ("lc") to noderec and to serviceKeyOrder
between lm and er, so there are nine canonical service keys, not eight.
Add the lc row to the section 7.1 table and name lc wherever the spec
listed only ol and lm: the broker's engine registrations in sections 3
and 7.1, the facade subscriptions in 7.7, and the inference ports the
liveness probe never dials.

Signed-off-by: Terve <ntervalon@nvidia.com>
@Noah-Tervalon-Nvidia
Noah-Tervalon-Nvidia merged commit b241de1 into develop Oct 14, 2026
13 checks passed
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.

2 participants