Skip to content

fix(persistence): preserve unloadable container bundles - #2127

Open
stephenlclarke wants to merge 1 commit into
apple:mainfrom
stephenlclarke:fix/preserve-unloadable-container-bundles
Open

fix(persistence): preserve unloadable container bundles#2127
stephenlclarke wants to merge 1 commit into
apple:mainfrom
stephenlclarke:fix/preserve-unloadable-container-bundles

Conversation

@stephenlclarke

@stephenlclarke stephenlclarke commented Aug 15, 2026

Copy link
Copy Markdown

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Motivation and Context

Closes #2033.

Preserve malformed or temporarily unloadable container bundles instead of deleting user state during startup. Validate runtime availability before publishing in-memory state, and atomically replace bundle metadata to avoid exposing interrupted JSON writes.

This supersedes the earlier closed #2035 with strengthened malformed-current-and-legacy configuration coverage, rebased onto current main.

Testing

  • Tested locally
  • Added/updated tests
  • Added/updated docs

Negative control on current main: malformed bundles were deleted and missing-runtime state was returned before its bundle was deleted.

  • Focused startup persistence regressions: 2/2 passed
  • Full non-integration suite: 758 tests passed
  • make fmt, make check, and git diff --check: passed
  • Commit signature: verified

Keep malformed or temporarily unloadable bundles on disk and validate the runtime plugin before publishing in-memory state. Write bundle metadata atomically so interrupted updates cannot expose partial JSON.

Fixes apple#2033
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.

[Bug]: Failed startup loads can delete bundles and publish unusable state

1 participant