267 lines
8.1 KiB
JSON
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": []
|
|
}
|
|
]
|
|
} |