Repository navigation
Recover unavailable memory helpers and clarify engine upgrades - #1903
Merged
Merged
Conversation
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.
Automatic memory capture could stop when both its configured helper and its configured fallback were unavailable. It now recovers through distinct helper → small-work → current-chat models within the existing 45-second budget. Invalid model IDs are skipped for that chat, successful substitution is disclosed once, and saved model preferences stay unchanged. External helper-setting edits take effect on the next call without restarting the engine.
An updated window can still be served by an older background engine. The startup notice now explains that reopening one window is insufficient, gives a safe close-all-workspace-windows path, and supplies a correctly quoted targeted restart command with an interruption warning.
/statusshows separate window and engine builds and refreshes after reconnection.Validation:
make build,make pr-ready, and actual terminal workflows using only mock memories. Every real model role used OpenRouterdeepseek/deepseek-v4.1-flash; unavailable-model faults were injected locally, not sent to a substitute provider/model.Observed
/statusoutput before restart:After reconnection:
Memory and upgrade acceptance ran on clean runtime revision
3bcb07f6c; timeout acceptance ran onde4fd64b9with the same memory implementation. Tests assert stored origin and actual file contents rather than trusting the model's claims. Test engines and terminal sessions were cleaned up.Recovery remains bounded; it does not bypass authentication, billing, quota, or policy refusals. Pending background retries remain limited to the open chat's lifetime.