feat(package-service): add registry-neutral lifecycle contract - #1770
Closed
joshuajbouw wants to merge 6 commits into
Closed
feat(package-service): add registry-neutral lifecycle contract#1770joshuajbouw wants to merge 6 commits into
joshuajbouw wants to merge 6 commits into
Conversation
Add a private, registry-neutral package-service contract and pure executable state model. Owner/package slots co-locate canonical state with the authoritative journal so a later durable backend can commit them as one value. The model binds authority to a complete canonical operation context and validates expected-state lifecycle transitions, bounded drains, cancellation, recovery, receipt replay, and fail-closed quota and retention behavior. It deliberately does not add transport, durable storage, byte parsing, runtime integration, or a public compatibility surface. Closes #1750 Signed-off-by: Joshua J. Bouw <[email protected]> Assisted-by: Codex
Bind update success to canonical completion evidence, refuse mid-drain success, and restore aborted drains inactive with a fresh generation. Bind lifecycle plans to canonical state, keep package generations monotonic, reject zero binding digests, and expose validated shared contract inputs to internal consumers. Closes #1750 Signed-off-by: Joshua J. Bouw <[email protected]> Assisted-by: Codex
Make the recorded drain deadline authoritative for proof, completion, and late replacement recovery, while leaving explicit expiry and old-content recovery fail-closed. Validate runtime evidence and observed state at the internal recovery boundary, bind canonical transitions to exact package-generation successors, and cover non-drain cancellation. Closes #1750 Signed-off-by: Joshua J. Bouw <[email protected]> Assisted-by: Codex
Retain the exact pre-drain state and monotonic boundary generation in the authoritative journal. Advance the boundary on each lease proof and restore prior content as the current boundary successor on cancel, expiry, or old-state recovery. Closes #1750 Refs #1719 Assisted-by: Codex Signed-off-by: Joshua J. Bouw <[email protected]>
Bind staged install/update commits before uncertainty, require recorded removal lineage for absence recovery, reject outcome-mismatched evidence, and clear stale drain lineage on successful recovery. Closes #1750 Refs #1719 Assisted-by: Codex Signed-off-by: Joshua J. Bouw <[email protected]>
Retain slot generation high-watermarks across absent states and all lifecycle resolutions, with overflow checked before any effect. Bind install and update authority, staging, commit, and recovery to one exact content and lifecycle plan. Split lifecycle generation and commit seams while preserving recovery and drain lineage behavior. Closes #1750 Refs #1719 Assisted-by: Codex Signed-off-by: Joshua J. Bouw <[email protected]>
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.
Linked Issue
Tracking #1750. Superseded by #1800.
Summary
Preserved non-landing evidence for the first registry-neutral package-service lifecycle design.
Independent review rejected this implementation. The replacement was rewritten, reviewed, and landed through #1800; #1750 is closed. This PR must not be merged or retargeted.
Changes
os/universal.Verification
AI / Tool Assistance
Assisted-by: Codex:GLM-5.3 Flash
AI assistance was used for the original implementation. The maintainer owns the rejection and supersession decision.
Checklist