Skip to content

Preserve resident memory and report checkpoint state accurately - #3927

Merged
joelteply merged 8 commits into
canaryfrom
6d17695c/refuse-resident-bootstrap-when-persisten
Sep 9, 2026
Merged

Preserve resident memory and report checkpoint state accurately#3927
joelteply merged 8 commits into
canaryfrom
6d17695c/refuse-resident-bootstrap-when-persisten

Conversation

@joelteply

@joelteply joelteply commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Resident startup now refuses a slot when persistent engram storage cannot be restored. It preserves the original OrmStoreError in SupervisorError::AdmissionRestore instead of continuing with an empty AdmissionState and NoopSink, which also lost future admissions. Existing residents remain registered, healthy sibling slots can continue, and a new home still initializes persistent storage normally.

Working-memory restoration now describes the checkpoint evidence accurately: its age is time since the save, pending dispatch labels carry unknown completion and side effects, and an empty list means no pending dispatches were recorded in that checkpoint. Missing or zero save timestamps remain unknown. Restoration no longer asserts an interruption time, noncompletion, or safety to repeat an operation. The snapshot schema and existing rebuilt notice are preserved; the Persona decides what to do next.

The bootstrap regression calls actual materialize_adapters with a non-SQLite candidate database, a healthy sibling, and both cold and already-registered cases. It checks the original storage error, unchanged corrupt bytes, healthy persistent initialization, and exact prior resident preservation. The existing working-memory roundtrip regression now checks truthful pending-state wording and missing/zero save timestamps while retaining memory, receipt-counter, and rebuilt-notice checks. The recovery guide also distinguishes persistent engram identity from checkpoint adoption.

Validation:

Dependency #3925 is merged. Fresh CI on 42f0a12 is the remaining execution gate. Card 6d17695c-a8a3-4df6-bd6e-b2172a41ee82.

@joelteply joelteply changed the title Preserve resident memory when persistent engram loading fails Preserve resident memory and report checkpoint state accurately Sep 9, 2026
@github-actions github-actions Bot added size: L and removed size: XL labels Sep 9, 2026
@joelteply
joelteply marked this pull request as ready for review September 9, 2026 14:09
@joelteply
joelteply merged commit 52ca300 into canary Sep 9, 2026
4 of 5 checks passed
@joelteply
joelteply deleted the 6d17695c/refuse-resident-bootstrap-when-persisten branch September 9, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant