File size: 1,801 Bytes
1eff9b2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ortho32.dev/schemas/fabric-command.schema.json",
"title": "FabricCommand",
"description": "Logical fabric command submitted to ORTHO-32 fabric. Applications program against FabricCommand only and never write PCIe BAR registers directly.",
"type": "object",
"properties": {
"opcode": {
"type": "string",
"enum": ["EXECUTE", "STEP", "TENSOR", "PROBE", "RESET", "ATTEST"],
"description": "Fabric opcode. Logical API, not a BAR offset."
},
"device": {
"type": "string",
"description": "Stable target device identifier (OrthoDeviceId)"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]+$",
"description": "Typed address in ORTHO memory map (FabricAddress), hex-encoded"
},
"length": {
"type": "integer",
"minimum": 0,
"description": "Payload length in bytes"
},
"epoch": {
"type": "integer",
"minimum": 0,
"description": "Epoch counter for deterministic arbitration (FabricEpoch)"
},
"slot": {
"type": "integer",
"minimum": 0,
"description": "Slot in static grant table (FabricSlot)"
},
"sequence": {
"type": "integer",
"minimum": 0,
"description": "Monotonic sequence number for completion matching"
},
"payloadHash": {
"type": "string",
"pattern": "^[0-9a-fA-F]{64}$",
"description": "SHA-256 hex digest of payload (64 hex chars)"
},
"flags": {
"type": "integer",
"minimum": 0,
"description": "Bit flags for command options"
}
},
"required": ["opcode", "device", "address", "length", "epoch", "slot", "sequence", "payloadHash", "flags"],
"additionalProperties": false
}
|