Files
cgm-remote-monitor/docs/proposals/schemas/capability-snapshot.schema.json
T
bewestandBen West 12c90cfc63 Add proposal for agentic collaboration control plane and data plane
Create a new RFC document and associated JSON schemas defining an agentic control plane for automated insulin delivery systems, including event envelopes, capabilities models, delivery tracking, and conflict rules.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 06715f81-f852-4156-8ab0-cf9e0aa3564d
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 010cdc4a-2c86-4d2e-9768-bf2769a89953
Replit-Helium-Checkpoint-Created: true
2026-01-19 13:12:53 -08:00

182 lines
5.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://nightscout.github.io/schemas/capability-snapshot.schema.json",
"title": "CapabilitySnapshot",
"description": "Point-in-time snapshot of what the controller can actually do right now",
"type": "object",
"required": ["snapshotId", "controllerInstanceId", "snapshotAt"],
"properties": {
"snapshotId": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for this snapshot"
},
"controllerInstanceId": {
"type": "string",
"description": "Reference to ControllerInstanceRegistration"
},
"connectivity": {
"type": "object",
"description": "Current connectivity status",
"properties": {
"pumpConnected": {
"type": "boolean",
"description": "Is pump currently connected"
},
"pumpLastContact": {
"type": "string",
"format": "date-time",
"description": "Last successful communication with pump"
},
"pumpRSSI": {
"type": "integer",
"description": "Pump radio signal strength"
},
"cgmConnected": {
"type": "boolean",
"description": "Is CGM currently connected"
},
"cgmLastReading": {
"type": "string",
"format": "date-time",
"description": "Timestamp of last CGM reading"
},
"internetConnected": {
"type": "boolean",
"description": "Is device online"
}
}
},
"automationState": {
"type": "object",
"description": "Current automation status",
"properties": {
"closedLoopEnabled": {
"type": "boolean",
"description": "Is closed-loop automation active"
},
"suspended": {
"type": "boolean",
"description": "Is insulin delivery suspended"
},
"suspendReason": {
"type": "string",
"description": "Why suspended (if applicable)"
},
"lastLoopTime": {
"type": "string",
"format": "date-time",
"description": "When loop algorithm last ran"
},
"lastEnactTime": {
"type": "string",
"format": "date-time",
"description": "When last delivery was enacted"
}
}
},
"effectiveLimits": {
"type": "object",
"description": "Current safety limits in effect",
"properties": {
"maxBasal": {
"type": "number",
"description": "Maximum basal rate allowed (U/hr)"
},
"maxBolus": {
"type": "number",
"description": "Maximum bolus allowed (U)"
},
"maxIOB": {
"type": "number",
"description": "Maximum IOB allowed (U)"
},
"minBG": {
"type": "number",
"description": "Minimum target BG"
}
}
},
"health": {
"type": "object",
"description": "Device health indicators",
"properties": {
"reservoirUnits": {
"type": "number",
"description": "Remaining insulin units in reservoir"
},
"reservoirLevel": {
"type": "string",
"enum": ["full", "adequate", "low", "critical"],
"description": "Reservoir level category"
},
"batteryPercent": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Pump battery percentage"
},
"phoneBatteryPercent": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Controller device battery"
},
"podAge": {
"type": "integer",
"description": "Hours since pod was activated (for pod pumps)"
},
"podExpires": {
"type": "string",
"format": "date-time",
"description": "When pod expires"
},
"cgmCalibrationStatus": {
"type": "string",
"enum": ["ok", "needed", "overdue", "na"],
"description": "CGM calibration status"
},
"sensorAge": {
"type": "integer",
"description": "Hours since sensor was started"
},
"timeSyncHealth": {
"type": "string",
"enum": ["good", "drift", "unknown"],
"description": "Clock synchronization status"
}
}
},
"degradedCapabilities": {
"type": "array",
"description": "Capabilities that are currently degraded or unavailable",
"items": {
"type": "object",
"properties": {
"capability": {
"type": "string",
"description": "Which capability is affected"
},
"reason": {
"type": "string",
"description": "Why it's degraded"
},
"since": {
"type": "string",
"format": "date-time"
}
}
}
},
"snapshotAt": {
"type": "string",
"format": "date-time",
"description": "When this snapshot was taken"
},
"validFor": {
"type": "integer",
"description": "How long this snapshot is valid (seconds)"
}
}
}