fix(engine): make .seed_version marker authoritative (no boot refusal) #93
Reference in New Issue
Block a user
Delete Branch "feature/dict-seed-marker-wins"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Follow-up to #92. Make the
.seed_versionmarker authoritative instead of refuse-boot.Why (incident)
On the test contour the
TEST_DICT_VERSIONvariable was bumped to the active release (v1.2.1) while the volume's flat dir was seededv1.0.0. The refuse-boot guard from #92 then crash-looped the backend:DICT_VERSIONis the seed of a fresh volume, not the active version (which the admin console drives). A natural operator action shouldn't take the contour down.Change
OpenWithVersionsresolves the flat dir's version from.seed_versionwhen present and ignoresbootVersionon an already-seeded volume;bootVersiononly seeds a fresh volume's marker. So:v1.2.1uploaded via the console while the build seed isv1.2.1) stays loaded rather than shadowed by the flat bytes.Still a guard against corruption — just by pinning the label to the marker rather than crashing.
Tests
TestOpenWithVersionsMarkerWinsOverBoot,TestOpenWithVersionsBumpedBootKeepsSubdir(the live-contour case). Docs flipped from "refuses to boot" to "marker wins / ignored" (ARCHITECTURE §5, READMEs, compose/.env, PRERELEASE DV).Verification
Local against
v1.2.1: gofmt, build, vet, unit, integration green. This PR's deploy restores the contour (markerv1.0.0wins over thev1.2.1build seed → boots flatv1.0.0+ residentv1.1.0/v1.2.1, activev1.2.1).TEST_DICT_VERSION=v1.2.1can stay — harmless now, correct seed for a future wipe.