Skip to content

fix: decouple baseline fingerprints from controller config - #13

Merged
lefoulkrod merged 1 commit into
mainfrom
fix/provenance-contract-cleanup
Aug 19, 2026
Merged

lefoulkrod merged 1 commit into
mainfrom
fix/provenance-contract-cleanup

Conversation

@lefoulkrod

Copy link
Copy Markdown
Contributor

What changed

  • Treat baseline provenance files as byte-fingerprint records instead of coupling their validity to the mutable controller manifest.
  • Keep legacy controller/contract hashes as capture-time diagnostic fields only.
  • Run VM --cleanup-baseline reset after successful, failed, and interrupted leases.
  • Document the separation between baseline fingerprints, controller validation, and deep byte-integrity checks.

Root cause and impact

The deployed AppImage and Windows named-baseline disks, UEFI state, and TPM state still exactly match their stored SHA-256 values. Preflight rejected them solely because older records carried a stale whole-controller-manifest hash. Separately, the VM lease cleanup branch was accidentally restricted to exit codes at or above 128, so ordinary success and failure could leave a guest running or dirty despite the documented cleanup contract.

This change restores existing unchanged baselines without rebuilding or rewriting any golden image and makes lease cleanup match the public contract.

Validation

  • ./tests/lab_test.sh
  • bash -n lab.sh tests/lab_test.sh install.sh lab-engine.sh lab-host.sh
  • node --test tests/release-notes.test.mjs
  • node scripts/release-notes.mjs validate-fragments
  • git diff --check

Release note

Adds release-notes.d/baseline-fingerprints-and-lease-cleanup.md.

@lefoulkrod
lefoulkrod marked this pull request as ready for review August 19, 2026 14:23
@lefoulkrod
lefoulkrod merged commit 72bba2a into main Aug 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant