Repository navigation
REQ 101
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.
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.
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.
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.
Software-Requirements-Specification
High
scripts/tests/test_lane_plan.py box-digest and reused-instance-UUID cases
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
Planned; offline fixture tests pass, no live proof yet