Files
BACKBEAT/contracts/schemas/barreport-v1.schema.json
2025-10-17 08:56:25 +11:00

267 lines
8.1 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://chorus.services/schemas/backbeat/barreport/v1.0.0",
"title": "BACKBEAT BarReport (INT-C)",
"description": "Periodic report from Reverb service summarizing agent activity over a bar (120 beats)",
"version": "1.0.0",
"type": "object",
"required": [
"type",
"window_id",
"from_beat",
"to_beat",
"agents_reporting",
"on_time_reviews",
"help_promises_fulfilled",
"secret_rotations_ok",
"tempo_drift_ms"
],
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"const": "backbeat.barreport.v1",
"description": "Message type identifier for BarReport v1"
},
"window_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{32}$",
"description": "Unique identifier for this reporting window"
},
"from_beat": {
"type": "integer",
"minimum": 0,
"maximum": 9223372036854775807,
"description": "Starting beat index for this report (inclusive)"
},
"to_beat": {
"type": "integer",
"minimum": 0,
"maximum": 9223372036854775807,
"description": "Ending beat index for this report (inclusive)"
},
"agents_reporting": {
"type": "integer",
"minimum": 0,
"description": "Total number of unique agents that sent status claims during this window"
},
"on_time_reviews": {
"type": "integer",
"minimum": 0,
"description": "Number of agents that completed review phase within deadline"
},
"help_promises_fulfilled": {
"type": "integer",
"minimum": 0,
"description": "Number of successful help/collaboration completions"
},
"secret_rotations_ok": {
"type": "boolean",
"description": "True if all required credential rotations completed successfully"
},
"tempo_drift_ms": {
"type": "number",
"description": "Average timing drift in milliseconds (positive = running behind, negative = ahead)"
},
"issues": {
"type": "array",
"maxItems": 100,
"description": "List of significant issues or anomalies detected during this window",
"items": {
"type": "object",
"required": ["severity", "category", "count"],
"additionalProperties": false,
"properties": {
"severity": {
"type": "string",
"enum": ["info", "warning", "error", "critical"],
"description": "Issue severity level"
},
"category": {
"type": "string",
"enum": [
"timing",
"failed_tasks",
"missing_agents",
"resource_exhaustion",
"network_partition",
"credential_failure",
"data_corruption",
"unknown"
],
"description": "Issue category for automated handling"
},
"count": {
"type": "integer",
"minimum": 1,
"description": "Number of occurrences of this issue type"
},
"description": {
"type": "string",
"maxLength": 512,
"description": "Human-readable description of the issue"
},
"affected_agents": {
"type": "array",
"maxItems": 50,
"description": "List of agent IDs affected by this issue",
"items": {
"type": "string",
"pattern": "^[a-zA-Z0-9_:-]+$",
"maxLength": 128
}
},
"first_seen_beat": {
"type": "integer",
"minimum": 0,
"description": "Beat index when this issue was first detected"
},
"last_seen_beat": {
"type": "integer",
"minimum": 0,
"description": "Beat index when this issue was last seen"
}
}
}
},
"performance": {
"type": "object",
"description": "Performance metrics for this reporting window",
"additionalProperties": false,
"properties": {
"avg_response_time_ms": {
"type": "number",
"minimum": 0,
"description": "Average response time for status claims in milliseconds"
},
"p95_response_time_ms": {
"type": "number",
"minimum": 0,
"description": "95th percentile response time for status claims"
},
"total_tasks_completed": {
"type": "integer",
"minimum": 0,
"description": "Total number of tasks completed during this window"
},
"total_tasks_failed": {
"type": "integer",
"minimum": 0,
"description": "Total number of tasks that failed during this window"
},
"peak_concurrent_agents": {
"type": "integer",
"minimum": 0,
"description": "Maximum number of agents active simultaneously"
},
"network_bytes_transferred": {
"type": "integer",
"minimum": 0,
"description": "Total network bytes transferred by all agents"
}
}
},
"health_indicators": {
"type": "object",
"description": "Cluster health indicators",
"additionalProperties": false,
"properties": {
"cluster_sync_score": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0,
"description": "How well synchronized the cluster is (1.0 = perfect sync)"
},
"resource_utilization": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0,
"description": "Average resource utilization across all agents"
},
"collaboration_efficiency": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0,
"description": "How effectively agents are helping each other"
},
"error_rate": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0,
"description": "Proportion of beats that had errors"
}
}
},
"metadata": {
"type": "object",
"description": "Optional metadata for extensions and debugging",
"additionalProperties": true,
"properties": {
"reverb_version": {
"type": "string",
"description": "Version of the Reverb service generating this report"
},
"report_generation_time_ms": {
"type": "number",
"minimum": 0,
"description": "Time taken to generate this report"
},
"next_window_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{32}$",
"description": "Window ID for the next reporting period"
}
}
}
},
"examples": [
{
"type": "backbeat.barreport.v1",
"window_id": "7e9b0e6c4c9a4e59b7f2d9a3c1b2e4d5",
"from_beat": 240,
"to_beat": 359,
"agents_reporting": 978,
"on_time_reviews": 942,
"help_promises_fulfilled": 87,
"secret_rotations_ok": true,
"tempo_drift_ms": 7.3,
"issues": [
{
"severity": "warning",
"category": "timing",
"count": 12,
"description": "Some agents consistently reporting 50ms+ late",
"affected_agents": ["worker:batch-03", "indexer:shard-7"],
"first_seen_beat": 245,
"last_seen_beat": 358
}
],
"performance": {
"avg_response_time_ms": 45.2,
"p95_response_time_ms": 125.7,
"total_tasks_completed": 15678,
"total_tasks_failed": 23,
"peak_concurrent_agents": 1203,
"network_bytes_transferred": 67890123
},
"health_indicators": {
"cluster_sync_score": 0.94,
"resource_utilization": 0.67,
"collaboration_efficiency": 0.89,
"error_rate": 0.001
}
},
{
"type": "backbeat.barreport.v1",
"window_id": "a1b2c3d4e5f6789012345678901234ab",
"from_beat": 0,
"to_beat": 119,
"agents_reporting": 150,
"on_time_reviews": 147,
"help_promises_fulfilled": 12,
"secret_rotations_ok": true,
"tempo_drift_ms": -2.1,
"issues": []
}
]
}