Skip to content

fix(tauri): refresh locked dependency graph - #5502

Merged
senamakel merged 49 commits into
tinyhumansai:mainfrom
senamakel:fix-tauri-lockfile-tls
Aug 12, 2026
Merged

fix(tauri): refresh locked dependency graph#5502
senamakel merged 49 commits into
tinyhumansai:mainfrom
senamakel:fix-tauri-lockfile-tls

Conversation

@senamakel

@senamakel senamakel commented Aug 11, 2026

Copy link
Copy Markdown
Member

Fixes the main-branch CI Lite Rust Quality failure caused by a stale Tauri lockfile under the Linux TLS dependency policy.

Also makes LLVM coverage runs deterministic: disable the configured sccache wrapper so coverage instrumentation cannot be bypassed, clean the exact dedicated Tauri coverage target before testing, and synchronize both feature-gate dependency baseline checks with the current upstream lockfile resolution.

The kernel-floor flows baseline is 307 packages / 284 unique names, with two native packages.

Verification:

  • bash scripts/check-linux-tls-dependencies.sh
  • bash scripts/check-kernel-floor.sh --verbose
  • python3 scripts/dep-sim.py --cut-nothing --expect-names 284
  • pnpm format:check

Summary by CodeRabbit

  • Bug Fixes

    • Recently reused attachments are now retained longer, preventing active files from being removed during automatic cleanup.
    • Improved reliability for memory-backed operations and synchronization scenarios.
  • Tests

    • Expanded integration and end-to-end coverage for memory features, attachment handling, configuration migration, and service startup.
    • Improved coverage reporting consistency and updated dependency validation baselines.

Updated all dependencies in the Cargo.lock file to their latest compatible versions, including minor and patch bumps for crates such as rand, uuid, bitflags, and many others. Also removed several unused dependencies including adobe-cmap-parser, bitcoin, docx-rs, and ethers-related crates to clean up the dependency tree.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ba7af082-d2d4-45f1-b2b4-f6a87984a009

📥 Commits

Reviewing files that changed from the base of the PR and between 2826259 and 57c73a8.

⛔ Files ignored due to path filters (1)
  • app/src-tauri/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (27)
  • .github/workflows/ci-lite.yml
  • scripts/ci/rust-coverage-changed.sh
  • scripts/kernel-floor.limits
  • src/bin/slack_backfill.rs
  • src/openhuman/agent/multimodal.rs
  • src/openhuman/config/migration_helpers/ops.rs
  • tests/agent_harness_e2e.rs
  • tests/domain_modules_e2e.rs
  • tests/json_rpc_e2e.rs
  • tests/memory_golden_fixture_e2e.rs
  • tests/memory_golden_parity_e2e.rs
  • tests/memory_roundtrip_e2e.rs
  • tests/memory_sources_e2e.rs
  • tests/memory_sync_pipeline_e2e.rs
  • tests/ollama_embeddings_fallback_e2e.rs
  • tests/raw_coverage/agent_session_turn_raw_coverage_e2e.rs
  • tests/raw_coverage/app_credentials_threads_memory_sources_raw_coverage_e2e.rs
  • tests/raw_coverage/channels_web_startup_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_sources_closure_round23_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_sync_providers_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_sync_round23_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_sync_slack_bus_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_sync_sources_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_sync_tree_round21_raw_coverage_e2e.rs
  • tests/raw_coverage/memory_threads_raw_coverage_e2e.rs
  • tests/raw_coverage/near90_closure_raw_coverage_e2e.rs
  • tests/worker_c_modules_e2e.rs

📝 Walkthrough

Walkthrough

The change initializes memory host seams across E2E and raw coverage tests, updates shared configuration usage, refreshes attachment timestamps, simplifies Rust coverage execution, and re-baselines dependency limits.

Changes

Memory and coverage updates

