Earlier posts called it a fingerprint. This one opens the hood — exactly which fields of a job go into the Secure Job Envelope's hash, which are deliberately kept out, why a quote survives an award but not an amendment, and the three things a hash is not.
A fingerprint is only useful if every program computes the same one, and JSON gives you a dozen ways to write the same data. The Secure Job Envelope's canonical form, rule by rule — key order, the number range, cents instead of decimals, strict dates — and the real bug one shared test file caught on its first run.
InterchangeEnvelope · Part 2canonical JSON, cross-language parity, TypeScript, Rust, conformance vectors, differential fuzzing, number canonicalization, JSON Schema
Nobody marks a Secure Job Envelope traveler "ready." The file earns each level by containing what that level needs, and both implementations compute the same answer. The rulebook — what each level requires, the four guards on quoting and awarding, what an amendment does, why an awarded job locks, and what a level is not.
InterchangeEnvelope · Part 3conformance ladder, quote binding, award, stale quotes, ITAR, Incoterms, MCP, audit log