mesh/1: bind what taught the weights, not only which weights answered #612

Merged
dcharlot merged 1 commit from mesh/decision-training-provenance into main 2026-11-04 21:15:40 -05:00

2026-11-04

Transaction Science
mesh/1 can bind what taught the weights, not only which weights answered
All checks were successful
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 7s
standards workspaces build + test / macOS energy backends (pull_request) Has been skipped
standards workspaces build + test / mesh-rs (mesh/mesh-rs, -p mesh-engine-gguf -p mesh-openai --features mesh-engine-gguf/gguf,mesh-openai/server, mesh-rs, linux-arm64) (pull_request) Successful in 53s
standards workspaces build + test / joulehook-rs (joulehook/joulehook-rs, joulehook-rs, linux) (pull_request) Successful in 1m7s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 1m41s
§3.6 already makes a decision receipt verifiable **by re-execution**: with
`weights_digest` and `precision`, a verifier runs the forward pass again and
gets the same probabilities. That settles whether this answer came from these
weights. It says nothing about where the weights came from — and a decision
model is ordinarily fitted to a corpus of earlier decisions, which is what
decides which answer the probabilities favour before any request arrives.

§3.7 adds that binding as two OPTIONAL fields, paired the way `weights_digest`
and `precision` are because neither carries the claim alone:

  training_digest     BLAKE3 over the canonical encoding of the corpus records
                      in the order the fit consumed them, each as its content
                      id. The order is in the address because it is part of
                      what the fit consumed.
  training_authority  what a verifier can DO with that corpus: `signed` (every
                      record signed by the principal that produced it, so a
                      third party can check it without trusting whoever
                      trained on it), `logged` (append-only, attested head, so
                      removal and reordering are detectable, but records are
                      not attributable), or `opaque` (bytes and a digest).

As with `weights_digest`, the absence is the signal: a verifier distinguishes
an unattributable model from an attributable one instead of assuming, which is
the only reason these are optional rather than required.

The section also forbids something. A fitted decision model is usually
introduced because it is cheaper than the generation it displaces, and a
receipt MUST NOT state that saving: those joules were never metered, because
that generation was never run. `uj_per_decision` is a measured figure, and a
difference against an unrun alternative is not — a receipt carrying one would
assert an estimate in a field a reader is entitled to read as measurement. An
operator who wants the comparison runs both and keeps both receipts, so the
difference lives between two sealed figures rather than inside one of them.

Conformance vectors do not move. The published reference serve in
`conformance/v1/` is a generation, and both fields are decision-only and
OPTIONAL, so `reference/signed_core.hex` and `reference/envelope.hex` are
unchanged and need no regeneration.

Nothing in this repository yet produces a `training_digest`. The spec now says
how such a model is bound; the fit that emits one is in INGEST.md's Adding
list, which is honest about the order these landed in.

INGEST.md also gains the `mesh/` section it never had. Noted while there and
NOT fixed here, because it is a separate job: that file is dated 2026-05-23,
carries 4 sections for 22 standards, pins "Rust 1.95.0" where the root
`rust-toolchain.toml` says 1.98.0, and routes 12 links to github.com issues,
which is not where this project's issues live any more.

Guards run locally, all clean: comparative prose (4104 files), vanity metrics
(523 Markdown files), spec refs (1966 citations across 17 standards, all
resolve), orphan sources.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-11-04 10:15:30 -05:00