Layer / File(s) Summary
Coverage and dependency calibration
.github/workflows/ci-lite.yml, scripts/ci/rust-coverage-changed.sh, scripts/kernel-floor.limits
Coverage uses direct cargo llvm-cov commands with cleared RUSTFLAGS. Dependency calibration expects 284 unique names.
Runtime reuse and configuration updates
src/bin/slack_backfill.rs, src/openhuman/agent/multimodal.rs, src/openhuman/config/migration_helpers/ops.rs
Seal-probe ingestion receives Config, reused attachments refresh modification times, and migration tests install memory host wiring.
E2E memory seam initialization
tests/*_e2e.rs
E2E servers and memory tests install host seams once on dedicated 8 MiB-stack threads. Related synchronization calls use Arc<Config>.
Raw coverage harness updates
tests/raw_coverage/*
Raw coverage tests add seam setup, enlarged-stack async runners, shared configuration, environment locking, and updated tool-memory imports.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested labels: rust-core, bug, test, infra-ci-release, priority: p1

Suggested reviewers: al629176

Poem

A rabbit hops through tests so bright,
Seams wake up on stacks of might.
Cov’ rage runs with flags swept clean,
Attachments stay fresh and seen.
“Thump!” says Bun, “the builds are green!”


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.

❤️ Share

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

senamakel and others added 28 commits August 12, 2026 00:16
The test configuration helper now calls install_for_tests before constructing a Config, ensuring that apply-mode migrations which create unified-memory entries have the necessary host seam wiring available during test execution.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The e2e test setup now installs the tinymemory host seams before starting the RPC server, because the HTTP router does not construct a Core runtime context and memory-backed RPC reads require these seams to load their configured provider.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `ingest_chat` function expects a reference to the configuration, but the call was passing the config value directly. This change adds `.as_ref()` to correctly pass the config as a reference, fixing a type mismatch that would cause a compilation error.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The boot_stack_with_super_context test helper was missing the explicit memory host seam installation that normal startup wiring performs, causing test failures when handlers attempted to service memory-backed agent turns. The change adds the call to install_memory_host_seams with a default config, matching the production startup sequence.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the call to `install_memory_host_seams` in two end-to-end test files so that the `Arc::new(...)` wrapper spans a single line rather than wrapping the inner `Config::default()` constructor, improving readability without changing any behaviour.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The transport-only JSON-RPC router used in end-to-end tests does not construct a core runtime context, so memory-backed methods would fail without the host seams being installed. This change adds a one-time initialisation that installs the memory host seams on a dedicated thread before any router can dispatch a memory-backed method, and calls it from the ephemeral server setup to ensure the seams are in place for every test.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the argument to `install_memory_host_seams` in the JSON-RPC e2e test to keep the `Arc::new` call on the same line as the function call, improving readability without changing any behaviour.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The golden fixture's documentation, import, and regeneration header are updated to reflect the module rename from `memory::store::golden` to `memory::store_golden`, keeping the test code in sync with the refactored module structure.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The golden fixture end-to-end tests now call `ensure_memory_seams()` before opening memory stores, ensuring the transport-independent global memory client has the same host seams that normal core startup would provide. This prevents failures when the tests run in isolation without the full startup path.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the call to `install_memory_host_seams` in the `ensure_memory_seams` test to wrap the `Arc::new(Config::default())` argument on a single line, improving code readability without changing any behavior.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The golden parity end-to-end test calls memory operations directly rather than through a core runtime, so it needs to install the host memory seams that normal startup would wire. A new `ensure_memory_seams` function uses a dedicated thread with sufficient stack size to call the seam installer once, preventing a panic when the test exercises memory functionality.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The memory_sync_provider_trait_defaults test now calls ensure_memory_seams before initializing the global memory client, ensuring that memory host seams are installed in a dedicated thread before the test runs. This prevents race conditions in parallel execution where the global client could otherwise observe an unready state.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `sync_source` function now requires its config argument to be wrapped in `Arc`, so all call sites in the raw coverage e2e tests have been updated to pass `Arc::new(config)` instead of a plain `config` value.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Both raw coverage end-to-end test files now import `Arc` from `std::sync` alongside the existing `Mutex` and `OnceLock` imports, preparing the test code to use atomic reference counting for shared ownership of resources.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…weep

When a message references an attachment that was already persisted through content-addressing, the file's modification time is now updated to the current time. This prevents the cleanup sweep from reclaiming an attachment whose previous reference is older than the startup TTL, ensuring legitimate reuse is not treated as stale.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the `set_times` call in the attachment write function to use a single expression rather than splitting the method chain across multiple lines, improving code clarity without changing any behavior.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The end-to-end memory roundtrip tests were failing because they call memory operations without the host seams that normal startup installs. A new `ensure_memory_seams` function now installs the required seams once per test process, and each test case calls it before running. The env lock guard was also made resilient to poisoned mutexes by recovering the inner value instead of panicking.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The transport-only JSON-RPC router used in end-to-end tests does not create a core runtime context, so memory-backed routes need their host seams installed explicitly. A new `ensure_memory_seams` function spawns a dedicated thread to install the seams using a default configuration, and is called at the start of the `serve` helper to ensure seams are available before any test requests arrive.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the argument to `install_memory_host_seams` in the memory sources end-to-end test to keep the function call on a single line, improving readability without changing any behavior.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ping for concurrent tests

The test helper `ensure_memory_seams` is introduced to install memory host seams once per test run, preventing panics when multiple tests concurrently access memory subsystems. The `sync_source` calls are updated to accept `Arc<Config>` instead of `Config` to support shared ownership across concurrent tasks, and the existing concurrent test now invokes the seam installer to ensure thread safety.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test helper `test_config` now calls `ensure_memory_seams` before building the configuration, ensuring that memory seam tracking is initialised for every test that uses this helper. This prevents test failures caused by missing seam initialisation when tests run in isolation.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…2e tests

The two end-to-end tests for Ollama embedding fallback were failing because they did not install the memory host seams that the production code expects. This change adds a helper function that installs the seams once per process using a static initialiser, and calls it at the start of each test to ensure the memory subsystem is properly configured before the test logic runs.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the call to `install_memory_host_seams` in the Ollama embeddings fallback end-to-end test to keep the `Arc::new(Config::default())` argument on a single line, improving readability without changing any behavior.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…2e tests

The two end-to-end raw coverage tests for agent session turns now call `ensure_memory_seams()` before running, which installs the memory host seams on a dedicated thread with an 8 MB stack. This ensures the memory subsystem is properly initialised for the test scenarios that exercise native tool progress, reasoning usage, resume seed paths, XML failures, checkpoint policy, visibility, and hooks.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The two end-to-end raw coverage tests for agent session turns were previously using the default tokio test runtime, which does not guarantee the custom stack size required by agent workers. This change wraps each test in a helper that spawns a dedicated thread and tokio runtime with the correct stack size, ensuring the tests exercise the same stack constraints as production agent sessions.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…es test

Add a descriptive panic message to the `assert!` call that validates the error message for a missing source id, so that when the assertion fails it prints the actual validation error instead of a generic assertion failure.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Initialize memory host seams before running the round19 memory sources test to ensure the test environment has the required memory infrastructure in place. This prevents test failures caused by missing memory seam registration when the test exercises memory source registry operations.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test now calls `ensure_memory_seams()` before starting channels, which installs in-memory host implementations so coverage reaches production branches that depend on memory operations without requiring real channel credentials or external inference providers.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
senamakel and others added 13 commits August 12, 2026 03:58
The memory sync sources raw coverage e2e test now calls ensure_memory_seams before creating the test configuration, ensuring that the memory host seams are installed in a dedicated thread with sufficient stack size before any test operations that depend on them.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `config_in` helper function now calls `ensure_memory_seams()` before creating the test configuration, ensuring that memory seam instrumentation is properly initialized for raw coverage tests that use this configuration builder.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The static `MEMORY_SEAMS_INIT` was removed and `ensure_memory_seams()` now runs the seam installation directly on every call, since the function is already protected by the environment lock. This change also adds a missing `ensure_memory_seams()` call in one test and an `env_lock()` acquisition in another, ensuring consistent thread safety for memory seam initialization across all tests.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Added a call to `ensure_memory_seams()` in the round20 memory documents test to install memory host seams before running the test, ensuring the test environment has the necessary memory infrastructure configured for coverage of success and failure paths.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test setup now spawns a dedicated thread to install the memory-source RPC host seams before building the router, mirroring the production startup sequence. This ensures that background work invoking the extracted tinymemory seams has the required wiring available in the standalone transport harness.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Unset the `RUSTC_WRAPPER` environment variable in the coverage script to prevent sccache from returning pre-compiled objects that lack coverage instrumentation, which would cause tests to pass without producing `.profraw` data. Also export a dedicated `CARGO_TARGET_DIR` in the CI workflow to keep coverage artifacts isolated from the main build cache, and re-baseline the kernel floor limits to reflect the updated dependency count.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Unsetting RUSTC_WRAPPER alone was insufficient because cargo-llvm-cov reads CARGO_BUILD_RUSTC_WRAPPER as a fallback, which can still point to a shared cache that returns objects compiled without coverage instrumentation. Explicitly exporting an empty string ensures the wrapper is fully disabled, preventing test binaries from passing without producing raw profile data.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The dependency simulation check in the CI workflow was updated to expect 284 names instead of 282, reflecting the addition of two new dependencies that must be accounted for to maintain calibration accuracy.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The file `openhuman/memory/people/address_book.rs` was removed from the linter's exclusion list in the CI workflow, meaning it will now be checked by the linter on future runs.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…plicitly

Unsetting RUSTC_WRAPPER and leaving CARGO_BUILD_RUSTC_WRAPPER empty caused Cargo to fall back to the repository's sccache configuration, which compiled test binaries without coverage instrumentation. The fix replaces the empty override with the llvm-cov wrapper path, ensuring tests produce raw profile data for the coverage report.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Replace the manual show-env instrumentation setup with cargo-llvm-cov's native mode in both the CI workflow and the coverage script. The previous approach of exporting LLVM profile variables and running cargo test directly was unreliable on containerized runners where bind-mounted filesystems could silently drop raw profile writes. Letting cargo-llvm-cov manage instrumentation and profile collection avoids this issue and eliminates the workaround of writing profiles to /dev/shm.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The explicit CARGO_TARGET_DIR export was removed from both the clean and run steps because cargo-llvm-cov manages its own target directory internally, making the override unnecessary and potentially interfering with its report generation.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Combine the separate `cargo llvm-cov` run and report steps into one command, using the `--lcov` flag to produce the coverage report directly. This avoids an unnecessary intermediate build and simplifies the workflow.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
senamakel and others added 3 commits August 12, 2026 13:34
…opping coverage data

The container's Cargo configuration installs sccache as its rustc wrapper, which was silently replacing llvm-cov's instrumentation wrapper and causing .profraw output to be lost after otherwise-passing tests. The change adds the --no-rustc-wrapper flag to force llvm-cov to use its RustFLAGS mode, ensuring coverage data is properly collected.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The CI job's linker-only RUSTFLAGS variable was being preserved when cargo-llvm-cov ran, which suppressed the tool's `-C instrument-coverage` flag and caused coverage-instrumented test runs to produce no .profraw output. The change unsets RUSTFLAGS in both the workflow file and the coverage script so that llvm-cov can properly set its own instrumentation flags.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@senamakel
senamakel marked this pull request as ready for review August 12, 2026 15:57
@senamakel
senamakel requested a review from a team August 12, 2026 15:57
@senamakel
senamakel merged commit 5f6e9c4 into tinyhumansai:main Aug 12, 2026
19 of 20 checks passed
@coderabbitai coderabbitai Bot added bug infra-ci-release CI, release automation, packaging, build containers, and test harnesses. priority: p1 Next. Wrong behaviour a user will hit, or a security weakness behind a condition. rust-core Core Rust runtime in src/: CLI, core_server, shared infrastructure. test Test additions, fixes, or harness work. labels Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug infra-ci-release CI, release automation, packaging, build containers, and test harnesses. priority: p1 Next. Wrong behaviour a user will hit, or a security weakness behind a condition. rust-core Core Rust runtime in src/: CLI, core_server, shared infrastructure. test Test additions, fixes, or harness work.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant