Skip to content

test(writ): the deploy leg — and the three defects it caught - #349

Merged
David-Noble-at-work merged 1 commit into
developfrom
test/writ-scenario-deploy
Aug 8, 2026
Merged

David-Noble-at-work merged 1 commit into
developfrom
test/writ-scenario-deploy

Conversation

@David-Noble-at-work

Copy link
Copy Markdown
Contributor

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/inventory import — 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, and occupantIsOurs now 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 is index.ndjson, not index.jsonl. Verified: suite green, three consecutive scenario runs green, board zero both GOOS.

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).
@David-Noble-at-work David-Noble-at-work self-assigned this Aug 8, 2026
@David-Noble-at-work
David-Noble-at-work merged commit 3dfa813 into develop Aug 8, 2026
2 checks passed
@David-Noble-at-work
David-Noble-at-work deleted the test/writ-scenario-deploy branch August 8, 2026 19:29
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