Repository navigation
Recover EP purge after partial process crash - #322
Merged
Merged
Conversation
This was referenced Sep 29, 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.
Scope
Fix the EP Server system-instance
PURGErecovery gap reproduced under revision 26 ofpcvantol/forge#142against the exact published 2.3.104 wheel. A SIGKILL during recursive deletion can removeinstance.jsonafter the legacyREMOVEreceipt but before the lifecycle tombstone, causing same-operation retry to fail.This change records the original root device/inode and minimal topology at
PURGE_READY, then resumes only the exact terminalREMOVEoperation against that same root. It rejects a replacement root or changed surviving descriptor, rechecks remaining entries, and publishes the existing tombstone/receipt after deletion. No public lifecycle contract, service account, provider credential, Forge Platform or Workspace code changes.Evidence
sha256:3f7822fd081598f81d5c666200787a3b2182d7004c078cc36ec20455269909cb: exact child SIGKILL during observed partial deletion, same-operation retryGAP_PROVEN.sha256:bccae2368fdce51508b7d18d79dad49961cac0325df915922e693b1c6c8afebc: same harness reachedPURGED, terminal replay identical, sibling byte-identical, no surviving child. This is candidate evidence, not released-artifact qualification.system_instance_lifecycle.py85%;system_instance_provisioner.py81%. Both exceed the required 80.2% executable-line threshold. Hosted gates remain required.Open gates
Independent Quality/Security review, protected checks and exact-head merge remain required. Any product release must follow the normal version/release workflow, then this SIGKILL harness and all affected lifecycle/security regressions must run on actually published bytes. The broader revision-26 crash matrix and terminal #142 handoff remain open under the same assignment.
Canonical register: pcvantol/forge#142 (comment)