fix: keep descriptive transaction plans non-executable - #103
Merged
Conversation
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.
Summary
Keep public transaction-plan re-admission descriptive even when every payload is empty. Native construction now binds execution to the complete transaction identity; canonical structure, root, payload and filesystem-state checks remain independently necessary. Existing confined journal recovery does not acquire or depend on the public Apply capability.
Closes #102.
This is a prerequisite for managed agent integrations, not their implementation. Integration install/update/remove and native host activation remain open under INTEGRATION-01.
Contract And Compatibility
Proof
Final local gate completed on
847d38d8f1ecac7d66d63a83a1eb1705171948b9, tree2a835ac758191caa26245694aec9e6fca901bfdc:npm run check, including 93 browser tests, package artifact execution, 101 bound requirements and 322 scenarios, self receipt, coverage, and release closeout. Targeted race tests and native ARM64 Linux Docker transaction tests also passed. The committed-range whitespace check passed and the worktree remained clean.All required and advisory provider checks passed on this same head: source, platform, browser and aggregate, CodeQL, OSV, and semantic diff. The two PR provider-upload jobs were policy-skipped; provider ingestion is not inferred from them.
Non-Claims
Native construction is not caller authentication, approval, or a public SDK. This PR does not establish host skill activation, registry publication, rollout, production readiness, or exhaustive installed-catalog correctness. Publication requires the separate post-merge release workflow.
Retro
The original empty-payload defect confused payload reconstruction difficulty with construction authority. The review correction exposed a separate testing failure: an early guard can make a downstream negative test pass for the wrong reason. Each affected test now preserves the earlier predicates and demonstrably kills its assigned wrong implementation. Release-oracle synchronization and an executable Docker temporary mount were also corrected before publication; no installed skills were modified.