Repository navigation
test(writ): the deploy leg — and the three defects it caught - #349
Merged
Merged
Conversation
Phase 2 of the writ-deploy scenario (#346). The test deploys noblefactor and thenobles in the sandbox, asserts the filesystem (links resolve, the template renders with segment data), writ status --json all-healthy, the execution store, and a trace-appending second deploy — green in fixture mode and against the real devlore-cli/writ-layer branch. Three real defects caught and fixed: (1) the writ and lore binaries shipped without provider registration — no inventory import in their mains, so every real-binary layered deploy died planning file.mkdir; (2) every deployed symlink dangled at command exit — links planned into cache-home snapshot worktrees that deploy removes on the way out; ruled: links and recorded metadata carry the origin path (FileEntry.Origin, LayerSource.OriginRoot), reads keep the snapshot, the confinement root spans both, and re-deploy idempotence becomes real; (3) trace filenames had one-second resolution, silently overwriting the audit trail on same-second runs — now nanosecond. Docs corrected: the run index is index.ndjson. walkDirectory's growth extracted as fileEntryAt (gocognit).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 2 of #346, the scenario's charter proven on its first full run. The deploy leg (fixture + real-branch modes, both green) caught three real defects, all fixed here: (1) writ and lore binaries had no provider registration (missing
pkg/op/inventoryimport — only the in-process tests imported it), so every real-binary layered deploy failed at planning; (2) deployed symlinks dangled the moment deploy exited — planned into snapshot worktrees the deferred cleanup removes; ruled: links + recorded metadata carry the origin path (FileEntry.Origin/LayerSource.OriginRoot), reads keep the pinned snapshot, the confinement root spans both, andoccupantIsOursnow makes re-deploy idempotence real; (3) trace filenames were second-resolution — same-second runs silently overwrote the audit trail; now nanosecond. Passing doc fix: the run index isindex.ndjson, notindex.jsonl. Verified: suite green, three consecutive scenario runs green, board zero both GOOS.