Requirements
- SEM-218 — Explicitness And Realization Semantics
Finding
The SDL requires every node to declare type: vm or type: switch. Node.type is also a registered SEM-218 realization concern, so an explicitly authored vm is binding and wins over an inherited open realization posture.
This leaves no portable way for an author to describe a compute node while deliberately leaving its realization as a virtual machine, container, cloud instance, constructed root filesystem, or another compatible substrate to the selected backend. APTL currently realizes SDL vm nodes as containers, demonstrating that the authored vocabulary and the backend mechanism are already being treated as different concepts without a contract that states that distinction.
Impact
Authors who do not care about the virtualization mechanism must nevertheless assert one. Backends must then either contradict the authored vm value, reinterpret it non-literally, or reject an otherwise satisfiable scenario. This obscures the boundary between scenario intent, backend realization, and realization attestation.
Required investigation before solutioning
Before proposing a contract or implementation change, investigate and document the existing architectural and design patterns in this repository, including:
- Node, NodeType, and their historical semantics;
- SEM-218 exact/constrained/open classification and leaf precedence;
- realization-envelope and backend-capability contracts;
- the reference and libvirt backend treatment of node type;
- existing ADRs and issues governing abstract scenario resources versus concrete realization mechanisms; and
- downstream usage in APTL and other conformant backends.
The investigation must determine whether vm is intended as scenario semantics, a realization mechanism, or an overloaded combination. Do not select a syntax or implementation approach until that analysis is complete.
Acceptance criteria
Ecosystem context
This was found while auditing TechVault realization boundaries in OpenRAE/env-packs#288 and APTL realization behavior in Brad-Edwards/aptl#869.
Requirements
Finding
The SDL requires every node to declare type: vm or type: switch. Node.type is also a registered SEM-218 realization concern, so an explicitly authored vm is binding and wins over an inherited open realization posture.
This leaves no portable way for an author to describe a compute node while deliberately leaving its realization as a virtual machine, container, cloud instance, constructed root filesystem, or another compatible substrate to the selected backend. APTL currently realizes SDL vm nodes as containers, demonstrating that the authored vocabulary and the backend mechanism are already being treated as different concepts without a contract that states that distinction.
Impact
Authors who do not care about the virtualization mechanism must nevertheless assert one. Backends must then either contradict the authored vm value, reinterpret it non-literally, or reject an otherwise satisfiable scenario. This obscures the boundary between scenario intent, backend realization, and realization attestation.
Required investigation before solutioning
Before proposing a contract or implementation change, investigate and document the existing architectural and design patterns in this repository, including:
The investigation must determine whether vm is intended as scenario semantics, a realization mechanism, or an overloaded combination. Do not select a syntax or implementation approach until that analysis is complete.
Acceptance criteria
Ecosystem context
This was found while auditing TechVault realization boundaries in OpenRAE/env-packs#288 and APTL realization behavior in Brad-Edwards/aptl#869.