vocab
Core schemas: #Resource, #Action, #TypeRegistry, #ActionDef
| Field | Value |
|---|---|
| Path | vocab/ |
| Layer | definition |
| Status | active |
Key Definitions
| Schema | Purpose |
|---|---|
#Resource |
Foundation type — every infrastructure component is a resource with @type, depends_on, and provider-specific fields |
#Action |
A resolved action with a concrete command string (output of binding) |
#ActionDef |
An action definition with typed parameters and a command template (provider declares these) |
#TypeRegistry |
The 57 semantic types that classify what resources ARE |
#SafeID |
ASCII-safe identifier constraint — prevents unicode injection at compile time |
Design Decisions
- Struct-as-set for
@typeanddepends_on—{LXCContainer: true}gives O(1) membership - Open schema (
...) — resources carry domain-specific fields without modifying vocab - Generic field names —
hostnotnode,container_idnotlxcid
See ADR-002 (struct-as-set) and ADR-014 (ASCII-safe identifiers).