feat(memory): learn from durable evidence and recover private sessions - #598
Open
jacoblee-io wants to merge 12 commits into
Open
jacoblee-io wants to merge 12 commits into
jacoblee-io wants to merge 12 commits into
Conversation
nightmeng
force-pushed
the
codex/private-space-oss
branch
from
September 13, 2026 15:12
427de6e to
dbdff1a
Compare
Persist exact Pi branches and user files through a trusted object storage service, with owner-bound pods, fenced checkpoints and conservative personal memory. Keep configuration and Skill authority outside restored state, preserve workspace guards across rebuilds, and deliver SIGTERM to the application for final persistence. Tested: full Vitest suite (7551 passed, 1 skipped), TypeScript/build, real MySQL/object storage recovery, two-user isolation and Linux Pod restart/shutdown checks.
Preserve failure classification across RPC and HTTP so temporary outages can recover before the existing local deadline. Keep terminal rejections and late replies fenced, bound stalled renewals, and enforce Linux file ownership for the actual process UID. Tested: 7598 Vitest tests passed, 1 skipped; TypeScript check and build passed
Warn once per transient outage, report recovery and expiry, and keep private response bodies out of logs. Document the remaining 120-second server lease wait and its limits during crash recovery. Tested: 7598 Vitest tests passed, 1 skipped; TypeScript check and build passed
Forward cancellation to HTTP and mTLS reads and bound missing heartbeats so a removed pod cannot leave the turn consumer waiting indefinitely. Keep Stop finalization intact when the transport aborts. Tested: 23 related test files / 605 tests; TypeScript; build
… volumes Without DAC_OVERRIDE, recursive chown cannot traverse a reused restricted directory assigned to the application group. Repair each credential type directory first so startup can retain the type-specific reader groups.
Keep remote recall selective and tied to literal source windows. Use independent search/read RPCs, shared turn budgets, and explicit remote backend requirements. Classify completed snapshots in coalesced background work so saved replies do not wait for learning. Tested: 7617 Vitest cases, typecheck, build, live two-runtime isolation and source reads
Keep learning in AgentBox while the host selects committed evidence and fences publication. Bound recall and record explicit corrections and forgetting without installing skills or granting execution authority. Tested: 7461 tests, typecheck, build, Helm matrix and two-runtime live checks
Keep the Portal capability picker and tool count aligned with the backend memory groups. Add a cross-layer contract assertion so future changes cannot silently drift.
Preserve task goals and failed attempts, organize cross-session topics with independent background work, and attribute only delivered evidence. Avoid redundant reads and bound optional recall so memory reduces repeated work without changing execution permissions. Tested: 7488 tests passed, one existing skip; TypeScript; 288 real-model fixture runs; cross-runtime isolation, correction, forgetting, concurrent learning and completed-session Pod recovery.
nightmeng
force-pushed
the
codex/private-space-oss
branch
from
September 14, 2026 03:11
a6e5ca3 to
7f25e2a
Compare
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.
Summary
Shared volumes tie private sessions to a Runtime, while unbounded recall can retain obsolete or forgotten instructions. Persist private session checkpoints in host-authorized object storage and replace legacy personal-memory indexes with bounded evidence learning in AgentBox. Users can reuse their own memory across Runtimes and resume completed sessions after Pod replacement.
Solution and upgrade
Deploy a compatible host API before Runtime/AgentBox. Export and verify historical state before enabling remote workspace mode. Object versions remain retained; forgetting learned memory does not erase source checkpoints. Existing spaces keep their storage placement; cross-bucket migration is not implemented. See the memory design and workspace operations guide.
Test Plan
mainat479eb6b5; 85 targeted TypeScript test files / 1,540 tests and the TypeScript build passed.Both latest recall turns used one
memory_search; the restored-session follow-up used no tools. This is not an official Codex/Claude product comparison or a geographical latency measurement. In-flight hard-kill recovery and earlier Helm coverage were not repeated in this deployment pass.Architecture Checklist
General Checklist