Skip to content

Drop the top-level vendor/tinycortex submodule in favour of tinymemory's nested copy #6062

Description

@YellowSnnowmann

Summary

Remove the top-level vendor/tinycortex submodule and resolve tinycortex / tinycortex-api through the copy vendor/tinymemory already vendors (vendor/tinymemory/vendor/tinycortex), so the engine the tests link is by construction the one the prebuilt tinymemory module was built from.

Problem / Context

  • TinyCortex left the product build in Route memory tool and query paths through the module seam so tinymemory-core leaves the build #5560; the shipped app reaches memory through the prebuilt tinymemory module over tinymemory-api (cargo tree -e normal -i tinycortex under the product feature set prints nothing).
  • The top-level submodule only served the test engine (tinymemory-core + tinymemory-tinycortex in [dev-dependencies], plus the default-OFF rss-bench bin). Those crates name tinycortex / tinycortex-api by version requirement; tinycortex-api is unpublished and crates.io's tinycortex is a stale 0.1.1 — so the root [patch.crates-io] must exist, and its checkout had to be bumped by hand in lockstep with vendor/tinymemory (chore(modules): re-pin tinymemory to v1.15.0 #6049 moved both pointers). A stale top-level pointer silently tests a different engine than the module ships.
  • Costs: tinycortex cloned twice per recursive checkout (90 MB tree + 66 MB objects); the tinycortex-tests job runs the engine's own suite on every full Rust CI run (30-minute budget), duplicating tinycortex's own CI; app/src-tauri/Cargo.toml carries two patch entries its lock lists as [[patch.unused]]; AGENTS.md's "patches in both manifests" rule describes the pre-Route memory tool and query paths through the module seam so tinymemory-core leaves the build #5560 graph.
  • Recurring confusion: "there are tinycortex mentions in the repo" keeps being read as "the product still uses tinycortex".

Scope

In: gitlink + .gitmodules removal; root patch re-point; shell manifest dead patches + lock entries; tinycortex-tests job in ci-lite.yml / test-reusable.yml; AGENTS.md rule; doc comment / architecture doc.

Out: removing TinyCortex from the test suite ([dev-dependencies], ~100 test files, 26 integration targets) — separate project; the LEGACY_MODULE_ID = "tinycortex" config alias; historical docs/tinycortex-*.md.

Acceptance criteria

  • Submodule gone — no vendor/tinycortex gitlink or .gitmodules entry; git submodule status --recursive lists tinycortex only under vendor/tinymemory/.
  • Root patch re-pointedtinycortex / tinycortex-apivendor/tinymemory/vendor/tinycortex[/api]; root Cargo.lock unchanged; cargo metadata --locked passes for both manifests.
  • Product unchangedcargo tree -e normal --features "$(bash scripts/ci/product-features.sh)" -i tinycortex prints nothing; product cargo check passes.
  • Test engine resolves from the nested pathcargo check -p openhuman --lib --tests passes; memory::tree_e2e_tests and memory::sync_pipeline_e2e_tests pass.
  • Shell world clean — no tinycortex patch entries in app/src-tauri/Cargo.toml, no [[patch.unused]] for them in its lock; shell all-features cargo tree shows no engine crates.
  • CItinycortex-tests removed from both workflows with no dangling needs; PR CI Gate map updated.
  • Docs — AGENTS.md [patch] rule states root-manifest-only and why.
  • Diff coverage ≥ 80% — N/A: no executable code changes (manifests, YAML, comments, docs).

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

infra-ci-releaseCI, release automation, packaging, build containers, and test harnesses.maintenanceMaintenance work, dependency updates, or cleanup.priority: highBreaks a specific featurerust-coreCore Rust runtime in src/: CLI, core_server, shared infrastructure.taskWork item that is not primarily a bug or a feature.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions