CapacitySnapshot platform.capacity-snapshot@1
Generated at from
openvibe-contracts v0.79.0 and
openvibe-sdk v0.25.0.
- Version
- 1.0.0
- Owner
- network
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Decision
- ADR-034
- Schema
https://openvibe.network/contracts/platform/capacity-snapshot.v1.json
A node's reported capacity at one moment, sent by its Host agent (roadmap WS-Z9 task 1).
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
node_id | string | yes | ||
cell | string | |||
capacity | object | yes |
| |
capacity.cpu | object |
| ||
capacity.cpu.utilization | number |
| ||
capacity.cpu.available_cores | number |
| ||
capacity.memory | object |
| ||
capacity.memory.utilization | number |
| ||
capacity.memory.available_mb | number |
| ||
capacity.network | object |
| ||
capacity.network.ingress_mbps | number |
| ||
capacity.network.egress_mbps | number |
| ||
capacity.network.available_mbps | number |
| ||
capacity.disk | object |
| ||
capacity.disk.iops_available | number |
| ||
capacity.disk.scratch_gb | number |
| ||
capacity.disk.utilization | number |
| ||
capacity.gpu | object |
| ||
capacity.gpu.type | string | |||
capacity.gpu.vram_free_mb | number |
| ||
capacity.gpu.utilization | number |
| ||
capacity.workers | object | free worker slots by kind (browser, ffmpeg, ai, …) | ||
capacity.queues | object | queue depth and age by name | ||
capacity.event_loop_lag_ms | number |
| ||
services | object | |||
reported_at | string | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: node
{
"node_id": "ovh-oregon-1",
"cell": "wnam-1",
"capacity": {
"cpu": {
"utilization": 0.37
},
"memory": {
"utilization": 0.51
},
"event_loop_lag_ms": 4
},
"services": {
"chat": {
"instances": 1,
"active_requests": 12,
"p95_ms": 12.8,
"error_rate": 0.0003
}
},
"reported_at": "2026-09-28T23:00:00Z"
}Rejected: utilization-over-one
{
"node_id": "n",
"capacity": {
"cpu": {
"utilization": 1.5
}
},
"reported_at": "2026-09-28T23:00:00Z"
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('platform.capacity-snapshot@1', value); // { valid, errors: [{ path, message }] }