Schema enforces the contract
Ajv checks required fields, types, URI shapes, identifier patterns, and 64-character hashes with exact error paths.
shape and pattern evidenceAjv checks required fields, types, URI shapes, identifier patterns, and 64-character hashes with exact error paths.
shape and pattern evidenceOwners must match the agent, scopes must name declared assets, and receipt actions must be covered by permissions.
identity → asset → permission → receiptThe digest is portable evidence for the exact manifest bytes. It does not prove who signed, stored, or published them.
digest ≠ on-chain ownershipAfter a successful schema check the source defines four internal gates: declared identity, matching asset owners, resolved permission scopes, and receipt actions covered by some capability. The bundled record is designed to pass all four. Changing only its asset owner to another identifier would leave three of four passing. At sixty pixels per passing gate the bars span two hundred forty and one hundred eighty. This is source logic, not an executed offline validation: the original Ajv import fails and the bundled-load control reports validation blocked. We preserve that original dependency failure rather than claim an operational notary. The bundled manifest contains one asset, one permission, and one execution receipt. Its receipt gate checks whether the action name occurs among permission capabilities. The receipt has no scope field and the gate does not bind it to a particular asset, validate a signature, or verify execution. At one hundred fifty pixels per count the permission bar spans one hundred fifty while checked signatures remain zero. The permission timestamp is pattern-checked for an ISO-like prefix, but no current-expiry comparison is made. Thus passing internal gates would not establish custody, current authorization, chain ownership, storage availability, or authentic actions. The authored validator hashes the exact entered manifest text with SHA two fifty six. A two hundred fifty six-bit digest is represented by sixty four hexadecimal characters because each character encodes four bits. At one pixel per respective count the bars span two hundred fifty six and sixty four. These are encoding counts, not competing security strengths. Changing whitespace changes the input bytes even when parsed JSON means the same thing. A fingerprint can later compare exact text, but it does not identify a signer or prove any content was stored or executed. No successful offline digest or exported validation is claimed while Ajv blocks the original pipeline.