{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://fablepool.org/schemas/fpcf/v1/envelope.schema.json", "title": "FablePool signed operation envelope, version 1", "type": "object", "required": ["v", "type", "id", "author", "seq", "prev", "ts", "body", "sig"], "additionalProperties": false, "properties": { "v": { "const": 1, "description": "Wire format major version." }, "type": { "$ref": "defs.schema.json#/$defs/opType" }, "id": { "$ref": "defs.schema.json#/$defs/opId" }, "author": { "$ref": "defs.schema.json#/$defs/keyId", "description": "Signing key. One author key maintains one hash chain." }, "seq": { "type": "integer", "minimum": 1, "maximum": 9007199254740991, "description": "Position in the author's chain; first operation is 1." }, "prev": { "oneOf": [ { "$ref": "defs.schema.json#/$defs/opId" }, { "type": "null" } ], "description": "Id of the author's previous operation; null iff seq is 1." }, "ts": { "$ref": "defs.schema.json#/$defs/timestamp" }, "body": { "type": "object", "description": "Type-specific payload; validated against body..schema.json." }, "sig": { "$ref": "defs.schema.json#/$defs/signature", "description": "Ed25519 over the canonical envelope minus sig and id." } } }