HWLAB Protocol Contract
The L0 protocol contract defines the common language between cloud services, gateway services, simulated boxes, agent workers, CLI tooling, and future hardware integrations.
All MVP implementations must preserve these invariants:
- Use JSON-RPC 2.0 envelopes for command-style API calls unless a later service contract explicitly narrows the transport.
- Emit auditable records for user, system, gateway, worker, and hardware actions that mutate state or produce evidence.
- Describe box hardware through capabilities, resource state, and wiring constraints instead of service-specific ad hoc fields.
- Treat DEV as the only MVP acceptance environment.
- Keep service identities within the frozen service ID list in the root README.
Frozen Tables
The database contract is intentionally named here before migrations exist so parallel MVP work shares stable terminology:
projectsgateway_sessionsbox_resourcesbox_capabilitieswiring_configspatch_panel_statushardware_operationsaudit_eventsagent_sessionsworker_sessionsagent_trace_eventsevidence_records
Schema Status
Schemas in protocol/schemas are draft-2020-12 JSON Schemas. They define L0
field names, identities, relationships, timestamps, and state enums. Later
service work may tighten validation, but must not silently rename these L0
contract fields.
Runtime Notes
wiring.mddefines the L3 patch-panel runtime loading, reload, diagnostics, and supported sync families.box-simu-internal.mddefines the simulator ports and/ports/writebehavior used by local L2/L3 smoke tests.