Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,13 @@
from raes_conformance.conformance.validators import _validate_payload

# Default reference scenario the target-conformance adapter probe drives when the
# caller supplies none. Backend-neutral: a single generic linux vm node.
# caller supplies none. Backend-neutral: a single generic compute node with no
# authored OS identity — an authored ``os`` becomes an exact SEM-218
# realization requirement demanding corroboration no hermetic in-process
# backend declares, which is what regressed this probe when authored OS
# identity started carrying through realization. Leaving it unset keeps the
# probe admissible on every declared envelope, mirroring
# ``examples/scenarios/cross-backend-minimal.sdl.yaml``.
#
# Issue #663 makes this a *default*, not a universal assumption. A fixed-topology
# emulation or bounded simulation backend that cannot realize this generic
Expand All @@ -55,7 +61,6 @@
nodes:
vm:
type: compute
os: linux
resources: {ram: 1 gib, cpu: 1}
conditions: {health: ops}
roles: {ops: operator}
Expand Down
23 changes: 23 additions & 0 deletions implementations/python/tests/test_reference_backend_conformance.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,29 @@ def test_reference_target_requires_opacity_probe_for_positive_declaration():
assert not report.unsupported_capability_gaps


def test_adapter_probes_pass_for_every_hermetic_backend():
"""The provisioning/snapshot adapter probes must stay envelope-neutral.

An authored ``os`` in the default probe scenario becomes an exact SEM-218
realization requirement no hermetic in-process backend can corroborate,
which silently failed these probes for every honest backend when authored
OS identity started carrying through realization. Pinning them keeps the
default probe admissible on every declared envelope (issue #663's runner
parameter stays the escape hatch for bounded backends).
"""

from raes_backend_stubs.stubs import create_stub_target

for target in (create_reference_backend_target(), create_stub_target()):
report = run_target_conformance(target)
cases = {case.name: case for case in report.cases}
for name in ("target-provisioning", "target-snapshot"):
assert cases[name].passed, (
f"{name} must pass for an honest hermetic backend; "
f"diagnostics: {[diag.message for diag in cases[name].diagnostics]}"
)


def test_reference_target_drives_full_participant_probe_case_set():
report = run_target_conformance(create_reference_backend_target())

Expand Down