Repository navigation
fix: stabilize retained Compose resource observations - #243
Merged
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.
Retained Compose startup can refuse a valid job exit when network membership and container state are read at different moments. Bracket membership with verified container observations and discard only changing running states within the original aggregate deadline and output budget. Foreign members, undeclared bridge membership, replaced identities and stable mismatches still refuse; job completion remains bound to the existing scheduler's fresh-attempt proof.
The deterministic regression starts the original job, makes it exit during the membership read, and verifies that the dependent can start after a stable observation. Controls cover foreign and replaced resources, same-ID network birth changes, wrong-bridge membership, unstable deadline exhaustion and unchanged completion authority. This does not establish the cause of earlier hosted failures or provide an atomic Docker snapshot; delayed endpoint removal can still refuse. Additional inspection calls are confined to retained-resource verification.
Validation: 94 binding tests / 1,041 assertions passed, including seven focused race controls; CLI and focused test TypeScript checks passed; changed-file lint passed with one existing complexity warning. All twelve exact-head CI checks passed, including Docker E2E, runtime models and all four compiler platforms. Fresh M3 live acceptance remains pending. No release or performance claim.
Tracks HACK-1222.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.