backbeat: add module sources

This commit is contained in:
anthonyrawlins
2025-10-17 08:56:25 +11:00
parent 627d15b3f7
commit 4b4eb16efb
48 changed files with 11636 additions and 0 deletions

View File

@@ -0,0 +1,181 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://chorus.services/schemas/backbeat/statusclaim/v1.0.0",
"title": "BACKBEAT StatusClaim (INT-B)",
"description": "Status update message sent from agents to Reverb service during beat execution",
"version": "1.0.0",
"type": "object",
"required": [
"type",
"agent_id",
"beat_index",
"state",
"hlc"
],
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "backbeat.statusclaim.v1",
"description": "Message type identifier for StatusClaim v1"
},
"agent_id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_:-]+$",
"minLength": 1,
"maxLength": 128,
"description": "Unique identifier for the reporting agent (format: service:instance or agent:id)"
},
"task_id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_:-]+$",
"minLength": 1,
"maxLength": 128,
"description": "Optional task identifier if agent is working on a specific task"
},
"beat_index": {
"type": "integer",
"minimum": 0,
"maximum": 9223372036854775807,
"description": "Beat index this status claim refers to (must match current or recent BeatFrame)"
},
"state": {
"type": "string",
"enum": [
"idle",
"planning",
"executing",
"reviewing",
"completed",
"failed",
"blocked",
"helping"
],
"description": "Current state of the agent"
},
"beats_left": {
"type": "integer",
"minimum": 0,
"maximum": 1000,
"description": "Estimated number of beats needed to complete current work (0 = done this beat)"
},
"progress": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0,
"description": "Progress percentage for current task/phase (0.0 = not started, 1.0 = complete)"
},
"notes": {
"type": "string",
"maxLength": 256,
"description": "Brief human-readable status description or error message"
},
"hlc": {
"type": "string",
"pattern": "^[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}$",
"description": "Hybrid Logical Clock timestamp from the agent"
},
"resources": {
"type": "object",
"description": "Optional resource utilization information",
"additionalProperties": false,
"properties": {
"cpu_percent": {
"type": "number",
"minimum": 0.0,
"maximum": 100.0,
"description": "CPU utilization percentage"
},
"memory_mb": {
"type": "integer",
"minimum": 0,
"description": "Memory usage in megabytes"
},
"disk_io_ops": {
"type": "integer",
"minimum": 0,
"description": "Disk I/O operations since last beat"
},
"network_kb": {
"type": "integer",
"minimum": 0,
"description": "Network traffic in kilobytes since last beat"
}
}
},
"dependencies": {
"type": "array",
"maxItems": 50,
"description": "List of agent IDs this agent is waiting on or helping",
"items": {
"type": "string",
"pattern": "^[a-zA-Z0-9_:-]+$",
"maxLength": 128
}
},
"metadata": {
"type": "object",
"description": "Optional metadata for extensions and debugging",
"additionalProperties": true,
"properties": {
"agent_version": {
"type": "string",
"description": "Version of the agent software"
},
"error_code": {
"type": "string",
"description": "Structured error code if state is 'failed'"
},
"retry_count": {
"type": "integer",
"minimum": 0,
"description": "Number of retries attempted for current task"
}
}
}
},
"examples": [
{
"type": "backbeat.statusclaim.v1",
"agent_id": "search-indexer:worker-03",
"task_id": "index-batch:20250905-120",
"beat_index": 1337,
"state": "executing",
"beats_left": 3,
"progress": 0.65,
"notes": "processing batch 120/200",
"hlc": "7ffd:0001:beef",
"resources": {
"cpu_percent": 85.0,
"memory_mb": 2048,
"disk_io_ops": 1250,
"network_kb": 512
}
},
{
"type": "backbeat.statusclaim.v1",
"agent_id": "agent:backup-runner",
"beat_index": 1338,
"state": "failed",
"beats_left": 0,
"progress": 0.0,
"notes": "connection timeout to storage backend",
"hlc": "7ffe:0002:dead",
"metadata": {
"agent_version": "2.1.0",
"error_code": "STORAGE_TIMEOUT",
"retry_count": 3
}
},
{
"type": "backbeat.statusclaim.v1",
"agent_id": "ml-trainer:gpu-node-1",
"beat_index": 1336,
"state": "helping",
"progress": 1.0,
"notes": "completed own work, assisting node-2 with large model",
"hlc": "7ffc:0005:cafe",
"dependencies": ["ml-trainer:gpu-node-2"]
}
]
}