@nodii/contract-manifest
v0.0.1
Published
Template package — copy via scripts/bootstrap-library.sh <libname>.
Readme
@nodii/contract-manifest
Runtime-derived contract discovery — locked design: hub decision D478 (2026-07-03).
Every service derives a contract manifest at boot from the SAME objects that
serve traffic and exposes it at GET /.well-known/nodii-contracts
(versioned, content-hashed JSON):
- served gRPC services/methods + proto descriptor hashes (addService defs + server reflection)
- enforced scopes per method (
REQUIRED_SCOPES_BY_METHODverbatim — D188) - produced outbox topics + aggregate_kind + payload-schema hashes (defineDispatcher specs)
- consumed topics/enumerations/kinds (defineReplica specs)
- REST surface (hono-openapi) · lib/envelope versions
Verification layers (D478): CI peer-contract gate v2 (validate vs the peer's published manifest, not hand-vendored assumptions) · grace-mode boot diff (never cross-service boot-blocking) · hub reconciler (registries become a view of runtime reality; drift = diff(lock, reality)).
STATUS: scaffold only (bootstrap 2026-07-03). Implementation = backlog CM-1..4, sequenced after the tier-3-green drive. Do NOT mark implemented until the collectors + endpoint + differ ship against the real test stack (R1).
