Skip to content

chore(modules): re-pin the memory module to tinymemory v1.15.2 - #6056

Merged
YellowSnnowmann merged 1 commit into
tinyhumansai:mainfrom
YellowSnnowmann:chore/repin-tinymemory-1.15.2
Sep 7, 2026
Merged

chore(modules): re-pin the memory module to tinymemory v1.15.2#6056
YellowSnnowmann merged 1 commit into
tinyhumansai:mainfrom
YellowSnnowmann:chore/repin-tinymemory-1.15.2

Conversation

@YellowSnnowmann

@YellowSnnowmann YellowSnnowmann commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Re-pin the tinymemory module to v1.15.2 everywhere the host names it: the TINYMEMORY registry record (version, release_url, all 11 platform archives with digests taken verbatim from the release's checksum.toml), ARTIFACT_CAPABILITIES_PIN in modules/memory_part_01.rs, and the four memory_version / memory_sha256 blocks in ci-full.yml, ci-lite.yml and e2e-reusable.yml.
  • Bump vendor/tinymemory to the tag commit 9143fe1 so the source-level seams match what the prebuilt module was built from. vendor/tinycortex is unchanged (v1.15.2 pins the same tinycortex commit as v1.15.1).
  • No host code changes: git diff v1.15.1..v1.15.2 -- crates/tinymemory-api/src/capabilities.rs is empty, so only the pin moves.

Problem

Ships the fix for #6051. The Sources page's Repair older memories button reported Filed 0 into the memory tree (500 already there, 0 skipped). More remain. on every click after the first. The walk behind it (MemoryMaintenance::backfill_connector_trees, in the module) charged its per-call limit before the ingest gate could say a document was already filed, and it lists documents newest first — exactly the ones the post-#6007 sync path had already treed — so on any profile with more than 500 already-filed documents it re-examined the same 500 forever and never reached the pre-migration skill-{toolkit} records the button exists for. The host half (button, RPC, wire types, strings) is correct as it stands; only the module behind it had to move.

Solution

Move the pin. v1.15.2 brings tinyhumansai/tinymemory#144: the walk asks the ingest gate first, through the funnel's own identity derivation; a document the tree already holds is reported under already_present and costs none of the limit, only documents that still need reading and filing are charged, and the dry run counts the same way — so the confirmation modal's "Up to N" is the number still waiting and scanned: 0 is the existing "Nothing to repair" toast. The wire shape is unchanged (scanned narrows from "examined" to "charged"). The release also carries tinyhumansai/tinymemory#143 (remote API), which touches nothing the host pins.

Verified on a copy of the reporting profile with the patched module walk: two default-limit passes filed 500 + 458 documents, and the following dry run read scanned 0, already_present 1580.

Submission Checklist

If a section does not apply to this change, mark the item as N/A with a one-line reason. Do not delete items.

  • N/A: pin-only change (version, digests, gitlink); the fix ships with its own tests upstream (tinymemory backfill_tests.rs, engine/sync_tests.rs, module door test) and the existing modules::memory_tests pin assertions cover the host side (the_capability_list_matches_the_pinned_release, the_ci_workflows_pin_the_same_module_digest_as_the_registry — both green)
  • N/A: no executable lines changed in this repo (a string constant, a registry table and YAML variables); the diff-cover gate has nothing to measure
  • N/A: behaviour-only change in the vendored module; no feature rows added, removed or renamed
  • N/A: no matrix feature IDs are affected; the change is a dependency pin
  • No new external network dependencies introduced: CI keeps fetching the same GitHub release asset shape it already fetched, at the new version and digest
  • N/A: no release-cut surface changes; the manual smoke checklist already covers module download and digest verification
  • Linked issue closed via Closes #6051 below

Impact

  • Desktop: on next launch the module host downloads tinymemory-module-1.15.2-<host> and verifies its digest. Repair older memories then converges: each click files up to 500 documents still waiting, and the button reports "Nothing to repair" once none are. No migration: the store schema is unchanged.
  • CI: the E2E and CI lanes fetch the v1.15.2 ubuntu-22.04-x86_64 module.
  • Known limit, unchanged by this PR: a profile whose registry carries rows for more than one connection of the same toolkit still skips that toolkit's legacy skill- namespace as ambiguous (by design since feat(memory): backfill connector memories into the memory tree #6015); the reason lands in the response's notes, which the UI does not surface. Follow-up to be filed.

Run by hand: node scripts/ci/check-openhuman-rust-layout.mjs, node scripts/ci/check-module-pins.mjs, cargo metadata --locked for Cargo.toml and app/src-tauri/Cargo.toml, cargo fmt -p openhuman -- --check, cargo test -p openhuman --lib -- modules::memory (38 passed), cargo check -p openhuman --features "$(bash scripts/ci/product-features.sh)".

Related


AI Authored PR Metadata (required for Codex/Linear PRs)

Keep this section for AI-authored PRs. For human-only PRs, mark each field N/A.

Linear Issue

  • Key: N/A
  • URL: N/A

Commit & Branch

  • Branch: chore/repin-tinymemory-1.15.2

Summary by CodeRabbit

  • Updates
    • Updated the bundled TinyMemory component to version 1.15.2.
    • Refreshed platform-specific packages and integrity checks for supported operating systems.
    • Updated end-to-end testing workflows to use the new TinyMemory release.

v1.15.2 carries tinyhumansai/tinymemory#144, which makes
`MemoryMaintenance::backfill_connector_trees` ask the ingest gate before it
charges its limit. Against 1.15.1 the walk re-examines the same `limit`
already-filed documents on every call and never reaches the rest, which is
why the Sources page's "Repair older memories" button reports "Filed 0 (500
already there). More remain." forever (tinyhumansai#6051). Nothing in the host changes:
the button, the RPC and the wire types are the same, and the numbers they
show become honest once the module behind them moves.

