Skip to content

refactor(memory): adopt native recall settings and lifecycle views - #455

Merged
senamakel merged 24 commits into
epic/8000-memory-to-tinymemoryfrom
epic-8000-host-91-recall-settings-adoption
Oct 19, 2026
Merged

senamakel merged 24 commits into
epic/8000-memory-to-tinymemoryfrom
epic-8000-host-91-recall-settings-adoption

Conversation

@senamakel

@senamakel senamakel commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Replace OpenHuman's duplicate [memory.recall] settings struct with Native tinymemory_tools::RecallSettings, enabling the Tools schema feature so config JsonSchema remains available.
  • Delegate recall policy conversion to Native RecallPolicy::from, preview to AgentMemory::preview, agent listing to AgentMemory::agents, and policy validation to RecallSettings::validate.
  • Preserve the eleven TOML keys and defaults, OpenHuman view/parameter/job DTOs, and existing openhuman.memory_*, memory, and flow_memory_* names.
  • Regenerate app/schema.json from a fresh, isolated, full-domain headless server as requested. The prior catalog had accumulated drift: it listed 57 methods versus 541 from the current full-domain server. Fourteen schema/tool source files were byte-identical to the base, so this refresh also captures accumulated catalog drift.

apply_policy_set validates the full candidate settings before applying recall or conversation changes. Therefore, a pre-existing invalid recall value that an update does not touch can cause that update to be rejected. For valid stored settings, Native validation preserves the prior bounds. compaction_timeout_ms remains without a validation range or new runtime use.

Validation

  • Historical focused baseline: all 23 affected config/lifecycle tests passed on Host91 base 1f6795a88b899b46ac0a5309dd5a2f398c8ae7be / tree d69302e4640d8206528934c52469e0f17c1e2991.
  • Current final source head: 68b71a710bb4dbf5617c592df998492281211877 / tree c7c41dc729d40627173588646003cee747bae0a8.
  • Build/test gates ran at 4b21998; the final head differs only in the generated catalog. Instrumented tests and coverage ran on the final head (509 passed, zero failed/ignored).
  • Root and app checks exit 0; format exit 0; pnpm rust:layout passed all four constituent checks; focused 23 tests pass; broad suite passes 570 tests across 118 targets, largest target 516, with zero failed or ignored tests.
  • Strict all-target Clippy exited 101 with exactly 40 diagnostics in 10 files unchanged from base; this is recorded as a pre-existing failure.
  • Coverage: all 23 required tests observed, 4 fresh raw profiles, one exact test object, and 2,584 source-file provenance records. Changed production coverage: 32/35 conservatively counted lines (91.4286%); three unmapped tracing-metadata lines were conservatively uncovered. Minimum file coverage: 90.625%. diff-cover reports 182/182 changed lines covered (100%).
  • Schema catalog was generated from a fresh full-domain headless server. Final catalog comparison and generation evidence are recorded by root.

Push checks

  • All six read-only pre-push checks passed: formatting, lint, TypeScript, production Rust Clippy, command tokens, and UI tokens. The actual push then passed the normal Husky hook with all checks enabled and the remote head verified.

Refs #91
Part of tinyhumansai#8000

Commands

cargo check --locked --manifest-path Cargo.toml
cargo check --locked --manifest-path crates/openhuman-app/Cargo.toml
cargo clippy --locked -p openhuman --all-targets -- -D warnings
cargo test --locked -p openhuman --lib -- --test-threads=1 config::schema::memory::tests memory::lifecycle::tests memory::lifecycle::views::tests
pnpm rust:layout
pnpm debug rust memory -- --locked
cargo llvm-cov test --locked -p openhuman --lib --no-report memory -- --test-threads=1
pnpm format:check
pnpm lint
pnpm compile
pnpm rust:clippy

The all-target Clippy command has the exact documented baseline failure above; production Clippy passes.

Submission Checklist

  • Tests updated for defaults/TOML/hash, valid policies, and invalid ranges/atomic updates.
  • Diff coverage >= 80%: diff-cover 100%; conservative production calculation 91.43%.
  • Coverage matrix: N/A, structural adoption; existing feature rows remain applicable.
  • Related matrix feature IDs listed below.
  • No new external network dependencies; local test engines and mock backend used.
  • Manual smoke checklist: N/A, existing memory flows and valid configurations retain their contracts.
  • Linked issue: Closes [memory→tinymemory] host adoption: views, recall policy and MemoryRecallConfig onto RecallSettings #91; this non-default epic base requires manual closure after merge.

Related

Closes #91
Part of tinyhumansai#8000.
Coverage matrix features: 8.2.3 (turn pack policy), 8.2.7 (pack preview).
Native prerequisite: senamakel/tinymemory#7, available at merged senamakel/tinymemory#38.

AI Authored PR Metadata

  • Linear issue: N/A; tracked in the GitHub issues above.
  • Branch: epic-8000-host-91-recall-settings-adoption.
  • Commit: 68b71a7.
  • Validation: recorded above; all six pre-push checks and actual Husky push passed.
  • Validation exception: exact pre-existing all-target Clippy diagnostics, above.
  • Intended behavior change/parity: Native API ownership; existing valid settings and DTOs preserved. Whole-candidate validation nuance is described above.
  • Duplicate/superseded PRs: none; this PR is the Host91 adoption.

…vendor/tinychannels,vendor/tiny

Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
…vendor/tinychannels,vendor/tiny

Auto-committed-on: mac-mini
…ests.rs,crates/openhuman-core/s

Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
…n-core/src/config/schema/mod.rs

Auto-committed-on: mac-mini
…ests.rs,crates/openhuman-core/s

Auto-committed-on: mac-mini
…s,crates/openhuman-core/src/con

Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
Auto-committed-on: mac-mini
@senamakel
senamakel merged commit 78da4a0 into epic/8000-memory-to-tinymemory Oct 19, 2026
7 of 12 checks passed
senamakel added a commit that referenced this pull request Oct 20, 2026
…ngs-adoption

refactor(memory): adopt native recall settings and lifecycle views
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant