Uh oh!
There was an error while loading. Please reload this page.
Remove the OpenHuman framing from core (#18 §C4) - #47
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. |
Uh oh!
There was an error while loading. Please reload this page.
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.