A patch bump: no contract member was added. The release also carries
tinyhumansai/tinymemory#143 (the remote API), which touches nothing the host
pins.

Four pins move together, as they must:

- `vendor/tinymemory` -> the v1.15.2 commit (258d9e5 -> 9143fe1)
- the registry descriptor: version, release_url, and all 11 platform assets
  with the checksums the release published
- `ARTIFACT_CAPABILITIES_PIN`
- `memory_version` / `memory_sha256` in ci-full.yml, ci-lite.yml and
  e2e-reusable.yml (4 sites), which pin the ubuntu-22.04-x86_64 archive
  independently of the registry

Verified rather than assumed: v1.15.2 has tinyhumansai#144's merge (f1c234b) as an
ancestor; all 11 checksums were taken from the release's own checksum.toml
with each archive name and its digest rewritten as one unit; `git diff
v1.15.1..v1.15.2 -- crates/tinymemory-api/src/capabilities.rs` is empty, so
the advertised family list is unchanged; both Cargo.lock files resolve
`--locked` against the new checkout; and the two pin tests
(`the_capability_list_matches_the_pinned_release`,
`the_ci_workflows_pin_the_same_module_digest_as_the_registry`) pass.

Refs tinyhumansai#6051
@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 0cd7a400-4e4d-4c1e-8ca2-dbd24a7bdfad

📥 Commits

Reviewing files that changed from the base of the PR and between ebe2aa6 and f2e0fa7.

📒 Files selected for processing (6)
  • .github/workflows/ci-full.yml
  • .github/workflows/ci-lite.yml
  • .github/workflows/e2e-reusable.yml
  • src/openhuman/modules/memory_part_01.rs
  • src/openhuman/modules/registry_part_01.rs
  • vendor/tinymemory

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The change updates TinyMemory from 1.15.1 to 1.15.2 across module metadata, the vendored submodule, and CI/E2E download pins. Platform archive checksums and workflow verification checksums are updated.

Changes

TinyMemory release update

Layer / File(s) Summary
Module release pin
src/openhuman/modules/registry_part_01.rs, src/openhuman/modules/memory_part_01.rs, vendor/tinymemory
The module registry, capability pin, and vendored submodule reference are updated for TinyMemory 1.15.2. Platform archive URLs and SHA-256 checksums are replaced.
Workflow download pins
.github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-reusable.yml
CI and E2E jobs download TinyMemory 1.15.2 and verify the updated SHA-256 digest.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to f2e0f

TinyMemory is updated to v1.15.2, delivering the backfill fix while keeping host interfaces and capabilities unchanged. No current merge-blocking risk is established.

Suggested reviewers: codeghost21

Poem

A rabbit checks the hash at dawn
TinyMemory hops forward on
New pins align from tree to CI
Each archive passes safely by
The workflow burrows, green and spry

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the primary change: re-pinning the memory module to tinymemory v1.15.2.
Linked Issues check ✅ Passed The PR ships the tinymemory patch release through the required module re-pin. It updates the registry entries, vendor gitlink, capability pin, platform digests, and CI workflow digests required by iss…
Out of Scope Changes check ✅ Passed All changes support the tinymemory v1.15.2 re-pin and issue #6051. No unrelated code or platform changes are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…

Comment @coderabbitai help to get the list of available commands.

@YellowSnnowmann
YellowSnnowmann marked this pull request as ready for review September 7, 2026 13:08
@YellowSnnowmann
YellowSnnowmann requested a review from a team September 7, 2026 13:08
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T13:11:46.801812Z f2e0fa7 Draft marked ready
🔒 Security Review Completed 2026-09-07T13:14:55.839653Z f2e0fa7 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@tinysweeper

tinysweeper Bot commented Sep 7, 2026

Copy link
Copy Markdown

How this change flows

0 changed behaviours across 3 relationships. 3 surrounding behaviours are shown (60 graph nodes walked). 41 further behaviours left out to keep the diagram readable.

flowchart LR
  n0["proxy"]:::impacted
  n1["install_host_callbacks"]:::impacted
  n2["Result"]:::impacted
  n0 -->|calls| n1
  n0 -->|uses| n2
  n1 -->|uses| n2
  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
Loading

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.

tinysweeper 0.1.0

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinysweeper found nothing blocking. Approving.

$0.0000 · 0 in / 0 out · 963 embedded · openrouter/openai/text-embedding-3-small

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Sep 7, 2026
@YellowSnnowmann
YellowSnnowmann merged commit cd13df7 into tinyhumansai:main Sep 7, 2026
34 of 35 checks passed
senamakel pushed a commit to HDZTony/openhuman that referenced this pull request Sep 11, 2026
…-tinymemory-1.15.2\n\nchore(modules): re-pin the memory module to tinymemory v1.15.2\n
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Repair older memories re-scans the same 500 already-filed documents on every click and never reaches the pre-migration skill-gmail records

1 participant