Repository navigation
fix: Add durable maintenance adapters and transient deferral - #803
Draft
buildingjoshbetter wants to merge 3 commits into
Draft
buildingjoshbetter wants to merge 3 commits into
buildingjoshbetter wants to merge 3 commits into
Conversation
This was referenced Oct 8, 2026
This branch has not been deployed
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
Adapter checkpoint for #753, stacked on #800. Enroll all eight persisted maintenance layers with durable coverage and explicit borrowed-transaction support. Production engine scheduling is not routed here yet. Includes #801's MCP/Pydantic dependency correction for current installation gates.
Changes
Reproduced review failures
Review caught model contention resetting the 25-append baseline after one append, Row-factory incompatibility, and an initial model-lock wait inside a caller transaction. Corrected controls cover initial/forced/mid-compute/final-publication contention, whole-row restoration, absent rows, ownership replacement, cancellation and rejected rollback/restoration. A plain RuntimeError containing busy-like text remains a real failure; exception text does not select deferral.
Validation
5de4cdc72ae32099f981765abb5443366db89105: 2,442 passed, 22 skipped, 3 deselected; 573 subtests passed.816a2a2faf7cc318a8605bd59a2be822789ebe8e31e53eaa123f4c16e1454c08.ruff check truememory/ tests/CI gate, Python 3.10 syntax, whitespace, staged-content and commit-identity scans passed. GPUBox source hashes matched the reviewed local source. Hosted matrix remains pending.Remaining work and limits
Engine startup/foreground wake routing, durable shared scheduling, preference extraction and stale getter policy remain separate checkpoints. This patch does not activate automatic processing or close #753.
A caller retaining an existing writer can retain it during computation. Borrowed cluster coverage does not certify arbitrary later writes or the final caller commit. The owned guard's initial capture can still wait outside its database transaction. Dependency metadata checks are not certification of every legacy vector writer.
The separate custom-schema collation/replacement follow-up remains open; canonical maintenance/FTS correctness on those schemas is not certified here. Standalone rebuild bridging belongs to #802.
All tests use generated inputs and controlled dependency boundaries. No native model-performance, whole-process memory or MPS/thermal improvement is established by this suite. Models, rerankers, precision, dimensions and retrieval depth are unchanged. No personal memory database, transcript or credential is included. No main merge, release or issue closure.