fix: isolate module verification and refresh source provenance - #108
Merged
Conversation
Signed-off-by: rldyourmnd <danil@nddev.it.com>
This was referenced Sep 7, 2026
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.
Consumer verification of the version-artifact update exposed stale generated source provenance: the new schema and source had landed without refreshing the development bundle lock and workflow provenance. Clean checkouts then failed context/assurance checks with
GDS_CONTEXT_POLICY_SOURCE_DIGEST_MISMATCH. Regenerate the two affected outputs from staged canonical sources through the native plan/apply/verify transaction; committed-source context and the complete validation now pass.Module verification also inherited the controller's ambient
GDS_ESTATE_ROOTand discarded stdout. A module command now resolves its own checkout unless its declared command explicitly selects an estate. Failure diagnostics retain a redacted combined stdout/stderr tail, bounded during execution, so ago testassertion is visible rather than an empty diagnostic. Shell launch failures report an exit state instead of dereferencing a missing process state, and inherited output pipes have a bounded wait.Validation: both new isolation/stdout regressions failed before the change and pass afterward; focused race tests cover command execution, timeouts, output bounds and launch errors;
scripts/validate_go_core.sh --quickpassed on the committed source (all Go tests, vet, build, lock/schema/contract/projection checks); 47 Python tests passed. Native projection plan, apply, verify and two byte-identical check results were recorded. Initial pre-regeneration and uncommitted-projection runs remain failures; the final result is from the complete committed source.