Remove the OpenHuman framing from core (#18 §C4) - #47
Merged
YellowSnnowmann merged 1 commit intoAug 18, 2026
Merged
Conversation
Deletes `default_openhuman_dir()` and its one caller, `MemoryClient::new_local()`. `new_local` is the constructor that produced openhuman#5570: it resolved `~/.openhuman/workspace` from the home directory and never consulted the host's workspace scoping, so on any scoped host the write landed in a store nothing else reads -- it failed by succeeding. openhuman#5575 removed the last caller; the reviewer there noted no lint on the host side can hold this line (a scanner needle for a dead function fails the liveness check), so the deletion has to happen here. `default_openhuman_dir` existed for `new_local` alone. With it gone, core no longer knows the host's directory layout at all: every construction path takes an explicit workspace directory. What deliberately stays: - `global::init_default()` -- `#[cfg(test)]`, and its doc already warns it must never run in production. - The `"openhuman"` provider slug in the embedder resolution ladder -- host config vocabulary, not directory framing; removing it breaks existing configs for no containment gain. - `OPENHUMAN_OLLAMA_BASE_URL` in `TestEmbeddingHost` -- `#[cfg(test)]`. - Test fixture prose mentioning OpenHuman. `dirs` stays a normal dependency: `engine/persona.rs` still resolves the home directory for persona files. cargo test -p tinymemory-core: 804 passed, 0 failed cargo clippy -p tinymemory-core --all-targets: clean cargo fmt --all -- --check: clean
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
How this change flows1 changed behaviour across 11 relationships. 6 surrounding behaviours are shown (60 graph nodes walked). 34 further behaviours left out to keep the diagram readable. flowchart LR
n0["MemoryClient<br/>changed"]:::changed
n1["make_client"]:::impacted
n2["memory_client"]:::impacted
n3["from_workspace_dir"]:::impacted
n4["...r_skill_memory_targets_prefixed_namespace"]:::impacted
n5["...ot_error_for_namespaced_and_global_writes"]:::impacted
n6["MemoryClientRef"]:::impacted
n1 -->|uses| n0
n1 -->|calls| n3
n2 -->|uses| n0
n2 -->|calls| n3
n2 -->|tests| n3
n2 -->|uses| n6
n4 -->|calls| n1
n4 -->|tests| n1
n5 -->|calls| n1
n5 -->|tests| n1
n6 -->|uses| n0
classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Green: changed behaviour. Grey: surrounding behaviour. Arrows name the call, use, implementation, or test relationship. Orange: has findings. Red: has a finding that blocks the merge. |
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.
Issue #18 §C4 —
default_openhuman_dir()and the OpenHuman framing come out oftinymemory-core.Deletes
default_openhuman_dir()and its only caller,MemoryClient::new_local().Why now
new_localis the constructor behind openhuman#5570: it pinned~/.openhuman/workspacefrom the home directory, ignoring host workspace scoping — on a scoped host the profile write landed in a store nothing else reads. It failed by succeeding. openhuman#5575 (merged) removed the last caller, and its review noted the host side cannot lint against a dead upstream function — aBYPASS_PATTERNSneedle for it failsbypass_patterns_are_all_live. The hazard closes here or not at all. This also completes follow-up #3 from that review.With both gone, core no longer knows the host's directory layout: every construction path takes an explicit workspace directory.
Deliberately kept
global::init_default()#[cfg(test)]; doc already forbids production use"openhuman"embedder slugOPENHUMAN_OLLAMA_BASE_URL#[cfg(test)]only (TestEmbeddingHost)dirsdependencyengine/persona.rsstill resolves home for persona filesValidation
cargo test -p tinymemory-corecargo clippy -p tinymemory-core --all-targetscargo fmt --all -- --checkgrep -rn 'new_local|default_openhuman_dir'(both trees)Independent of #46 (§B4) — disjoint files.