chore: establish hwlab l0 contract skeleton

This commit is contained in:
HWLAB Code Queue
2026-05-21 14:27:53 +00:00
commit 8f3069035f
41 changed files with 1732 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
# 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:
- `projects`
- `gateway_sessions`
- `box_resources`
- `box_capabilities`
- `wiring_configs`
- `patch_panel_status`
- `hardware_operations`
- `audit_events`
- `agent_sessions`
- `worker_sessions`
- `agent_trace_events`
- `evidence_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.