Skip to content

REQ 101

sergio velderrain edited this page Nov 9, 2026 · 2 revisions

REQ-101: Run each lane in a disposable instance of a verified base image

Requirement

Each lane run shall execute in a VM instance created for that run alone, from a base image whose digest matches its receipt, and leave that base image unchanged.

Rationale

One clean, attributable guest per platform per candidate, without rebuilding from an ISO each time (challenge ledger rows CH-03 and CH-10 in VITechnologies/projectbuddy#159). The lane design is in VITechnologies/projectbuddy#166.

Fit Criterion

Across N lane runs, the base image's digest and receipt are unchanged, and every run's teardown receipt (REQ-102) names a distinct instance UUID. Rejected: a box file whose digest differs from its receipt is refused before any VM mutation, and a run that would reuse an earlier run's instance UUID fails.

Verification

Planned, TEST-103; not yet performed live. Offline fixture tests show that the dry-run lane plan refuses a box whose SHA-256 differs from its receipt, checked before and independently of the receipt, and refuses an instance UUID that VirtualBox still lists although an earlier lane record observed it removed or absent. The plan issues no VM mutation. The N-run observation waits for the lane executor and a live run.

Source

Software-Requirements-Specification

Priority

High

TestID

TEST-103

TestArtifact

scripts/tests/test_lane_plan.py box-digest and reused-instance-UUID cases

CodeRef

scripts/lane/plan.py with scripts/lane_box/receipt.py, scripts/Invoke-Lane.py (plan), and docs/vm-provisioning/ubuntu-lane.md; the lane executor is not implemented

Status

Planned; offline fixture tests pass, no live proof yet

Clone this wiki locally