fix(memory): align stale capability tests with the pinned-artifact fix - #5639
Conversation
PR tinyhumansai#5620 corrected ModuleMemoryProvider::capabilities() to advertise only the 13 families the pinned tinymemory v1.0.1 artifact serves, instead of claiming the full 18-family contract (issue tinyhumansai#5598's root cause). It updated memory_tests.rs to match but missed three other test files that independently hardcoded the old full-contract expectation, so main's Rust Core Coverage job has been red since that merge: - core::cli_capability::tests::bound_driver_probe_reports_the_default_module_driver - openhuman::memory::binding::tests::module_binding_advertises_every_family - openhuman::memory::ops::provider::tests::bound_driver_status_reports_id_class_contract_and_capabilities Update all three to assert the corrected 13-family set (and, where it strengthens the test, explicitly assert the 5 not-yet-served families are absent), mirroring the reasoning already accepted in tinyhumansai#5620. No production code changes. Co-authored-by: Medulla <medulla@tinyhumans.ai>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughCapability tests now match the pinned TinyMemory artifact. They validate 13 advertised capability families, reject five unsupported families, enforce contract bounds, and preserve the full capability set for unbound contexts. ChangesTinyMemory capability validation
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR only aligns existing tests with the already-deployed 13-family memory capability behavior and does not change runtime behavior; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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 |
Summary
mainsince PR fix(memory): advertise what the pinned module serves, not the whole contract #5620 merged.modules::memory::ARTIFACT_CAPABILITIESis untouched.Rust Core Coverage (cargo-llvm-cov)/PR CI Gateonmainand every PR based on it.Problem
PR #5620 ("fix(memory): advertise what the pinned module serves, not the whole contract", merged 2026-08-20T12:41Z) corrected
ModuleMemoryProvider::capabilities()to advertise only the 13 families the pinnedtinymemoryv1.0.1 artifact actually serves (per issue #5598), instead of falsely claiming the full 18-family contract (Capabilities::all()). It updatedmemory_tests.rsto match the corrected behavior, but three other test files independently hardcoded the old, now-incorrect full-contract expectation and were not updated in that PR:core::cli_capability::tests::bound_driver_probe_reports_the_default_module_driver— assertedbinding.capabilities() == Capabilities::all()openhuman::memory::binding::tests::module_binding_advertises_every_family— asserted everyCapability::ALLvariant is advertised andadvertised == unbound_default_capabilities()openhuman::memory::ops::provider::tests::bound_driver_status_reports_id_class_contract_and_capabilities— asserted the wire status lists all 18 capability stringsAll three have failed on every
mainrun since #5620 merged (confirmed againstmainrun32373660712, the merge of #5621: identical12116 passed; 3 failed; 106 ignoredline, same three tests).Solution
Update all three tests to assert the corrected 13-family set instead of the full 18-family contract, mirroring the reasoning #5620 already established and got reviewed/merged: the pinned v1.0.1 artifact has no bus member for
people,chunks,retrieval,profile, orepisodic(#5598), so claiming them is the bug, not the fix. Where it strengthens the test, I also assert the 5 not-yet-served families are explicitly absent, so a future artifact bump that adds them is what should widen this — deliberately, per the comment already inmodules/memory.rs.I did not touch
ARTIFACT_CAPABILITIESor any other production code — this is strictly bringing stale test assertions in line with already-accepted, already-merged behavior.Submission Checklist
## Related— no feature IDs affected.## Related(does not close Staging: tinymemory capability mismatch (8191 vs 262143) — memory_tree, memory_store_raw_chunks, memory_diff all failing #5598, which tracks the longer-term artifact-capability gap; this only fixes the stale test debt from fix(memory): advertise what the pinned module serves, not the whole contract #5620).Impact
Rust Core Coverage (cargo-llvm-cov)onmain(and thereforePR CI Gateon every open PR based on it). No runtime/platform behavior change.Related
tinymemoryto a release that serves all 18 families) remains open and tracked separately; it is not blocking and this PR does not attempt to resolve it.AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
fix/stale-artifact-capability-testsValidation Run
pnpm --filter openhuman-app format:check— N/A: noapp/files touchedpnpm typecheck— N/A: no TypeScript touchedcargo test --lib -F modules -- bound_driver_probe_reports_the_default_module_driver module_binding_advertises_the_pinned_artifacts_families bound_driver_status_reports_id_class_contract_and_capabilities— 3 passed, 0 failedcargo fmt --checkclean on all three touched filesValidation Blocked
command:N/Aerror:N/Aimpact:N/ABehavior Changes
Summary by CodeRabbit