Skip to content

Fix test.yml: build + stage sidecar before Tauri shell tests - #90

Merged
CodeGhost21 merged 1 commit into
tinyhumansai:mainfrom
CodeGhost21:ci/fix-test-sidecar
Mar 30, 2026
Merged

CodeGhost21 merged 1 commit into
tinyhumansai:mainfrom
CodeGhost21:ci/fix-test-sidecar

Conversation

@CodeGhost21

Copy link
Copy Markdown
Contributor

Summary

  • Build and stage the openhuman sidecar binary before running cargo test on the Tauri shell
  • The Tauri build script validates sidecar resource paths even during tests, so the binary must exist at app/src-tauri/binaries/openhuman-x86_64-unknown-linux-gnu
  • This catches real shell/sidecar integration issues in CI rather than skipping the Tauri shell tests entirely

Test plan

  • Verify Rust Tests + Quality job passes (including Tauri shell tests)

🤖 Generated with Claude Code

The Tauri build script validates sidecar resource paths even during
cargo test. Build and stage the openhuman binary so Tauri shell tests
can run, catching real integration issues early.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@CodeGhost21
CodeGhost21 merged commit 82b3d0c into tinyhumansai:main Mar 30, 2026
4 checks passed
M3gA-Mind pushed a commit that referenced this pull request Aug 26, 2026
…tract

The host half of tinymemory#90, migrating the last queue call sites and the
two recency-recall handlers off `tinymemory_core`.

`memory.recall_context` and `memory.recall_memories` now ask the guard for
`recall_namespace_recent`. This is the migration the direct-engine-refs
ratchet warned about by name: `recall_namespace_scored("")` looks like the
twin and is not — it ranks against nothing rather than degrading to recency.
The engine wrapper `recall_namespace_context_data` only added a rendered
`context_text` the handler never read. Compiling is itself the type-identity
proof: the engine's `NamespaceMemoryHit` and the contract's resolve to the
same item, so the helpers keep their signatures.

`reset_tree` and `flush_now` move their SQL to the driver
(`Maintenance::reset_derived_index` / `flush_pending`). What stays in
`reset_tree_rpc` is what is genuinely the host's: removing the rendered wiki
summaries under its own content root, which the driver has no business
knowing exist. The host-side `wake_workers` goes too — the wake is part of
the driver's operation now.

The store-behaviour halves of the affected tests move where a real store
exists, continuing the split this PR series established:

- `flush_now_enqueues_once_and_reports_stale_buffers` staged buffers behind
  the handler; the dedupe-per-window behaviour is pinned upstream in
  `flushing_twice_in_a_window_schedules_the_work_once`. The unit test that
  remains asserts the host's mapping — both fields pass through, and the
  u64→u32 buffer count clamps rather than wraps.
- the raw-coverage integration test drops its reset/flush calls with a
  pointer to the conformance tests; an integration test can bind no driver.

The agent-memory exclusion becomes ambient-first with the request's thread
as fallback. The merge resolution had kept main's ambient-only value, which
orphaned this branch's test — and the test is right: a recall reaching the
adapter outside a turn has no ambient value, and its thread hint names
exactly the thread whose auto-saved trigger would echo back.

Both ratchets tightened rather than loosened: the guard bypass entry for
`documents.rs` (`active_memory_client`) is deleted now that nothing bypasses,
and the direct-refs allowlist drops `sync_events_bridge.rs`, which no longer
references the engine.

Blocked on a tinymemory release containing #90, exactly as the diagnostics
half was on v1.3.0: the members exist in the vendored source but in no
published artifact, and against v1.3.0 they answer UnknownMethod — observed
live in the envelope test before pointing it at a locally built module.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
senamakel pushed a commit to nocstah/openhuman that referenced this pull request Sep 11, 2026
…tract\n\nThe host half of tinymemory#90, migrating the last queue call sites and the\ntwo recency-recall handlers off `tinymemory_core`.\n\n`memory.recall_context` and `memory.recall_memories` now ask the guard for\n`recall_namespace_recent`. This is the migration the direct-engine-refs\nratchet warned about by name: `recall_namespace_scored("")` looks like the\ntwin and is not — it ranks against nothing rather than degrading to recency.\nThe engine wrapper `recall_namespace_context_data` only added a rendered\n`context_text` the handler never read. Compiling is itself the type-identity\nproof: the engine's `NamespaceMemoryHit` and the contract's resolve to the\nsame item, so the helpers keep their signatures.\n\n`reset_tree` and `flush_now` move their SQL to the driver\n(`Maintenance::reset_derived_index` / `flush_pending`). What stays in\n`reset_tree_rpc` is what is genuinely the host's: removing the rendered wiki\nsummaries under its own content root, which the driver has no business\nknowing exist. The host-side `wake_workers` goes too — the wake is part of\nthe driver's operation now.\n\nThe store-behaviour halves of the affected tests move where a real store\nexists, continuing the split this PR series established:\n\n- `flush_now_enqueues_once_and_reports_stale_buffers` staged buffers behind\n the handler; the dedupe-per-window behaviour is pinned upstream in\n `flushing_twice_in_a_window_schedules_the_work_once`. The unit test that\n remains asserts the host's mapping — both fields pass through, and the\n u64→u32 buffer count clamps rather than wraps.\n- the raw-coverage integration test drops its reset/flush calls with a\n pointer to the conformance tests; an integration test can bind no driver.\n\nThe agent-memory exclusion becomes ambient-first with the request's thread\nas fallback. The merge resolution had kept main's ambient-only value, which\norphaned this branch's test — and the test is right: a recall reaching the\nadapter outside a turn has no ambient value, and its thread hint names\nexactly the thread whose auto-saved trigger would echo back.\n\nBoth ratchets tightened rather than loosened: the guard bypass entry for\n`documents.rs` (`active_memory_client`) is deleted now that nothing bypasses,\nand the direct-refs allowlist drops `sync_events_bridge.rs`, which no longer\nreferences the engine.\n\nBlocked on a tinymemory release containing tinyhumansai#90, exactly as the diagnostics\nhalf was on v1.3.0: the members exist in the vendored source but in no\npublished artifact, and against v1.3.0 they answer UnknownMethod — observed\nlive in the envelope test before pointing it at a locally built module.\n\n
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