Skip to content

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 @type and depends_on{LXCContainer: true} gives O(1) membership
  • Open schema (...) — resources carry domain-specific fields without modifying vocab
  • Generic field nameshost not node, container_id not lxcid

See ADR-002 (struct-as-set) and ADR-014 (ASCII-safe identifiers).