{ "$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 }