Memarium Blob v1¶
Source schema: doc/schemas/memarium-blob.v1.schema.json
Machine-readable schema for a signed, content-addressed Memarium-native artifact envelope. It is used for artifacts that are not Agora records but still need byte-identical custody and transfer, including small out-of-band passport handoffs, encrypted notes, action-trace archives, backup bundles, and INAC payloads.
Governing Basis¶
doc/project/40-proposals/042-inter-node-artifact-channel.mddoc/project/60-solutions/017-inter-node-artifact-channel/017-inter-node-artifact-channel.mddoc/project/60-solutions/002-memarium/002-memarium.md
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-006-node-networking-mvp.mddoc/project/50-requirements/requirements-010-middleware-executor.mddoc/project/50-requirements/requirements-011-dator-arca-contracts.mddoc/project/50-requirements/requirements-014-resource-opinions.md
Stories¶
doc/project/30-stories/story-001-swarm-node-onboarding.mddoc/project/30-stories/story-004-pod-client-onboarding.mddoc/project/30-stories/story-005-whisper-rumor-intake.mddoc/project/30-stories/story-006-buyer-node-components.mddoc/project/30-stories/story-006-voluntary-swarm-exchange.mddoc/project/30-stories/story-007-settlement-capable-node.mddoc/project/30-stories/story-008-cool-site-comment.md
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: memarium-blob.v1 |
Schema discriminator. MUST be the literal string memarium-blob.v1. |
blob/id |
yes |
string | Content-addressed identifier of this blob envelope. Computed from canonical bytes of the envelope without blob/id and signature, using the same sha256 base64url convention as Agora records and capability artifacts. |
blob/content-type |
yes |
string | IANA-style media type or Orbiplex-registered kind label used by receivers to select a handler. The substrate treats it as an opaque dispatch hint. |
blob/payload |
yes |
unspecified | Payload carried inline for tiny control-plane handoffs or referenced by content hash and stream id for side-loaded binary-frame transfer. |
blob/encryption |
yes |
unspecified | none for plaintext custody or an encryption descriptor. Encrypted blobs make the receiver a byte custodian, not necessarily a reader. |
author/participant-id |
yes |
string | Author identity. Accepts participant and nym DID keys as described by the identity and pseudonymization proposals. |
authored/at |
yes |
string | Wall-clock timestamp asserted by the author at blob creation. |
author/attestation-ref |
no |
string | Optional reference to an attestation artifact supporting the author's authority or context. |
author/nym-certificate-ref |
no |
string | Optional reference to a nym certificate when the author identity is pseudonymous. |
classification |
no |
object | Optional classification label carried with the blob for downstream custody and egress decisions. |
extensions |
no |
object | Explicit extension container for fields not understood by the base memarium-blob.v1 schema. Extension consumers MUST include these bytes in the signed envelope canonicalization. |
policy_annotations |
no |
object | Explicit policy annotation container. Producers MUST NOT add undeclared top-level policy fields. |
signature |
yes |
ref: #/$defs/signature |
Ed25519 signature over canonical envelope bytes with signature removed, using signing domain memarium.blob.v1. |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
inlinePayload |
object | |
referencedPayload |
object | |
encryption |
object | |
signature |
object | |
| ## Field Semantics |
schema¶
- Required:
yes - Shape: const:
memarium-blob.v1
Schema discriminator. MUST be the literal string memarium-blob.v1.
blob/id¶
- Required:
yes - Shape: string
Content-addressed identifier of this blob envelope. Computed from canonical bytes of the envelope without blob/id and signature, using the same sha256 base64url convention as Agora records and capability artifacts.
blob/content-type¶
- Required:
yes - Shape: string
IANA-style media type or Orbiplex-registered kind label used by receivers to select a handler. The substrate treats it as an opaque dispatch hint.
blob/payload¶
- Required:
yes - Shape: unspecified
Payload carried inline for tiny control-plane handoffs or referenced by content hash and stream id for side-loaded binary-frame transfer.
blob/encryption¶
- Required:
yes - Shape: unspecified
none for plaintext custody or an encryption descriptor. Encrypted blobs make the receiver a byte custodian, not necessarily a reader.
author/participant-id¶
- Required:
yes - Shape: string
Author identity. Accepts participant and nym DID keys as described by the identity and pseudonymization proposals.
authored/at¶
- Required:
yes - Shape: string
Wall-clock timestamp asserted by the author at blob creation.
author/attestation-ref¶
- Required:
no - Shape: string
Optional reference to an attestation artifact supporting the author's authority or context.
author/nym-certificate-ref¶
- Required:
no - Shape: string
Optional reference to a nym certificate when the author identity is pseudonymous.
classification¶
- Required:
no - Shape: object
Optional classification label carried with the blob for downstream custody and egress decisions.
extensions¶
- Required:
no - Shape: object
Explicit extension container for fields not understood by the base memarium-blob.v1 schema. Extension consumers MUST include these bytes in the signed envelope canonicalization.
policy_annotations¶
- Required:
no - Shape: object
Explicit policy annotation container. Producers MUST NOT add undeclared top-level policy fields.
signature¶
- Required:
yes - Shape: ref:
#/$defs/signature
Ed25519 signature over canonical envelope bytes with signature removed, using signing domain memarium.blob.v1.
Definition Semantics¶
$defs.inlinePayload¶
- Shape: object
$defs.referencedPayload¶
- Shape: object
$defs.encryption¶
- Shape: object
$defs.signature¶
- Shape: object