Skip to content

Retain compute transition failure observations - #650

Merged
SaladDay merged 1 commit into
mainfrom
fix/retain-transition-observation
Oct 10, 2026
Merged

SaladDay merged 1 commit into
mainfrom
fix/retain-transition-observation

Conversation

@SaladDay

@SaladDay SaladDay commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

When an idle allocation commits a compute phase and a subsequent provider call fails, reconciliation was recording the failure against its earlier scan revision. The observation CAS correctly rejected that stale revision, leaving the actual failure invisible. Compute operations now carry the receipt they held when the failure occurred, so the existing typed diagnostic can be recorded against that exact allocation state and revision.

The private error wrapper preserves errors.Is/errors.As. It never fetches a newer owner to attach an old failure, and delayed failures cannot overwrite a successor revision. No lifecycle state, public error, protocol or provider-specific behavior changes.

Validation:

  • Real PostgreSQL regressions for capture failure and failure after committing a snapshot receipt: both fail on the baseline and pass with this change; also verify later-revision protection and clearing a current diagnostic.
  • Full execution package with PostgreSQL passed (23.959s).
  • Core build, execution go vet, name guard and diff whitespace checks passed after rebasing on main.
  • Fresh independent review of the complete diff reported no findings.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@SaladDay
SaladDay merged commit 9c85f25 into main Oct 10, 2026
19 checks passed
@SaladDay
SaladDay deleted the fix/retain-transition-observation branch October 10, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant