Repository navigation
refactor(flows): adopt confined memory operations and preserve keyed writes - #437
Merged
senamakel merged 12 commits intoOct 19, 2026
Merged
Conversation
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ts.rs,crates/openhuman-core/src Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…crates/openhuman-core/src/flows Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…forget_filter The forget_matching match arms now return their results directly instead of using explicit return statements. The forget_filter function gained a doc comment describing its behavior and error conditions. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
…/openhuman into epic-8055-prereq-97-flow-memory
Update the vendored tinymemory submodule to a newer commit. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the vendored tinymemory submodule to the latest upstream commit. Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: macbook Co-authored-by: Medulla <medulla@tinyhumans.ai>
senamakel
merged commit Oct 19, 2026
d29a58b
into
epic/8000-memory-to-tinymemory
3 of 4 checks passed
This was referenced Oct 19, 2026
Closed
senamakel
added a commit
that referenced
this pull request
Oct 20, 2026
refactor(flows): adopt confined memory operations and preserve keyed writes
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.
Flow-memory adapters now use TinyMemory's tag-filter construction and confined filter deletion through the central memory operations adapter. Namespace confinement stays centralized; flow identity, tags, trust and tier decisions remain with the flow host. Filter deletion also invalidates the host prefetch cache through that adapter.
Keyed replacement snapshots the old item IDs, writes the replacement, then removes only obsolete snapshot IDs. A failed write preserves the previous value; failed cleanup preserves both old and new values; a concurrent write after the snapshot survives. The regression tests reproduce the two data-loss cases against the old code and verify all three outcomes.
Pin TinyMemory to merged fork PR36, commit
0ed2c698d85bd4cf9a34311664cb70200798b5e1. Its 34 hosted checks passed, and the remote merge tree matches the independently tested candidate. This PR preserves the current memory-epic base in ordinary merge history.Validation:
RUST_TEST_THREADS=1, a 16 MiB stack and processNOFILE=16384.cargo check: passed.pnpm rust:layoutand feature forwarding: passed.All-target strict Clippy reports 40 inherited diagnostics in 10 unrelated files; each affected file is byte-identical to pre-task base
618b772c. No diagnostic is in the changed files. The initial flows run at macOS's soft file limit of 256 failed on SQLite opens/EMFILE (356 passed, 232 failed). The same source and full suite passed after raising only the process limit; both raw results are retained.Refs #97
Part of tinyhumansai#8000
Required by tinyhumansai#8055