From 621a54be156450e0332096c4d68300284f45be1e Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 9 Sep 2026 18:12:12 +0000 Subject: [PATCH 1/3] refactor(tracedecay): keep bench and test runtimes off lib Default library builds no longer compile benchmark harnesses or HostAdmissionTestRuntimeV1. The shipped tracedecay bench command stays on a bench feature selected by the CLI production build. --- .../session-temporal/workload-v1.json | 2 +- crates/tracedecay-cli/Cargo.toml | 2 +- crates/tracedecay/Cargo.toml | 6 +++ .../query_bench/harness.rs} | 3 +- .../rmcp/benchmark.rs} | 0 .../session_temporal/harness.rs} | 6 +-- .../root_relation_fixture.rs | 0 crates/tracedecay/src/daemon.rs | 1 + .../src/daemon/connection_serving.rs | 1 + crates/tracedecay/src/lib.rs | 17 +++++-- .../src/mcp/tools/handlers/admin_project.rs | 47 ++++++++++++------- .../src/{ => test_support}/host_admission.rs | 0 .../host_admission/accounting_test_support.rs | 0 .../integration_test_support.rs | 0 .../host_admission/lcm_api_test_support.rs | 0 .../lcm_fixture_test_support.rs | 0 .../profile_registry_test_support.rs | 0 .../host_admission/session_test_support.rs | 0 .../verified_graph_test_support.rs | 0 crates/tracedecay/src/test_support/mod.rs | 4 ++ .../dashboard_configuration_test_runtime.rs | 0 scripts/run-session-temporal-benchmark.sh | 4 +- 22 files changed, 63 insertions(+), 30 deletions(-) rename crates/tracedecay/{src/bench.rs => benches/query_bench/harness.rs} (98%) rename crates/tracedecay/{src/daemon/connection_serving/rmcp_benchmark.rs => benches/rmcp/benchmark.rs} (100%) rename crates/tracedecay/{src/session_temporal_benchmark.rs => benches/session_temporal/harness.rs} (99%) rename crates/tracedecay/{src/session_temporal_benchmark => benches/session_temporal}/root_relation_fixture.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/accounting_test_support.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/integration_test_support.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/lcm_api_test_support.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/lcm_fixture_test_support.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/profile_registry_test_support.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/session_test_support.rs (100%) rename crates/tracedecay/src/{ => test_support}/host_admission/verified_graph_test_support.rs (100%) create mode 100644 crates/tracedecay/src/test_support/mod.rs rename crates/tracedecay/{src/daemon => tests/common}/dashboard_configuration_test_runtime.rs (100%) diff --git a/benchmark_data/session-temporal/workload-v1.json b/benchmark_data/session-temporal/workload-v1.json index 6d1d912890..9b4c53203f 100644 --- a/benchmark_data/session-temporal/workload-v1.json +++ b/benchmark_data/session-temporal/workload-v1.json @@ -9,7 +9,7 @@ "status": "accepted_for_harness" }, "implementation": { - "path": "crates/tracedecay/src/session_temporal_benchmark.rs" + "path": "crates/tracedecay/benches/session_temporal/harness.rs" }, "measurement_contract": { "measured_repetitions": 30, diff --git a/crates/tracedecay-cli/Cargo.toml b/crates/tracedecay-cli/Cargo.toml index b8b3c315c0..53e5f7b716 100644 --- a/crates/tracedecay-cli/Cargo.toml +++ b/crates/tracedecay-cli/Cargo.toml @@ -71,7 +71,7 @@ hotpath-cpu = [ "hotpath/hotpath-cpu", ] hotpath-mcp = ["hotpath", "hotpath/hotpath-mcp"] -production = ["tracedecay/production"] +production = ["tracedecay/production", "tracedecay/bench"] # Opt-in tiered graph storage; not part of `production`. graph-disk-tier = ["tracedecay/graph-disk-tier"] graph-tiered-storage = ["tracedecay/graph-tiered-storage"] diff --git a/crates/tracedecay/Cargo.toml b/crates/tracedecay/Cargo.toml index eb7eb9bfb8..52703c14b1 100644 --- a/crates/tracedecay/Cargo.toml +++ b/crates/tracedecay/Cargo.toml @@ -198,6 +198,12 @@ lang-fsharp = ["tracedecay-code-index/lang-fsharp"] lang-quint = ["tracedecay-code-index/lang-quint"] lang-toml = ["tracedecay-code-index/lang-toml"] lang-lean = ["tracedecay-code-index/lang-lean"] +# Shipped `tracedecay bench` / MCP `admin_project` action `bench`. Off the +# default library graph; `tracedecay-cli`'s `production` feature selects it +# so the command stays in the binary without compiling this module into +# `cargo check -p tracedecay --lib`. +bench = [] + # Integration fixture surface. `HostAdmissionTestRuntimeV1` and the registered # database scaffolding it owns are assembled by the composition root, so they # live in the product library rather than a test crate. This feature keeps them diff --git a/crates/tracedecay/src/bench.rs b/crates/tracedecay/benches/query_bench/harness.rs similarity index 98% rename from crates/tracedecay/src/bench.rs rename to crates/tracedecay/benches/query_bench/harness.rs index 8e60ab3e11..9ac40bc03f 100644 --- a/crates/tracedecay/src/bench.rs +++ b/crates/tracedecay/benches/query_bench/harness.rs @@ -59,7 +59,8 @@ impl Default for BenchOptions { /// The embedded default query set. Compiled into the binary so `tracedecay bench` /// works without any external file dependency. -pub const DEFAULT_QUERIES_TOML: &str = include_str!("../../../benchmark_data/queries/default.toml"); +pub const DEFAULT_QUERIES_TOML: &str = + include_str!("../../../../benchmark_data/queries/default.toml"); /// Run the bench from a TOML query file on disk. pub async fn run_bench( diff --git a/crates/tracedecay/src/daemon/connection_serving/rmcp_benchmark.rs b/crates/tracedecay/benches/rmcp/benchmark.rs similarity index 100% rename from crates/tracedecay/src/daemon/connection_serving/rmcp_benchmark.rs rename to crates/tracedecay/benches/rmcp/benchmark.rs diff --git a/crates/tracedecay/src/session_temporal_benchmark.rs b/crates/tracedecay/benches/session_temporal/harness.rs similarity index 99% rename from crates/tracedecay/src/session_temporal_benchmark.rs rename to crates/tracedecay/benches/session_temporal/harness.rs index c58e6769fb..1ac3393c2d 100644 --- a/crates/tracedecay/src/session_temporal_benchmark.rs +++ b/crates/tracedecay/benches/session_temporal/harness.rs @@ -66,7 +66,7 @@ const HISTORICAL_RESULT_PATH: &str = "benchmark_data/session-temporal/result-pro const HISTORICAL_RESULT_FILE_NAME: &str = "result-provisional.json"; const HISTORICAL_HARNESS_PATH: &str = "src/sessions/session_temporal_benchmark.rs"; const RUNNER_PATH: &str = "scripts/run-session-temporal-benchmark.sh"; -const HARNESS_PATH: &str = "crates/tracedecay/src/session_temporal_benchmark.rs"; +const HARNESS_PATH: &str = "crates/tracedecay/benches/session_temporal/harness.rs"; const SOURCE_MODE_CLEAN: &str = "clean_git_worktree_v1"; const SANITIZATION_RECEIPT_PATH: &str = "benchmark_data/session-temporal/fixtures/codex-sanitization-receipt.json"; @@ -84,13 +84,13 @@ const NATIVE_CODEX_FIXTURES: &[(&str, &str)] = &[ ( "tests/fixtures/provider_normalization/codex/session_meta.input.json", include_str!( - "../../../tests/fixtures/provider_normalization/codex/session_meta.input.json" + "../../../../tests/fixtures/provider_normalization/codex/session_meta.input.json" ), ), ( "tests/fixtures/provider_normalization/codex/agent_message.input.json", include_str!( - "../../../tests/fixtures/provider_normalization/codex/agent_message.input.json" + "../../../../tests/fixtures/provider_normalization/codex/agent_message.input.json" ), ), ]; diff --git a/crates/tracedecay/src/session_temporal_benchmark/root_relation_fixture.rs b/crates/tracedecay/benches/session_temporal/root_relation_fixture.rs similarity index 100% rename from crates/tracedecay/src/session_temporal_benchmark/root_relation_fixture.rs rename to crates/tracedecay/benches/session_temporal/root_relation_fixture.rs diff --git a/crates/tracedecay/src/daemon.rs b/crates/tracedecay/src/daemon.rs index 9335f785dc..1a286da582 100644 --- a/crates/tracedecay/src/daemon.rs +++ b/crates/tracedecay/src/daemon.rs @@ -248,6 +248,7 @@ mod database_owner_registry; use database_owner_registry::DatabaseOwnerRegistry; pub(crate) mod dashboard_automation; #[cfg(feature = "test-transport")] +#[path = "../tests/common/dashboard_configuration_test_runtime.rs"] mod dashboard_configuration_test_runtime; pub(crate) mod doctor_kernel; pub(crate) mod hook_v2_replay_consumer; diff --git a/crates/tracedecay/src/daemon/connection_serving.rs b/crates/tracedecay/src/daemon/connection_serving.rs index 679b7aa3c3..3ba4aee753 100644 --- a/crates/tracedecay/src/daemon/connection_serving.rs +++ b/crates/tracedecay/src/daemon/connection_serving.rs @@ -17,6 +17,7 @@ use tracedecay_session_memory::context::CancellationToken; /// routing, selected-project response, delivery-settlement, and RMCP adapter /// path as the daemon without adding a shipped benchmark API. #[cfg(feature = "rmcp-benchmark")] +#[path = "../../benches/rmcp/benchmark.rs"] pub mod rmcp_benchmark; impl BrokerSelectedResponseLease for crate::mcp::server::SelectedProjectResponseLease { diff --git a/crates/tracedecay/src/lib.rs b/crates/tracedecay/src/lib.rs index bed064597a..4e0521a8e3 100644 --- a/crates/tracedecay/src/lib.rs +++ b/crates/tracedecay/src/lib.rs @@ -42,11 +42,18 @@ // across the tree churns far more than the lint is worth here. #![allow(clippy::large_futures)] +// Query-bench implementation for `tracedecay bench` / MCP `admin_project` +// action `bench`. Kept off the default library graph; the CLI production +// feature selects `bench` so the shipped command still compiles. +#[cfg(any(test, feature = "bench", feature = "test-helpers"))] +#[path = "../benches/query_bench/harness.rs"] +pub mod bench; // Fixture surface for integration tests, assembled by the composition root. // Gated so a default or `production` build carries none of it. -pub mod bench; #[cfg(any(test, feature = "test-helpers"))] -pub mod host_admission; +pub mod test_support; +#[cfg(any(test, feature = "test-helpers"))] +pub use test_support::host_admission; pub use tracedecay_code_index as code_index; pub use tracedecay_query as query; pub mod config; @@ -67,10 +74,10 @@ mod project_store_runtime; mod runtime_ports; pub use runtime_ports::{hook_runtime, register_runtime_ports}; pub mod serve; -// Benchmark harness, not product surface: the shipped library must not carry -// its fixture provisioning or process-environment mutation. The `session_temporal` -// bench target and the `test-helpers` integration lanes select it explicitly. +// Session-temporal harness lives under `benches/`; the lib only paths it in +// when a bench target or integration lane asks for `test-helpers`. #[cfg(any(test, feature = "test-helpers"))] +#[path = "../benches/session_temporal/harness.rs"] pub mod session_temporal_benchmark; pub mod tracedecay; #[doc(hidden)] diff --git a/crates/tracedecay/src/mcp/tools/handlers/admin_project.rs b/crates/tracedecay/src/mcp/tools/handlers/admin_project.rs index 3f26939a6e..1daf1d87bf 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/admin_project.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/admin_project.rs @@ -218,23 +218,36 @@ pub(super) async fn handle_admin_project( json, max_nodes, } => { - let report = crate::bench::run_bench_with_toml( - cg, - queries_toml - .as_deref() - .unwrap_or(crate::bench::DEFAULT_QUERIES_TOML), - crate::bench::BenchOptions { - format: crate::bench::OutputFormat::Json, - max_nodes, - }, - ) - .await?; - let output = if json { - crate::bench::format_report_json(&report) - } else { - crate::bench::format_report_console(&report) - }; - json!({ "output": output }) + #[cfg(any(test, feature = "bench", feature = "test-helpers"))] + { + let report = crate::bench::run_bench_with_toml( + cg, + queries_toml + .as_deref() + .unwrap_or(crate::bench::DEFAULT_QUERIES_TOML), + crate::bench::BenchOptions { + format: crate::bench::OutputFormat::Json, + max_nodes, + }, + ) + .await?; + let output = if json { + crate::bench::format_report_json(&report) + } else { + crate::bench::format_report_console(&report) + }; + json!({ "output": output }) + } + #[cfg(not(any(test, feature = "bench", feature = "test-helpers")))] + { + let _ = (queries_toml, json, max_nodes); + return Err(TraceDecayError::ProjectRoute { + reason_code: "verified-code-context-benchmark-unavailable".to_owned(), + retryable: false, + detail: "the benchmark is not yet mounted on an admitted code-graph authority" + .to_owned(), + }); + } } AdminProjectAction::AutomaticFactReceiptList { state, limit } => { let db = cg.open_project_store_db().await?; diff --git a/crates/tracedecay/src/host_admission.rs b/crates/tracedecay/src/test_support/host_admission.rs similarity index 100% rename from crates/tracedecay/src/host_admission.rs rename to crates/tracedecay/src/test_support/host_admission.rs diff --git a/crates/tracedecay/src/host_admission/accounting_test_support.rs b/crates/tracedecay/src/test_support/host_admission/accounting_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/accounting_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/accounting_test_support.rs diff --git a/crates/tracedecay/src/host_admission/integration_test_support.rs b/crates/tracedecay/src/test_support/host_admission/integration_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/integration_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/integration_test_support.rs diff --git a/crates/tracedecay/src/host_admission/lcm_api_test_support.rs b/crates/tracedecay/src/test_support/host_admission/lcm_api_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/lcm_api_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/lcm_api_test_support.rs diff --git a/crates/tracedecay/src/host_admission/lcm_fixture_test_support.rs b/crates/tracedecay/src/test_support/host_admission/lcm_fixture_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/lcm_fixture_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/lcm_fixture_test_support.rs diff --git a/crates/tracedecay/src/host_admission/profile_registry_test_support.rs b/crates/tracedecay/src/test_support/host_admission/profile_registry_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/profile_registry_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/profile_registry_test_support.rs diff --git a/crates/tracedecay/src/host_admission/session_test_support.rs b/crates/tracedecay/src/test_support/host_admission/session_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/session_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/session_test_support.rs diff --git a/crates/tracedecay/src/host_admission/verified_graph_test_support.rs b/crates/tracedecay/src/test_support/host_admission/verified_graph_test_support.rs similarity index 100% rename from crates/tracedecay/src/host_admission/verified_graph_test_support.rs rename to crates/tracedecay/src/test_support/host_admission/verified_graph_test_support.rs diff --git a/crates/tracedecay/src/test_support/mod.rs b/crates/tracedecay/src/test_support/mod.rs new file mode 100644 index 0000000000..81e4de3eef --- /dev/null +++ b/crates/tracedecay/src/test_support/mod.rs @@ -0,0 +1,4 @@ +//! Test-only composition-root fixtures. Compiled under `cfg(test)` or +//! `test-helpers`, never into a default or `production` library build. + +pub mod host_admission; diff --git a/crates/tracedecay/src/daemon/dashboard_configuration_test_runtime.rs b/crates/tracedecay/tests/common/dashboard_configuration_test_runtime.rs similarity index 100% rename from crates/tracedecay/src/daemon/dashboard_configuration_test_runtime.rs rename to crates/tracedecay/tests/common/dashboard_configuration_test_runtime.rs diff --git a/scripts/run-session-temporal-benchmark.sh b/scripts/run-session-temporal-benchmark.sh index da71fb267e..d892c47231 100755 --- a/scripts/run-session-temporal-benchmark.sh +++ b/scripts/run-session-temporal-benchmark.sh @@ -91,7 +91,7 @@ require(stats.get("p99_label") == p99_label, "p99 label mismatch") require(workload.get("production_path", {}).get("available_to_benchmark_target") is True, "production path must be available") implementation = workload.get("implementation") or {} -require(implementation.get("path") == "crates/tracedecay/src/session_temporal_benchmark.rs", +require(implementation.get("path") == "crates/tracedecay/benches/session_temporal/harness.rs", "implementation path mismatch") require((root / implementation["path"]).is_file(), "implementation source missing") runner = workload.get("runner") or {} @@ -133,7 +133,7 @@ elif provisional == "result-current.json": "current result workload manifest mismatch") identity = result.get("source_identity", {}) require(identity.get("harness") - == "crates/tracedecay/src/session_temporal_benchmark.rs", + == "crates/tracedecay/benches/session_temporal/harness.rs", "current result harness identity mismatch") require(identity.get("runner") == "scripts/run-session-temporal-benchmark.sh", "current result runner identity mismatch") From 45010fefdffd5ee9efa8622cadfd702e7140ddb1 Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 9 Sep 2026 18:56:41 +0000 Subject: [PATCH 2/3] refactor(tests): finish host admission fixture cutover --- .../cli_non_interactive_test.rs | 2 +- .../tests/core_cli_suite/gain_test.rs | 2 +- crates/tracedecay/benches/rmcp/benchmark.rs | 2 +- .../benches/session_temporal/harness.rs | 2 +- .../tracedecay/benches/transcript_ingest.rs | 2 +- crates/tracedecay/src/config/tests.rs | 8 ++++---- .../daemon/branch_admin/project_retirement.rs | 8 ++++---- ...de_index_runtime_graph_activation_tests.rs | 6 +++--- .../daemon/context_scout_lifecycle/tests.rs | 2 +- .../daemon/invocation_tests/types_tests.rs | 2 +- .../work_evidence_journey_tests.rs | 2 +- .../src/daemon/invocation_tests/work_tests.rs | 4 ++-- .../project_open_owners/git_catalog_tests.rs | 2 +- crates/tracedecay/src/daemon/projectless.rs | 4 ++-- .../daemon/retained_owner/memory_target.rs | 2 +- .../session/retained_effect_tests.rs | 2 +- .../src/daemon/session_runtime_tests.rs | 2 +- .../tracedecay/src/daemon/tests/bootstrap.rs | 2 +- .../src/daemon/tests/restart_proxy.rs | 4 ++-- crates/tracedecay/src/daemon/tests/socket.rs | 4 ++-- .../daemon/work_evidence_retrieval_tests.rs | 2 +- .../continuation.rs | 2 +- crates/tracedecay/src/dashboard.rs | 2 +- crates/tracedecay/src/host_admission_test.rs | 6 +++--- crates/tracedecay/src/lib.rs | 2 -- crates/tracedecay/src/mcp/server.rs | 8 ++++---- .../tracedecay/src/mcp/server/construction.rs | 2 +- .../src/mcp/server/freshness_tests.rs | 2 +- .../src/mcp/server/host_admission_tests.rs | 2 +- .../src/mcp/server/lcm_claude_recall_tests.rs | 2 +- crates/tracedecay/src/mcp/server/routing.rs | 2 +- .../src/mcp/server/writer_test_support.rs | 2 +- .../src/mcp/tools/handlers/admin_cli.rs | 4 ++-- .../tools/handlers/dispatch_test_support.rs | 4 ++-- .../src/mcp/tools/handlers/dispatch_tests.rs | 4 ++-- .../hook_runtime/context_scout/tests.rs | 2 +- .../handlers/hook_runtime/hermes/tests.rs | 2 +- .../handlers/hook_runtime/ingest/tests.rs | 2 +- crates/tracedecay/src/tracedecay.rs | 4 ++-- .../src/tracedecay/lifecycle/mod.rs | 10 +++++----- .../tests/automation_runner_test/scheduler.rs | 2 +- .../tests/automation_runner_test/support.rs | 2 +- .../support/fixtures.rs | 2 +- .../claude_observation_benchmark/runner.rs | 4 ++-- crates/tracedecay/tests/common/fixture.rs | 6 +++--- crates/tracedecay/tests/common/mod.rs | 2 +- .../cursor_observation_identity_fallback.rs | 2 +- .../daemon_suite/workflow_handoff_test.rs | 2 +- .../hooks_lsp_suite/hint_settlement_test.rs | 2 +- .../tests/hooks_lsp_suite/hook_replay_test.rs | 2 +- .../tests/mcp_suite/analytics_test.rs | 2 +- .../tests/mcp_suite/git_correlation_test.rs | 2 +- .../mcp_suite/mcp_handler_test/admin_test.rs | 2 +- .../mcp_suite/mcp_handler_test/lcm_test.rs | 2 +- .../skills_automation_test.rs | 2 +- .../mcp_server_test/hooks_branch_test.rs | 2 +- .../mcp_suite/mcp_server_test/support.rs | 4 ++-- .../tests/mcp_suite/serve_harness.rs | 2 +- crates/tracedecay/tests/mcp_suite/support.rs | 2 +- .../tests/mcp_suite/workflow_query_test.rs | 2 +- .../cross_host_handoff_test.rs | 2 +- .../host_event_fixture_test.rs | 2 +- .../windows_durable_behavior.rs | 6 +++--- .../tests/session_suite/anchor_resolution.rs | 2 +- .../session_suite/fact_anchor_authority.rs | 2 +- .../tests/session_suite/git_backfill.rs | 2 +- .../tests/session_suite/global_db.rs | 2 +- .../session_suite/lcm_compression/mod.rs | 2 +- .../tracedecay/tests/session_suite/lcm_dag.rs | 2 +- .../tests/session_suite/lcm_payload.rs | 2 +- .../tests/session_suite/lcm_query/mod.rs | 2 +- .../tracedecay/tests/session_suite/lcm_raw.rs | 2 +- .../lcm_summary_lineage_review.rs | 2 +- .../session_suite/message_search_eval_test.rs | 2 +- .../session_suite/observation_application.rs | 2 +- .../observation_projection/mod.rs | 2 +- .../source_transition.rs | 2 +- .../session_suite/observation_store/mod.rs | 2 +- .../observation_store/retrieval_anchors.rs | 2 +- .../observation_workflow_projection.rs | 2 +- .../session_suite/session_runtime/mod.rs | 2 +- .../session_runtime/project_lifecycle.rs | 20 +++++++++---------- .../session_runtime/retained_history.rs | 2 +- .../session_runtime/session_sync.rs | 4 ++-- .../session_runtime/temporal_refresh.rs | 2 +- .../session_runtime/worker_persistence.rs | 2 +- .../temporal_derived_evidence.rs | 2 +- .../session_suite/temporal_projection/mod.rs | 2 +- .../tests/session_suite/temporal_refresh.rs | 2 +- .../tests/session_suite/transcript_store.rs | 2 +- .../storage_suite/global_registry_test.rs | 2 +- .../native_project_alias_test.rs | 2 +- .../project_identity_collapse_test.rs | 2 +- .../storage_suite/projects_forget_test.rs | 2 +- .../storage_suite/storage_resolver_test.rs | 2 +- .../worktree_canonical_root_guard_test.rs | 2 +- .../tests/transcript_ingest_suite/claude.rs | 2 +- .../tests/transcript_ingest_suite/codex.rs | 2 +- .../codex_compaction.rs | 2 +- .../tests/transcript_ingest_suite/cursor.rs | 2 +- .../tests/transcript_ingest_suite/hermes.rs | 2 +- .../restart_atomicity.rs | 2 +- .../transcript_ingest_suite/session_ingest.rs | 2 +- .../source_identity.rs | 2 +- 104 files changed, 144 insertions(+), 146 deletions(-) diff --git a/crates/tracedecay-cli/tests/core_cli_suite/cli_non_interactive_test.rs b/crates/tracedecay-cli/tests/core_cli_suite/cli_non_interactive_test.rs index fbce703451..170e01bb86 100644 --- a/crates/tracedecay-cli/tests/core_cli_suite/cli_non_interactive_test.rs +++ b/crates/tracedecay-cli/tests/core_cli_suite/cli_non_interactive_test.rs @@ -11,7 +11,7 @@ use crate::provision_host_cli_fixture; #[cfg(unix)] use std::os::unix::fs::PermissionsExt; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_agent_hosts::PRODUCT_VERSION; use tracedecay_automation_runtime::automation::run_ledger::{ AutomationRunArtifactKind, AutomationRunLedgerRecord, append_run_record, write_run_artifact, diff --git a/crates/tracedecay-cli/tests/core_cli_suite/gain_test.rs b/crates/tracedecay-cli/tests/core_cli_suite/gain_test.rs index 1e2d2859cb..dc2044005e 100644 --- a/crates/tracedecay-cli/tests/core_cli_suite/gain_test.rs +++ b/crates/tracedecay-cli/tests/core_cli_suite/gain_test.rs @@ -1,7 +1,7 @@ use std::fs; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; async fn open_isolated_runtime(tmp: &TempDir) -> HostAdmissionTestRuntimeV1 { HostAdmissionTestRuntimeV1::profile(tmp.path().join(".tracedecay")) diff --git a/crates/tracedecay/benches/rmcp/benchmark.rs b/crates/tracedecay/benches/rmcp/benchmark.rs index e9fcaea162..450b8f8f6f 100644 --- a/crates/tracedecay/benches/rmcp/benchmark.rs +++ b/crates/tracedecay/benches/rmcp/benchmark.rs @@ -28,7 +28,7 @@ use tracedecay_daemon_protocol::{ use tracedecay_domain::ProjectId; use super::{BrokerStreamTransport, DaemonLifecycle, serve_routed_rmcp_connection}; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::McpServer; use crate::tracedecay::TraceDecayOpenOptions; diff --git a/crates/tracedecay/benches/session_temporal/harness.rs b/crates/tracedecay/benches/session_temporal/harness.rs index 1ac3393c2d..c8769201ae 100644 --- a/crates/tracedecay/benches/session_temporal/harness.rs +++ b/crates/tracedecay/benches/session_temporal/harness.rs @@ -718,7 +718,7 @@ fn measurement_result(source_identity: Value, measurement: Value) -> Value { /// benchmark-private handle. fn ensure_admission_resource_authorities() -> Arc { - crate::host_admission::ensure_process_background_cpu_authority() + crate::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install process capture authorities for the benchmark") } diff --git a/crates/tracedecay/benches/transcript_ingest.rs b/crates/tracedecay/benches/transcript_ingest.rs index fcd5417ec4..cf6addcfba 100644 --- a/crates/tracedecay/benches/transcript_ingest.rs +++ b/crates/tracedecay/benches/transcript_ingest.rs @@ -22,7 +22,7 @@ use std::path::{Path, PathBuf}; use std::time::{Duration, Instant}; use futures_util::FutureExt as _; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::ProjectId; use tracedecay_runtime_core::storage::write_repository_identity_marker; use tracedecay_sessions::runtime::SessionProvider; diff --git a/crates/tracedecay/src/config/tests.rs b/crates/tracedecay/src/config/tests.rs index 098215793c..9d848a9c37 100644 --- a/crates/tracedecay/src/config/tests.rs +++ b/crates/tracedecay/src/config/tests.rs @@ -572,7 +572,7 @@ async fn discover_project_root_with_identity_does_not_open_registry_only_store() let _profile = super::PinnedUserDataDir::new(); let profile_root = tracedecay_runtime_core::storage::default_profile_root().unwrap(); - let gdb = crate::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) + let gdb = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) .await .unwrap(); @@ -649,7 +649,7 @@ async fn discover_project_root_with_identity_does_not_open_registry_only_store() async fn config_path_with_identity_does_not_open_registry_without_enrollment() { let _profile = super::PinnedUserDataDir::new(); let profile_root = tracedecay_runtime_core::storage::default_profile_root().unwrap(); - let gdb = crate::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) + let gdb = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) .await .unwrap(); @@ -720,7 +720,7 @@ async fn config_path_with_identity_does_not_open_registry_without_enrollment() { async fn discover_project_root_with_identity_does_not_bind_non_git_child_to_parent_store() { let _profile = super::PinnedUserDataDir::new(); let profile_root = tracedecay_runtime_core::storage::default_profile_root().unwrap(); - let gdb = crate::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) + let gdb = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) .await .unwrap(); @@ -894,7 +894,7 @@ mod runtime_configuration_cutover { cached_telemetry_config, install_pinned_runtime_configuration, runtime_configuration_for_layout, }; - use crate::host_admission::HostAdmissionTestRuntimeV1; + use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_configuration::{ ConfigurationControlStore, ConfigurationMutationAuthority, DirectConfigurationMutation, ProjectConfigurationRuntime, diff --git a/crates/tracedecay/src/daemon/branch_admin/project_retirement.rs b/crates/tracedecay/src/daemon/branch_admin/project_retirement.rs index 0eb6d70dd6..00293b27d5 100644 --- a/crates/tracedecay/src/daemon/branch_admin/project_retirement.rs +++ b/crates/tracedecay/src/daemon/branch_admin/project_retirement.rs @@ -495,13 +495,13 @@ mod tests { project_id: &str, ) -> ( crate::tracedecay::TraceDecay, - crate::host_admission::HostAdmissionTestRuntimeV1, + crate::test_support::host_admission::HostAdmissionTestRuntimeV1, ) { std::fs::create_dir_all(profile_root).expect("isolated profile root"); std::fs::create_dir_all(project_root).expect("isolated project root"); let project_id = tracedecay_domain::ProjectId::new(project_id.to_owned()) .expect("typed project identity"); - let runtime = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile_root, project_root, project_id, @@ -522,13 +522,13 @@ mod tests { } async fn isolated_sibling_graph( - runtime: &crate::host_admission::HostAdmissionTestRuntimeV1, + runtime: &crate::test_support::host_admission::HostAdmissionTestRuntimeV1, profile_root: &std::path::Path, project_root: &std::path::Path, project_id: &str, ) -> ( crate::tracedecay::TraceDecay, - crate::host_admission::HostAdmissionTestRuntimeV1, + crate::test_support::host_admission::HostAdmissionTestRuntimeV1, ) { std::fs::create_dir_all(project_root).expect("isolated sibling project root"); let project_id = tracedecay_domain::ProjectId::new(project_id.to_owned()) diff --git a/crates/tracedecay/src/daemon/code_index_runtime_graph_activation_tests.rs b/crates/tracedecay/src/daemon/code_index_runtime_graph_activation_tests.rs index c21ace9b55..952d59d354 100644 --- a/crates/tracedecay/src/daemon/code_index_runtime_graph_activation_tests.rs +++ b/crates/tracedecay/src/daemon/code_index_runtime_graph_activation_tests.rs @@ -299,7 +299,7 @@ async fn persistent_graph_activation_publishes_a_small_generation() { // Activation issues verified graph reads; the project graph runtime binds // asynchronously after `project_memory` returns, so an unawaited bind // races activation into "not ready for verified reads". - crate::host_admission::await_bound_graph_runtime( + crate::test_support::host_admission::await_bound_graph_runtime( &project_database, "bind small persistent activation graph runtime", ) @@ -446,7 +446,7 @@ async fn restart_status_case(corrupt_graph: bool, dirty_before_restart: bool) { .project_memory(project_id.clone(), [fixture.path().to_path_buf()]) .await .expect("writable project database"); - crate::host_admission::await_bound_graph_runtime( + crate::test_support::host_admission::await_bound_graph_runtime( &project_database, "bind stale graph status projection", ) @@ -523,7 +523,7 @@ async fn restart_status_case(corrupt_graph: bool, dirty_before_restart: bool) { .project_memory(project_id.clone(), [fixture.path().to_path_buf()]) .await .expect("restarted writable project database"); - crate::host_admission::await_bound_graph_runtime( + crate::test_support::host_admission::await_bound_graph_runtime( &project_database, "bind restarted graph status projection", ) diff --git a/crates/tracedecay/src/daemon/context_scout_lifecycle/tests.rs b/crates/tracedecay/src/daemon/context_scout_lifecycle/tests.rs index eeac80d232..5af9781779 100644 --- a/crates/tracedecay/src/daemon/context_scout_lifecycle/tests.rs +++ b/crates/tracedecay/src/daemon/context_scout_lifecycle/tests.rs @@ -15,7 +15,7 @@ use tracedecay_store::{ }; use super::*; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_sessions::admission::HostAdmissionScope; fn id>(value: &str) -> T diff --git a/crates/tracedecay/src/daemon/invocation_tests/types_tests.rs b/crates/tracedecay/src/daemon/invocation_tests/types_tests.rs index 881089125d..e1d8b30c52 100644 --- a/crates/tracedecay/src/daemon/invocation_tests/types_tests.rs +++ b/crates/tracedecay/src/daemon/invocation_tests/types_tests.rs @@ -910,7 +910,7 @@ async fn feedback_admission_conflicts_construct_zero_losing_producers() { let _pin = tracedecay_runtime_core::config::PinnedUserDataDir::new(); let project = tempfile::tempdir().expect("project root"); let project_id = ProjectId::new("project.feedback.atomic-publication").expect("project id"); - let host = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let host = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( tracedecay_runtime_core::storage::default_profile_root().expect("profile root"), project.path(), project_id.clone(), diff --git a/crates/tracedecay/src/daemon/invocation_tests/work_evidence_journey_tests.rs b/crates/tracedecay/src/daemon/invocation_tests/work_evidence_journey_tests.rs index cf7d781d5b..cf867488c2 100644 --- a/crates/tracedecay/src/daemon/invocation_tests/work_evidence_journey_tests.rs +++ b/crates/tracedecay/src/daemon/invocation_tests/work_evidence_journey_tests.rs @@ -256,7 +256,7 @@ async fn registered_work_evidence_hydrates_the_provider_qualified_task_session() let project_id = id::("project.work.evidence-journey"); let repository_id = id::("repository.work.evidence-journey"); let worktree_id = id::("worktree.work.evidence-journey"); - let host = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let host = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile.path(), &project, project_id.clone(), diff --git a/crates/tracedecay/src/daemon/invocation_tests/work_tests.rs b/crates/tracedecay/src/daemon/invocation_tests/work_tests.rs index 320b6f53fb..207efa620e 100644 --- a/crates/tracedecay/src/daemon/invocation_tests/work_tests.rs +++ b/crates/tracedecay/src/daemon/invocation_tests/work_tests.rs @@ -73,7 +73,7 @@ async fn registered_work_services_dispatch_the_core_lifecycle() { let _pin = tracedecay_runtime_core::config::PinnedUserDataDir::new(); let project = tempfile::tempdir().expect("project root"); let project_id = ProjectId::new("project.work.core-invocation").expect("project id"); - let host = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let host = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( tracedecay_runtime_core::storage::default_profile_root().expect("profile root"), project.path(), project_id.clone(), @@ -494,7 +494,7 @@ async fn committed_work_mutations_publish_task_activity_and_reads_do_not() { let _pin = tracedecay_runtime_core::config::PinnedUserDataDir::new(); let project = tempfile::tempdir().expect("project root"); let project_id = ProjectId::new("project.work.task-activity").expect("project id"); - let host = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let host = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( tracedecay_runtime_core::storage::default_profile_root().expect("profile root"), project.path(), project_id.clone(), diff --git a/crates/tracedecay/src/daemon/project_open_owners/git_catalog_tests.rs b/crates/tracedecay/src/daemon/project_open_owners/git_catalog_tests.rs index 16561d3d07..acea8144d7 100644 --- a/crates/tracedecay/src/daemon/project_open_owners/git_catalog_tests.rs +++ b/crates/tracedecay/src/daemon/project_open_owners/git_catalog_tests.rs @@ -41,7 +41,7 @@ async fn git_owner_uses_explicit_canonical_catalog_and_rechecks_authorization() git(&project_root, &["add", "."]); git(&project_root, &["commit", "-m", "fixture"]); let project_id = ProjectId::new("project.git-catalog").unwrap(); - let fixture = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let fixture = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( &profile_root, &project_root, project_id.clone(), diff --git a/crates/tracedecay/src/daemon/projectless.rs b/crates/tracedecay/src/daemon/projectless.rs index 412125c023..e8e4357c97 100644 --- a/crates/tracedecay/src/daemon/projectless.rs +++ b/crates/tracedecay/src/daemon/projectless.rs @@ -700,7 +700,7 @@ mod projectless_admission_tests { .expect("restrict foreign profile root"); } crate::product_runtime::register_fixture_product_runtime(); - crate::host_admission::ensure_process_background_cpu_authority() + crate::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker authority"); let identity = tracedecay_daemon_identity::profile_identity::load_or_create(&real_root) .expect("pin profile identity"); @@ -769,7 +769,7 @@ mod projectless_admission_tests { let temp = tempfile::tempdir().expect("tempdir"); let (real_root, linked_root) = linked_profile_root(temp.path()); crate::product_runtime::register_fixture_product_runtime(); - crate::host_admission::ensure_process_background_cpu_authority() + crate::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker authority"); let identity = tracedecay_daemon_identity::profile_identity::load_or_create(&real_root) .expect("pin profile identity"); diff --git a/crates/tracedecay/src/daemon/retained_owner/memory_target.rs b/crates/tracedecay/src/daemon/retained_owner/memory_target.rs index 3efa91fc61..a38ab23650 100644 --- a/crates/tracedecay/src/daemon/retained_owner/memory_target.rs +++ b/crates/tracedecay/src/daemon/retained_owner/memory_target.rs @@ -224,7 +224,7 @@ mod tests { tempfile::TempDir, TraceDecay, TraceDecay, - Arc, + Arc, ) { let tmp = tempfile::tempdir().unwrap(); // Register the same canonical paths that retained-target lookup uses. diff --git a/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs b/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs index 3afc954261..6564e9a5ab 100644 --- a/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs +++ b/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs @@ -32,7 +32,7 @@ use crate::daemon::StoreOwnerKey; use crate::daemon::retained_owner::session_refresh::{ MountedSessionRefreshAuthorityV1, admitted_session_refresh_command, }; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::server::DaemonSessionRefreshService; use tracedecay_daemon_service::DaemonWorkflowIndexReadService; use tracedecay_global_db::{RegisteredGlobalDb, RegisteredGlobalDbLeaseV1}; diff --git a/crates/tracedecay/src/daemon/session_runtime_tests.rs b/crates/tracedecay/src/daemon/session_runtime_tests.rs index e6bc4af636..537e1683cb 100644 --- a/crates/tracedecay/src/daemon/session_runtime_tests.rs +++ b/crates/tracedecay/src/daemon/session_runtime_tests.rs @@ -8,7 +8,7 @@ use tempfile::TempDir; use tracedecay_session_runtime::StoreOwnerKey; use tracedecay_sessions::admission::HostAdmissionScope; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; #[tokio::test] async fn evicted_project_owner_releases_temporal_scheduler() { diff --git a/crates/tracedecay/src/daemon/tests/bootstrap.rs b/crates/tracedecay/src/daemon/tests/bootstrap.rs index a8c408baf7..4589fea332 100644 --- a/crates/tracedecay/src/daemon/tests/bootstrap.rs +++ b/crates/tracedecay/src/daemon/tests/bootstrap.rs @@ -3860,7 +3860,7 @@ async fn production_composition_harness_reads_retained_profile_analytics_authori .await; let second_owner = - crate::host_admission::HostAdmissionTestRuntimeV1::profile(harness.profile_root()).await; + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(harness.profile_root()).await; let error = match second_owner { Ok(_) => panic!("parallel profile authority must remain rejected"), Err(error) => error, diff --git a/crates/tracedecay/src/daemon/tests/restart_proxy.rs b/crates/tracedecay/src/daemon/tests/restart_proxy.rs index 820bc9809f..acd8d64db7 100644 --- a/crates/tracedecay/src/daemon/tests/restart_proxy.rs +++ b/crates/tracedecay/src/daemon/tests/restart_proxy.rs @@ -495,7 +495,7 @@ async fn initialize_root_routing_replaces_cached_project_and_scope() { let project_b = TempDir::new().expect("project b temp dir"); let project_a = project_a.path().canonicalize().expect("project a path"); let project_b = project_b.path().canonicalize().expect("project b path"); - let registry = crate::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) + let registry = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) .await .expect("open retained profile runtime"); let global_db_path = profile.path().join("global.db"); @@ -596,7 +596,7 @@ async fn daemon_resolves_registry_only_initialize_root_alias() { let alias = alias.path().canonicalize().expect("canonical alias"); let nested = alias.join("nested"); std::fs::create_dir_all(&nested).expect("nested alias path"); - let registry = crate::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) + let registry = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) .await .expect("open retained profile runtime"); let global_db_path = profile.path().join("global.db"); diff --git a/crates/tracedecay/src/daemon/tests/socket.rs b/crates/tracedecay/src/daemon/tests/socket.rs index 451cc58a31..01d8261da5 100644 --- a/crates/tracedecay/src/daemon/tests/socket.rs +++ b/crates/tracedecay/src/daemon/tests/socket.rs @@ -1395,11 +1395,11 @@ async fn daemon_linked_worktree_route_repairs_primary_identity_and_keeps_alias() .expect("linked project registry context present"); assert_eq!( context.project.canonical_root, - crate::host_admission::HostAdmissionTestRuntimeV1::canonical_project_key(&primary) + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::canonical_project_key(&primary) ); assert!(context.aliases.iter().any(|alias| { alias.alias_path - == crate::host_admission::HostAdmissionTestRuntimeV1::canonical_project_key(&linked) + == crate::test_support::host_admission::HostAdmissionTestRuntimeV1::canonical_project_key(&linked) })); } diff --git a/crates/tracedecay/src/daemon/work_evidence_retrieval_tests.rs b/crates/tracedecay/src/daemon/work_evidence_retrieval_tests.rs index 4f571f884c..2ed36bbede 100644 --- a/crates/tracedecay/src/daemon/work_evidence_retrieval_tests.rs +++ b/crates/tracedecay/src/daemon/work_evidence_retrieval_tests.rs @@ -31,7 +31,7 @@ async fn registered_project_session_hydrates_provider_qualified_task_evidence() let project_id = id::("project.work-task-session"); let repository_id = id::("repository.work-task-session"); let worktree_id = id::("worktree.work-task-session"); - let runtime = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile.path(), &project, project_id.clone(), diff --git a/crates/tracedecay/src/daemon/work_evidence_retrieval_tests/continuation.rs b/crates/tracedecay/src/daemon/work_evidence_retrieval_tests/continuation.rs index 939abde127..8c40f628cf 100644 --- a/crates/tracedecay/src/daemon/work_evidence_retrieval_tests/continuation.rs +++ b/crates/tracedecay/src/daemon/work_evidence_retrieval_tests/continuation.rs @@ -25,7 +25,7 @@ async fn continuation_resumes_the_same_provider_session_without_repeating_eviden let project_id = id::("project.work-task-session-continuation"); let repository_id = id::("repository.work-task-session-continuation"); let worktree_id = id::("worktree.work-task-session-continuation"); - let runtime = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile.path(), &project, project_id.clone(), diff --git a/crates/tracedecay/src/dashboard.rs b/crates/tracedecay/src/dashboard.rs index 660ec20d71..8e4ab0acba 100644 --- a/crates/tracedecay/src/dashboard.rs +++ b/crates/tracedecay/src/dashboard.rs @@ -325,7 +325,7 @@ impl DashboardGraphTestRuntimeV1 { label = "dashboard.graph.project_memory" ) .await?; - let graph_proxy = crate::host_admission::await_bound_graph_runtime( + let graph_proxy = crate::test_support::host_admission::await_bound_graph_runtime( &project_database, "bind dashboard project graph", ) diff --git a/crates/tracedecay/src/host_admission_test.rs b/crates/tracedecay/src/host_admission_test.rs index bff7fa78a1..654e814a0e 100644 --- a/crates/tracedecay/src/host_admission_test.rs +++ b/crates/tracedecay/src/host_admission_test.rs @@ -169,7 +169,7 @@ async fn host_ingress_binds_provenance_to_authoritative_project_and_replays_stab // process's worker plan. Observation capture prepares under the background // CPU authority that plan installs and refuses with // `Unavailable/background_cpu_unavailable` when none is injected. - let background_cpu = crate::host_admission::ensure_process_background_cpu_authority() + let background_cpu = crate::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install the process background CPU authority"); let root = TempDir::new().unwrap(); let repository_root = root.path().join("repository"); @@ -372,7 +372,7 @@ async fn registered_profile_runtime_is_required_and_mismatch_never_falls_back() // process's worker plan. Observation capture prepares under the background // CPU authority that plan installs and refuses with // `Unavailable/background_cpu_unavailable` when none is injected. - let background_cpu = crate::host_admission::ensure_process_background_cpu_authority() + let background_cpu = crate::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install the process background CPU authority"); let temporary = TempDir::new().unwrap(); let profile_root = temporary.path().join("profile"); @@ -505,7 +505,7 @@ async fn registered_project_runtime_is_exact_and_revocation_never_falls_back() { // process's worker plan. Observation capture prepares under the background // CPU authority that plan installs and refuses with // `Unavailable/background_cpu_unavailable` when none is injected. - let background_cpu = crate::host_admission::ensure_process_background_cpu_authority() + let background_cpu = crate::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install the process background CPU authority"); let temporary = TempDir::new().unwrap(); let profile_root = temporary.path().join("profile"); diff --git a/crates/tracedecay/src/lib.rs b/crates/tracedecay/src/lib.rs index 2cbe11485d..f6a8366084 100644 --- a/crates/tracedecay/src/lib.rs +++ b/crates/tracedecay/src/lib.rs @@ -51,8 +51,6 @@ pub mod bench; // Gated so a default or `production` build carries none of it. #[cfg(any(test, feature = "test-helpers"))] pub mod test_support; -#[cfg(any(test, feature = "test-helpers"))] -pub use test_support::host_admission; pub use tracedecay_code_index as code_index; pub use tracedecay_query as query; pub mod config; diff --git a/crates/tracedecay/src/mcp/server.rs b/crates/tracedecay/src/mcp/server.rs index cd173fa82d..86f23373ce 100644 --- a/crates/tracedecay/src/mcp/server.rs +++ b/crates/tracedecay/src/mcp/server.rs @@ -437,7 +437,7 @@ pub struct McpServer { admitted_project_scope: Option, retained_project_server_resolver: Option, #[cfg(any(test, feature = "test-transport"))] - _host_admission_test_runtime: Option>, + _host_admission_test_runtime: Option>, hook_project_routes: SharedHookProjectRouteCache, version_cache: std::sync::Mutex, pending_notifications: std::sync::Mutex>, @@ -650,7 +650,7 @@ impl McpServer { #[doc(hidden)] pub fn host_admission_test_runtime_for_test( &self, - ) -> Option<&crate::host_admission::HostAdmissionTestRuntimeV1> { + ) -> Option<&crate::test_support::host_admission::HostAdmissionTestRuntimeV1> { self._host_admission_test_runtime.as_deref() } @@ -660,7 +660,7 @@ impl McpServer { pub async fn new_with_host_admission_test_runtime_for_test( cg: TraceDecay, scope_prefix: Option, - runtime: crate::host_admission::ProjectScopedTestRuntimeV1, + runtime: crate::test_support::host_admission::ProjectScopedTestRuntimeV1, ) -> tracedecay_domain::errors::Result> { Self::new_with_retained_test_servers_for_test(cg, scope_prefix, runtime, Vec::new()).await } @@ -678,7 +678,7 @@ impl McpServer { pub async fn new_with_retained_test_servers_for_test( cg: TraceDecay, scope_prefix: Option, - runtime: crate::host_admission::ProjectScopedTestRuntimeV1, + runtime: crate::test_support::host_admission::ProjectScopedTestRuntimeV1, retained_servers: Vec>, ) -> tracedecay_domain::errors::Result> { let runtime = runtime.into_runtime(); diff --git a/crates/tracedecay/src/mcp/server/construction.rs b/crates/tracedecay/src/mcp/server/construction.rs index 8ae49b9f3f..f81b46176d 100644 --- a/crates/tracedecay/src/mcp/server/construction.rs +++ b/crates/tracedecay/src/mcp/server/construction.rs @@ -187,7 +187,7 @@ pub(crate) struct McpServerConstructionContext { pub(crate) project_server_live: Option>, #[cfg(any(test, feature = "test-transport"))] pub(crate) host_admission_test_runtime: - Option>, + Option>, } pub(crate) struct McpServerWriters { diff --git a/crates/tracedecay/src/mcp/server/freshness_tests.rs b/crates/tracedecay/src/mcp/server/freshness_tests.rs index bfb8f88efe..14c10061f3 100644 --- a/crates/tracedecay/src/mcp/server/freshness_tests.rs +++ b/crates/tracedecay/src/mcp/server/freshness_tests.rs @@ -60,7 +60,7 @@ fn git(root: &std::path::Path, args: &[&str]) { struct FreshnessFixtureAuthority { _pin: PinnedUserDataDir, - _runtime: Arc, + _runtime: Arc, } async fn init_indexed_repo() -> (TraceDecay, TempDir, FreshnessFixtureAuthority) { diff --git a/crates/tracedecay/src/mcp/server/host_admission_tests.rs b/crates/tracedecay/src/mcp/server/host_admission_tests.rs index f376d6259e..268f70cba4 100644 --- a/crates/tracedecay/src/mcp/server/host_admission_tests.rs +++ b/crates/tracedecay/src/mcp/server/host_admission_tests.rs @@ -11,7 +11,7 @@ use super::writer_test_support::{ WriterTestFixtureAuthority, init_indexed_repo, registered_context, registered_runtime, }; use super::{CodeIndexReconcileSink, McpServer, McpServerConstructionContext}; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::project_route::HookProjectRouteCache; use tracedecay_hooks::core_events::{ DaemonHookEvent, HookAgent, HookRouteMetadata, HookTerminalReceipt, diff --git a/crates/tracedecay/src/mcp/server/lcm_claude_recall_tests.rs b/crates/tracedecay/src/mcp/server/lcm_claude_recall_tests.rs index 1d69db5466..3f836afeb7 100644 --- a/crates/tracedecay/src/mcp/server/lcm_claude_recall_tests.rs +++ b/crates/tracedecay/src/mcp/server/lcm_claude_recall_tests.rs @@ -15,7 +15,7 @@ use tempfile::TempDir; use tracedecay_domain::{ObservationScopeV1, ProjectId, SessionId}; use super::McpServer; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::tracedecay::TraceDecayOpenOptions; use tracedecay_application::observation::ObservationCancellation; use tracedecay_mcp::transport::JsonRpcRequest; diff --git a/crates/tracedecay/src/mcp/server/routing.rs b/crates/tracedecay/src/mcp/server/routing.rs index 019443dce4..8d0e368e59 100644 --- a/crates/tracedecay/src/mcp/server/routing.rs +++ b/crates/tracedecay/src/mcp/server/routing.rs @@ -411,7 +411,7 @@ mod tests { use tempfile::TempDir; use super::{resolve_initialize_roots_project_path, select_initialize_project_path}; - use crate::host_admission::HostAdmissionTestRuntimeV1; + use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_sessions::admission::HostAdmissionScope; fn run_git(root: &Path, args: &[&str]) { diff --git a/crates/tracedecay/src/mcp/server/writer_test_support.rs b/crates/tracedecay/src/mcp/server/writer_test_support.rs index c7abe663a2..7860a0dd51 100644 --- a/crates/tracedecay/src/mcp/server/writer_test_support.rs +++ b/crates/tracedecay/src/mcp/server/writer_test_support.rs @@ -5,7 +5,7 @@ use tempfile::TempDir; use tracedecay_runtime_core::path_safety::{plain_git_args, plain_host_path}; use crate::config::PinnedUserDataDir; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::server::McpServerConstructionContext; use crate::tracedecay::TraceDecay; diff --git a/crates/tracedecay/src/mcp/tools/handlers/admin_cli.rs b/crates/tracedecay/src/mcp/tools/handlers/admin_cli.rs index 6d9600f852..9afbd76b8f 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/admin_cli.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/admin_cli.rs @@ -862,10 +862,10 @@ mod tests { project_id: &str, ) -> ( TraceDecay, - crate::host_admission::HostAdmissionTestRuntimeV1, + crate::test_support::host_admission::HostAdmissionTestRuntimeV1, ) { std::fs::create_dir_all(root).unwrap(); - let runtime = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile, root, ProjectId::new(project_id).unwrap(), diff --git a/crates/tracedecay/src/mcp/tools/handlers/dispatch_test_support.rs b/crates/tracedecay/src/mcp/tools/handlers/dispatch_test_support.rs index 281df333f3..3cc26fa798 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/dispatch_test_support.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/dispatch_test_support.rs @@ -277,12 +277,12 @@ pub(super) fn verified_graph_error_options<'a>( /// runtime's daemon session registry instead of constructing another runtime /// on the same profile. pub(super) async fn init_sibling_registered_fixture( - runtime: &crate::host_admission::HostAdmissionTestRuntimeV1, + runtime: &crate::test_support::host_admission::HostAdmissionTestRuntimeV1, project_root: &Path, project_id: &str, ) -> ( TraceDecay, - Arc, + Arc, ) { let profile_root = tracedecay_runtime_core::storage::default_profile_root().expect("sibling profile root"); diff --git a/crates/tracedecay/src/mcp/tools/handlers/dispatch_tests.rs b/crates/tracedecay/src/mcp/tools/handlers/dispatch_tests.rs index 53fa12b53b..d59fcb40ef 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/dispatch_tests.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/dispatch_tests.rs @@ -922,7 +922,7 @@ async fn selected_project_retrieve_finds_selected_project_response_handle() { let target_server = crate::mcp::McpServer::new_with_host_admission_test_runtime_for_test( target, None, - crate::host_admission::ProjectScopedTestRuntimeV1::new(target_runtime) + crate::test_support::host_admission::ProjectScopedTestRuntimeV1::new(target_runtime) .expect("target project-scoped runtime"), ) .await @@ -930,7 +930,7 @@ async fn selected_project_retrieve_finds_selected_project_response_handle() { let server = crate::mcp::McpServer::new_with_retained_test_servers_for_test( active, None, - crate::host_admission::ProjectScopedTestRuntimeV1::new(active_runtime) + crate::test_support::host_admission::ProjectScopedTestRuntimeV1::new(active_runtime) .expect("active project-scoped runtime"), vec![target_server], ) diff --git a/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/context_scout/tests.rs b/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/context_scout/tests.rs index 3753ba5a16..3b3e1b3c12 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/context_scout/tests.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/context_scout/tests.rs @@ -128,7 +128,7 @@ fn hook_v2_native_session_requires_exact_protected_locator() { async fn kimi_and_opencode_queued_lifecycle_delivery_prepares_scout_lookup() { let temporary = tempfile::tempdir().unwrap(); let project_id = ProjectId::new("project.native-hook-scout").unwrap(); - let runtime = crate::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( temporary.path().join("profile"), temporary.path().join("project"), project_id.clone(), diff --git a/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/hermes/tests.rs b/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/hermes/tests.rs index 50686d5a6c..a136bcb3e3 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/hermes/tests.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/hermes/tests.rs @@ -1,5 +1,5 @@ use super::super::*; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_mcp::structured_hook_error_data; use tracedecay_sessions::admission::{HostAdmissionScope, HostAdmissionStatus}; diff --git a/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/ingest/tests.rs b/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/ingest/tests.rs index a97caf5cde..33ca39c72e 100644 --- a/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/ingest/tests.rs +++ b/crates/tracedecay/src/mcp/tools/handlers/hook_runtime/ingest/tests.rs @@ -1,5 +1,5 @@ use super::super::*; -use crate::host_admission::HostAdmissionTestRuntimeV1; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_mcp::structured_hook_error_data; use super::*; diff --git a/crates/tracedecay/src/tracedecay.rs b/crates/tracedecay/src/tracedecay.rs index 10e2f15832..a8cd478be7 100644 --- a/crates/tracedecay/src/tracedecay.rs +++ b/crates/tracedecay/src/tracedecay.rs @@ -59,7 +59,7 @@ pub struct TraceDecay { >, context_scout_claim_authorities: tokio::sync::RwLock>, #[cfg(any(test, feature = "test-transport"))] - test_runtime_guard: Option>, + test_runtime_guard: Option>, _standalone_maintenance_scope: Option>, } @@ -106,7 +106,7 @@ impl TraceDecay { #[cfg(any(test, feature = "test-transport"))] pub fn test_runtime_for_test( &self, - ) -> Option> { + ) -> Option> { self.test_runtime_guard.clone() } diff --git a/crates/tracedecay/src/tracedecay/lifecycle/mod.rs b/crates/tracedecay/src/tracedecay/lifecycle/mod.rs index a90a9d34d4..57f4259af1 100644 --- a/crates/tracedecay/src/tracedecay/lifecycle/mod.rs +++ b/crates/tracedecay/src/tracedecay/lifecycle/mod.rs @@ -56,7 +56,7 @@ static STANDALONE_MAINTENANCE_SCOPES: LazyLock< /// fresh mounts. #[cfg(any(test, feature = "test-transport"))] static STANDALONE_TEST_RUNTIMES: LazyLock< - AsyncMutex>, + AsyncMutex>, > = LazyLock::new(|| AsyncMutex::new(WeakRegistry::new())); impl TraceDecay { @@ -108,7 +108,7 @@ impl TraceDecay { async fn standalone_test_runtime( project_root: &Path, open_options: &TraceDecayOpenOptions, - ) -> Result> { + ) -> Result> { let profile_root = open_options.resolved_profile_root()?; if !tracedecay_runtime_core::db::is_isolated_test_path(project_root) || !tracedecay_runtime_core::db::is_isolated_test_path(&profile_root) @@ -132,7 +132,7 @@ impl TraceDecay { return Ok(runtime); } let runtime = Arc::new( - crate::host_admission::HostAdmissionTestRuntimeV1::project( + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile_root, project_root, project_id, @@ -273,7 +273,7 @@ impl TraceDecay { pub(crate) async fn init_test_fixture_with_registered_runtime( project_root: &Path, project_id: &str, - ) -> Result<(Self, Arc)> { + ) -> Result<(Self, Arc)> { let profile_root = tracedecay_runtime_core::storage::default_profile_root()?; let project_id = tracedecay_domain::ProjectId::new(project_id).map_err(|error| { TraceDecayError::Config { @@ -281,7 +281,7 @@ impl TraceDecay { } })?; let runtime = Arc::new( - crate::host_admission::HostAdmissionTestRuntimeV1::project( + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::project( &profile_root, project_root, project_id, diff --git a/crates/tracedecay/tests/automation_runner_test/scheduler.rs b/crates/tracedecay/tests/automation_runner_test/scheduler.rs index d0aa286a91..9d2a3dc490 100644 --- a/crates/tracedecay/tests/automation_runner_test/scheduler.rs +++ b/crates/tracedecay/tests/automation_runner_test/scheduler.rs @@ -1,5 +1,5 @@ use tempfile::tempdir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_automation_runtime::automation::backend::{AgentTaskFailureClass, AgentTaskKind}; use tracedecay_automation_runtime::automation::config::{ AutomationBackend, AutomationConfig, AutomationConfigPatch, AutomationTaskConfig, diff --git a/crates/tracedecay/tests/automation_runner_test/support.rs b/crates/tracedecay/tests/automation_runner_test/support.rs index 1197c79602..b4f0cc3288 100644 --- a/crates/tracedecay/tests/automation_runner_test/support.rs +++ b/crates/tracedecay/tests/automation_runner_test/support.rs @@ -23,7 +23,7 @@ use std::sync::atomic::{AtomicUsize, Ordering}; pub(crate) use serde_json::{Value, json}; pub(crate) use tempfile::tempdir; -pub(crate) use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +pub(crate) use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; pub(crate) use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions, current_timestamp}; pub(crate) use tracedecay_automation_runtime::automation::automatic_facts::{ AutomaticFactState, list_automatic_fact_receipts, load_automatic_fact_receipt, diff --git a/crates/tracedecay/tests/automation_runner_test/support/fixtures.rs b/crates/tracedecay/tests/automation_runner_test/support/fixtures.rs index ace53d22ef..48cb901506 100644 --- a/crates/tracedecay/tests/automation_runner_test/support/fixtures.rs +++ b/crates/tracedecay/tests/automation_runner_test/support/fixtures.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use std::sync::atomic::AtomicBool; use serde_json::{Value, json}; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions, current_timestamp}; use tracedecay_automation_runtime::automation::automatic_facts::record_session_automatic_facts; use tracedecay_automation_runtime::automation::run_ledger::{ diff --git a/crates/tracedecay/tests/claude_observation_benchmark/runner.rs b/crates/tracedecay/tests/claude_observation_benchmark/runner.rs index 1db4eff601..4ed50f9836 100644 --- a/crates/tracedecay/tests/claude_observation_benchmark/runner.rs +++ b/crates/tracedecay/tests/claude_observation_benchmark/runner.rs @@ -9,7 +9,7 @@ use tracedecay_store::{ ObservationReplayRequest, SESSION_MESSAGE_PROJECTOR_VERSION, StoredObservation, }; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_application::observation::ObservationCancellation; use tracedecay_runtime_core::sqlite_read_snapshot::open_immutable_read_only; use tracedecay_runtime_core::storage::{ @@ -35,7 +35,7 @@ use tracedecay_sessions::runtime::{codex, cursor, hermes, kiro}; /// delegates to the same helper `HostAdmissionTestRuntimeV1` uses instead of /// racing it with a benchmark-private handle. fn ensure_background_cpu_authority() { - tracedecay::host_admission::ensure_process_background_cpu_authority() + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install process capture authorities for the benchmark"); } diff --git a/crates/tracedecay/tests/common/fixture.rs b/crates/tracedecay/tests/common/fixture.rs index 8821eca4df..41adb33400 100644 --- a/crates/tracedecay/tests/common/fixture.rs +++ b/crates/tracedecay/tests/common/fixture.rs @@ -43,7 +43,7 @@ use std::path::{Path, PathBuf}; use std::process::{Command, Output}; use std::sync::{Arc, OnceLock}; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use tracedecay_domain::ProjectId; use tracedecay_runtime_core::storage::{self, StoreLayout}; @@ -482,8 +482,8 @@ impl UnenrolledProject { impl RegisteredProject { /// This project's runtime, promoted to the project scope that project-graph /// and project-session seams require. - pub fn project_scoped_runtime(&self) -> tracedecay::host_admission::ProjectScopedTestRuntimeV1 { - tracedecay::host_admission::ProjectScopedTestRuntimeV1::new(Arc::clone(&self.registry)) + pub fn project_scoped_runtime(&self) -> tracedecay::test_support::host_admission::ProjectScopedTestRuntimeV1 { + tracedecay::test_support::host_admission::ProjectScopedTestRuntimeV1::new(Arc::clone(&self.registry)) .unwrap_or_else(|err| panic!("fixture project runtime must be project-scoped: {err}")) } diff --git a/crates/tracedecay/tests/common/mod.rs b/crates/tracedecay/tests/common/mod.rs index 49ffaceb3b..2300458079 100644 --- a/crates/tracedecay/tests/common/mod.rs +++ b/crates/tracedecay/tests/common/mod.rs @@ -25,7 +25,7 @@ use tempfile::NamedTempFile; use tempfile::TempDir; use tokio::sync::OnceCell; use tracedecay::config::USER_DATA_DIR_ENV; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_runtime_core::db::{Database, DatabaseAuthority, TestDatabaseRuntimeMode}; use tracedecay_runtime_core::storage::PrivateStoreIo; use tracedecay_sessions::admission::{HostAdmissionOutcome, HostAdmissionScope}; diff --git a/crates/tracedecay/tests/cursor_observation_identity_fallback.rs b/crates/tracedecay/tests/cursor_observation_identity_fallback.rs index f28584a59e..3440f6d12d 100644 --- a/crates/tracedecay/tests/cursor_observation_identity_fallback.rs +++ b/crates/tracedecay/tests/cursor_observation_identity_fallback.rs @@ -1,6 +1,6 @@ use serde_json::{Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_capture::cursor::{ cursor_observation_identity, cursor_projected_message_id, normalize_cursor_observation_with_message_id, diff --git a/crates/tracedecay/tests/daemon_suite/workflow_handoff_test.rs b/crates/tracedecay/tests/daemon_suite/workflow_handoff_test.rs index 551fbba1d9..a399b3f102 100644 --- a/crates/tracedecay/tests/daemon_suite/workflow_handoff_test.rs +++ b/crates/tracedecay/tests/daemon_suite/workflow_handoff_test.rs @@ -8,7 +8,7 @@ //! durability here. use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_contracts::{ TaskHandoffAuthorityPort, TaskHandoffConsumeOutcome, TaskHandoffGrant, TaskHandoffScope, WorkHandoffFrontierV1, WorkHandoffLineageV1, WorkflowDefinitionAuthorityPort, diff --git a/crates/tracedecay/tests/hooks_lsp_suite/hint_settlement_test.rs b/crates/tracedecay/tests/hooks_lsp_suite/hint_settlement_test.rs index be47990380..a18528c453 100644 --- a/crates/tracedecay/tests/hooks_lsp_suite/hint_settlement_test.rs +++ b/crates/tracedecay/tests/hooks_lsp_suite/hint_settlement_test.rs @@ -8,7 +8,7 @@ #![allow(clippy::unwrap_used, clippy::expect_used)] use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_agent_hosts::hooks::hint_outcomes::HintOutcomeStats; use tracedecay_agent_hosts::hooks::hint_outcomes::settlement::{ HintOutcomeSettlement, settle_project_hint_outcomes, diff --git a/crates/tracedecay/tests/hooks_lsp_suite/hook_replay_test.rs b/crates/tracedecay/tests/hooks_lsp_suite/hook_replay_test.rs index aaac7cb259..050de023e1 100644 --- a/crates/tracedecay/tests/hooks_lsp_suite/hook_replay_test.rs +++ b/crates/tracedecay/tests/hooks_lsp_suite/hook_replay_test.rs @@ -16,7 +16,7 @@ use std::path::Path; use std::process::{Command, Stdio}; use serde_json::{Value, json}; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::AnalyticsEventQuery; use tracedecay_runtime_core::storage::{StorageMode, default_profile_sharded_layout}; diff --git a/crates/tracedecay/tests/mcp_suite/analytics_test.rs b/crates/tracedecay/tests/mcp_suite/analytics_test.rs index c29455fcae..c4cc686f82 100644 --- a/crates/tracedecay/tests/mcp_suite/analytics_test.rs +++ b/crates/tracedecay/tests/mcp_suite/analytics_test.rs @@ -11,7 +11,7 @@ use crate::support::{ production_composition_fixture, real_mcp_server, setup_empty_project, }; #[cfg(feature = "test-transport")] -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; #[cfg(feature = "test-transport")] use tracedecay::tracedecay::current_timestamp; #[cfg(feature = "test-transport")] diff --git a/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs b/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs index f2cb00f7b1..3d10bfb253 100644 --- a/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs +++ b/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs @@ -9,7 +9,7 @@ use std::process::Command; use serde_json::{Value, json}; -use tracedecay::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; +use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; use tracedecay::mcp::McpServer; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use tracedecay_runtime_core::storage::PrivateStoreIo; diff --git a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/admin_test.rs b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/admin_test.rs index 3c95cdb7cf..69c47ef635 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/admin_test.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/admin_test.rs @@ -5,7 +5,7 @@ use std::fs; #[cfg(feature = "test-transport")] use std::path::Path; #[cfg(feature = "test-transport")] -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_mcp::get_tool_definitions; #[cfg(feature = "test-transport")] diff --git a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/lcm_test.rs b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/lcm_test.rs index 2ccf6ea761..d71399db91 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/lcm_test.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/lcm_test.rs @@ -5,7 +5,7 @@ use serde_json::{Value, json}; #[cfg(feature = "test-transport")] use std::time::SystemTime; #[cfg(feature = "test-transport")] -use tracedecay::host_admission::LcmLineageFaultForTest; +use tracedecay::test_support::host_admission::LcmLineageFaultForTest; #[cfg(feature = "test-transport")] use tracedecay_domain::CanonicalMessageRoleV1; #[cfg(feature = "test-transport")] diff --git a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs index 1f6fe5233d..06b582efde 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs @@ -5,7 +5,7 @@ use serde_json::json; use std::fs; use tempfile::TempDir; #[cfg(feature = "test-transport")] -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; #[cfg(feature = "test-transport")] use tracedecay::mcp::McpServer; #[cfg(feature = "test-transport")] diff --git a/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs b/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs index 733ad9bcae..7e98217c92 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs @@ -4,7 +4,7 @@ use std::fs; use std::path::{Path, PathBuf}; use std::sync::Arc; use tempfile::TempDir; -use tracedecay::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; +use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; use tracedecay::mcp::McpServer; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; diff --git a/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs b/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs index 3cd0f899f4..c89d96b3b6 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs @@ -7,7 +7,7 @@ use std::fs; use std::path::PathBuf; use std::sync::Arc; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::mcp::McpServer; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use tracedecay_mcp::transport::{ChannelTransport, McpTransport}; @@ -264,7 +264,7 @@ pub(crate) async fn mcp_runtime_events( global_db_path: &std::path::Path, session_id: &str, ) -> Vec { - let runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::profile( + let runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::profile( global_db_path .parent() .expect("global db has a profile root"), diff --git a/crates/tracedecay/tests/mcp_suite/serve_harness.rs b/crates/tracedecay/tests/mcp_suite/serve_harness.rs index b277fac274..d09be1ec4d 100644 --- a/crates/tracedecay/tests/mcp_suite/serve_harness.rs +++ b/crates/tracedecay/tests/mcp_suite/serve_harness.rs @@ -12,7 +12,7 @@ use std::time::Duration; use serde_json::{Value, json}; use tempfile::TempDir; #[cfg(unix)] -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::tracedecay::TraceDecayOpenOptions; use crate::common::{TestChildProcess, canonical_existing_path, tracedecay_command_with_home}; diff --git a/crates/tracedecay/tests/mcp_suite/support.rs b/crates/tracedecay/tests/mcp_suite/support.rs index b1ed862144..27fbe34e80 100644 --- a/crates/tracedecay/tests/mcp_suite/support.rs +++ b/crates/tracedecay/tests/mcp_suite/support.rs @@ -25,7 +25,7 @@ use tokio::sync::{Mutex, MutexGuard}; #[cfg(feature = "test-transport")] use tracedecay::daemon::ProductionProjectCompositionHarnessV1; #[cfg(feature = "test-transport")] -use tracedecay::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; +use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; #[cfg(feature = "test-transport")] use tracedecay::mcp::McpServer; use tracedecay::tracedecay::TraceDecay; diff --git a/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs b/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs index 9e2da9cfad..b2322bed69 100644 --- a/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs +++ b/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs @@ -10,7 +10,7 @@ use std::path::Path; use serde_json::{Value, json}; -use tracedecay::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; +use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; use tracedecay::mcp::McpServer; use tracedecay::tracedecay::TraceDecay; use tracedecay_sessions::runtime::git_correlation::{ diff --git a/crates/tracedecay/tests/runtime_acceptance_suite/cross_host_handoff_test.rs b/crates/tracedecay/tests/runtime_acceptance_suite/cross_host_handoff_test.rs index 47c1c7d901..2535798b71 100644 --- a/crates/tracedecay/tests/runtime_acceptance_suite/cross_host_handoff_test.rs +++ b/crates/tracedecay/tests/runtime_acceptance_suite/cross_host_handoff_test.rs @@ -1,6 +1,6 @@ use serde_json::json; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_application::observation::{CaptureObservationRequest, ObservationCancellation}; use tracedecay_domain::{ CanonicalMessageRoleV1, CanonicalObservationEnvelopeV1, CanonicalObservationEvidenceV1, diff --git a/crates/tracedecay/tests/runtime_acceptance_suite/host_event_fixture_test.rs b/crates/tracedecay/tests/runtime_acceptance_suite/host_event_fixture_test.rs index 8bb86cbca0..b6a5278965 100644 --- a/crates/tracedecay/tests/runtime_acceptance_suite/host_event_fixture_test.rs +++ b/crates/tracedecay/tests/runtime_acceptance_suite/host_event_fixture_test.rs @@ -4,7 +4,7 @@ use std::process::{Command, Output, Stdio}; use serde_json::{Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_application::observation::{CaptureObservationRequest, ObservationCancellation}; use tracedecay_domain::{ CanonicalMessageRoleV1, CanonicalObservationEnvelopeV1, CanonicalObservationEvidenceV1, diff --git a/crates/tracedecay/tests/runtime_acceptance_suite/windows_durable_behavior.rs b/crates/tracedecay/tests/runtime_acceptance_suite/windows_durable_behavior.rs index eabef8cf77..82bca1e56e 100644 --- a/crates/tracedecay/tests/runtime_acceptance_suite/windows_durable_behavior.rs +++ b/crates/tracedecay/tests/runtime_acceptance_suite/windows_durable_behavior.rs @@ -75,7 +75,7 @@ mod temporal_kernel_behavior { mod lcm_payload_behavior { use tempfile::TempDir; - use tracedecay::host_admission::HostAdmissionTestRuntimeV1; + use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_lcm::{LcmExpandRequest, LcmExpandTarget}; use tracedecay_sessions::admission::HostAdmissionScope; @@ -128,7 +128,7 @@ mod lcm_payload_behavior { mod lcm_query_behavior { use tempfile::TempDir; - use tracedecay::host_admission::HostAdmissionTestRuntimeV1; + use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_sessions::admission::HostAdmissionScope; use super::common::{lcm_payload_message, lcm_payload_session}; @@ -173,7 +173,7 @@ mod lcm_query_behavior { mod lcm_schema_durability { use tempfile::TempDir; - use tracedecay::host_admission::HostAdmissionTestRuntimeV1; + use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_sessions::admission::HostAdmissionScope; use super::common::{lcm_payload_message, lcm_payload_session}; diff --git a/crates/tracedecay/tests/session_suite/anchor_resolution.rs b/crates/tracedecay/tests/session_suite/anchor_resolution.rs index 2789e163ce..1113de7904 100644 --- a/crates/tracedecay/tests/session_suite/anchor_resolution.rs +++ b/crates/tracedecay/tests/session_suite/anchor_resolution.rs @@ -7,7 +7,7 @@ use std::collections::BTreeMap; use serde_json::json; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ AnchorResolutionStateV2, ClaudeByteRangeV1, ClaudeFileGenerationV1, ClaudeObservationIdentityMaterialV1, ClaudeSourceCursorV1, ClaudeSourceIdentityV1, diff --git a/crates/tracedecay/tests/session_suite/fact_anchor_authority.rs b/crates/tracedecay/tests/session_suite/fact_anchor_authority.rs index c6ea481b24..e0235661d6 100644 --- a/crates/tracedecay/tests/session_suite/fact_anchor_authority.rs +++ b/crates/tracedecay/tests/session_suite/fact_anchor_authority.rs @@ -10,7 +10,7 @@ use std::sync::Arc; use serde_json::json; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ AccessPolicyDigest, AnchorDurabilityClass, AnchorSourceGenerationV2, CapabilityId, ComponentVersion, Confidence, CoverageReportV1, EntityId, EntityKind, EntityRef, EvidenceClass, diff --git a/crates/tracedecay/tests/session_suite/git_backfill.rs b/crates/tracedecay/tests/session_suite/git_backfill.rs index 7306452c69..b9617fde90 100644 --- a/crates/tracedecay/tests/session_suite/git_backfill.rs +++ b/crates/tracedecay/tests/session_suite/git_backfill.rs @@ -14,7 +14,7 @@ use std::process::Command; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_application::observation::ObservationCancellation; use tracedecay_domain::ObservationScopeV1; use tracedecay_domain::ProjectId; diff --git a/crates/tracedecay/tests/session_suite/global_db.rs b/crates/tracedecay/tests/session_suite/global_db.rs index 4f019aebbb..31030a65d3 100644 --- a/crates/tracedecay/tests/session_suite/global_db.rs +++ b/crates/tracedecay/tests/session_suite/global_db.rs @@ -2,7 +2,7 @@ use std::path::Path; use sha2::{Digest, Sha256}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::{AnalyticsEventInsert, AnalyticsEventQuery}; use tracedecay_lcm::LcmStorageKind; use tracedecay_sessions::admission::HostAdmissionScope; diff --git a/crates/tracedecay/tests/session_suite/lcm_compression/mod.rs b/crates/tracedecay/tests/session_suite/lcm_compression/mod.rs index 52ec8e01ac..0cc25df22f 100644 --- a/crates/tracedecay/tests/session_suite/lcm_compression/mod.rs +++ b/crates/tracedecay/tests/session_suite/lcm_compression/mod.rs @@ -2,7 +2,7 @@ use std::time::Duration; use serde_json::{Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_lcm::{ LcmCompressionRequest, LcmGrepRequest, LcmGrepSort, LcmLifecycleUpdate, LcmLoadSessionRequest, LcmMaintenanceDebt, LcmPreflightRequest, LcmScope, LcmSessionBoundaryRequest, LcmSourceRef, diff --git a/crates/tracedecay/tests/session_suite/lcm_dag.rs b/crates/tracedecay/tests/session_suite/lcm_dag.rs index 68f8ddf8c5..b1d2dd94a7 100644 --- a/crates/tracedecay/tests/session_suite/lcm_dag.rs +++ b/crates/tracedecay/tests/session_suite/lcm_dag.rs @@ -1,5 +1,5 @@ use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_lcm::types::{LcmImmutableSummaryPublication, LcmSummaryPublicationDisposition}; use tracedecay_lcm::{ LcmDescribeRequest, LcmDescribeTarget, LcmError, LcmGrepRequest, LcmGrepSort, LcmScope, diff --git a/crates/tracedecay/tests/session_suite/lcm_payload.rs b/crates/tracedecay/tests/session_suite/lcm_payload.rs index 03fbf7551b..16889f88e2 100644 --- a/crates/tracedecay/tests/session_suite/lcm_payload.rs +++ b/crates/tracedecay/tests/session_suite/lcm_payload.rs @@ -4,7 +4,7 @@ use serde_json::{Value, json}; #[cfg(unix)] use sha2::{Digest, Sha256}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_lcm::payload::DeleteOpts; use tracedecay_lcm::types::{LcmImmutableSummaryPublication, LcmSummaryPublicationReceipt}; use tracedecay_lcm::{ diff --git a/crates/tracedecay/tests/session_suite/lcm_query/mod.rs b/crates/tracedecay/tests/session_suite/lcm_query/mod.rs index e6e1b41a1a..5bce0a3a68 100644 --- a/crates/tracedecay/tests/session_suite/lcm_query/mod.rs +++ b/crates/tracedecay/tests/session_suite/lcm_query/mod.rs @@ -1,5 +1,5 @@ use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::ParseOffset; use tracedecay_lcm::{ LCM_SCHEMA_VERSION, LcmContentSlice, LcmDescribeRequest, LcmDescribeTarget, LcmError, diff --git a/crates/tracedecay/tests/session_suite/lcm_raw.rs b/crates/tracedecay/tests/session_suite/lcm_raw.rs index e7cf6c8ec4..2ece7bb03b 100644 --- a/crates/tracedecay/tests/session_suite/lcm_raw.rs +++ b/crates/tracedecay/tests/session_suite/lcm_raw.rs @@ -2,7 +2,7 @@ use std::path::{Path, PathBuf}; use serde_json::{Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_lcm::{LcmCompressionRequest, LcmSummarizerMode}; use tracedecay_sessions::admission::HostAdmissionScope; use tracedecay_sessions::runtime::SessionMessageRecord; diff --git a/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs b/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs index 90886f4bb4..266e65f678 100644 --- a/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs +++ b/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use tempfile::TempDir; -use tracedecay::host_admission::{HostAdmissionTestRuntimeV1, LcmLineageFaultForTest}; +use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, LcmLineageFaultForTest}; use tracedecay_graph_db::NeverCancelled; use tracedecay_lcm::types::{LcmImmutableSummaryPublication, LcmSummaryPublicationDisposition}; use tracedecay_lcm::{ diff --git a/crates/tracedecay/tests/session_suite/message_search_eval_test.rs b/crates/tracedecay/tests/session_suite/message_search_eval_test.rs index 65871e971d..c205e696ae 100644 --- a/crates/tracedecay/tests/session_suite/message_search_eval_test.rs +++ b/crates/tracedecay/tests/session_suite/message_search_eval_test.rs @@ -20,7 +20,7 @@ use serde_json::Value; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::ProjectId; use tracedecay_sessions::admission::HostAdmissionScope; use tracedecay_sessions::runtime::SessionMessageSearchResult; diff --git a/crates/tracedecay/tests/session_suite/observation_application.rs b/crates/tracedecay/tests/session_suite/observation_application.rs index 5b44f461c4..4cd7dd7dc1 100644 --- a/crates/tracedecay/tests/session_suite/observation_application.rs +++ b/crates/tracedecay/tests/session_suite/observation_application.rs @@ -1,6 +1,6 @@ use serde_json::{Map, Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_application::observation::{ AdvanceNonDurableSourceCursorRequest, CaptureClaudeObservationOutcome, CaptureClaudeObservationRequest, CaptureObservationOutcome, CaptureObservationRequest, diff --git a/crates/tracedecay/tests/session_suite/observation_projection/mod.rs b/crates/tracedecay/tests/session_suite/observation_projection/mod.rs index 4600972a6b..2f5b8c5a5d 100644 --- a/crates/tracedecay/tests/session_suite/observation_projection/mod.rs +++ b/crates/tracedecay/tests/session_suite/observation_projection/mod.rs @@ -1,6 +1,6 @@ use serde_json::{Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_application::observation::ObservationCancellation; use tracedecay_domain::{ CanonicalGitEvidenceKindV1, CanonicalMessageRoleV1, CanonicalObservationEnvelopeV1, diff --git a/crates/tracedecay/tests/session_suite/observation_projection/source_transition.rs b/crates/tracedecay/tests/session_suite/observation_projection/source_transition.rs index f5d3cb4cca..03bf2af676 100644 --- a/crates/tracedecay/tests/session_suite/observation_projection/source_transition.rs +++ b/crates/tracedecay/tests/session_suite/observation_projection/source_transition.rs @@ -1,7 +1,7 @@ use std::collections::BTreeSet; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ CanonicalObservationEnvelopeV1, CanonicalObservationEvidenceV1, CanonicalObservationFactV1, CanonicalObservationRelationsV1, ClineTranscriptStream, DurableObservationV1, ObservationId, diff --git a/crates/tracedecay/tests/session_suite/observation_store/mod.rs b/crates/tracedecay/tests/session_suite/observation_store/mod.rs index 2275acd57b..f7556f227e 100644 --- a/crates/tracedecay/tests/session_suite/observation_store/mod.rs +++ b/crates/tracedecay/tests/session_suite/observation_store/mod.rs @@ -5,7 +5,7 @@ use std::path::Path; use serde_json::json; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ AnchorDurabilityClass, AnchorSourceGenerationV2, CanonicalMessageRoleV1, CanonicalObservationEnvelopeV1, CanonicalObservationEvidenceV1, CanonicalObservationFactV1, diff --git a/crates/tracedecay/tests/session_suite/observation_store/retrieval_anchors.rs b/crates/tracedecay/tests/session_suite/observation_store/retrieval_anchors.rs index 7e9b3d5b33..d1f8767183 100644 --- a/crates/tracedecay/tests/session_suite/observation_store/retrieval_anchors.rs +++ b/crates/tracedecay/tests/session_suite/observation_store/retrieval_anchors.rs @@ -2,7 +2,7 @@ use std::process::Command; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ AnchorLineageRefV2, AnchorProvenanceRelationV2, AnchorSourceGenerationV2, ClaudeSourceCursorV1, FactOwnerV1, ObservationScopeV1, ObservationSourceGenerationV1, ProjectId, RetrievalAnchorId, diff --git a/crates/tracedecay/tests/session_suite/observation_workflow_projection.rs b/crates/tracedecay/tests/session_suite/observation_workflow_projection.rs index 986f2e1ac6..028d7f3b54 100644 --- a/crates/tracedecay/tests/session_suite/observation_workflow_projection.rs +++ b/crates/tracedecay/tests/session_suite/observation_workflow_projection.rs @@ -2,7 +2,7 @@ use std::path::Path; use serde_json::{Value, json}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ CanonicalMessageRoleV1, CanonicalObservationEnvelopeV1, CanonicalObservationEvidenceV1, CanonicalObservationFactV1, CanonicalObservationRelationsV1, CanonicalWorkflowEvidenceKindV1, diff --git a/crates/tracedecay/tests/session_suite/session_runtime/mod.rs b/crates/tracedecay/tests/session_suite/session_runtime/mod.rs index fce9ac51a6..f6e7931b16 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/mod.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/mod.rs @@ -6,7 +6,7 @@ use std::sync::Arc; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::errors::{Result, TraceDecayError}; use tracedecay_global_db::RegisteredGlobalDbLeaseV1; use tracedecay_session_runtime::StoreOwnerKey; diff --git a/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs b/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs index db84c2a353..23f4b60cfa 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs @@ -38,13 +38,13 @@ async fn register( root: &tempfile::TempDir, project_id: ProjectId, ) -> ( - tracedecay::host_admission::HostAdmissionTestRuntimeV1, + tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1, tracedecay_global_db::RegisteredGlobalDbLeaseV1, UserProfileId, ) { let project_root = root.path().join(project_id.as_str()); std::fs::create_dir_all(&project_root).unwrap(); - let runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( root.path(), &project_root, project_id.clone(), @@ -70,7 +70,7 @@ async fn register( project_sessions: project_sessions.clone(), user_sessions: profile_sessions.clone(), registry: profile_sessions, - background_cpu: tracedecay::host_admission::ensure_process_background_cpu_authority() + background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), @@ -315,7 +315,7 @@ async fn exact_project_retirement_drains_a_keeps_b_live_and_rebinds_a() { // Re-enter the canonical host-admission owner map. This mints a fresh // short-lived registered lease without recovering a runtime or authority // from the retired client. - let replacement_runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::project( + let replacement_runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( root_a.path(), root_a.path().join(project_a.as_str()), project_a.clone(), @@ -409,7 +409,7 @@ async fn registration_recovery_fences_concurrent_execute() { let project_id = ProjectId::new("project.session-sync.registration-race").unwrap(); let project_root = root.path().join(project_id.as_str()); std::fs::create_dir_all(&project_root).unwrap(); - let runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( root.path(), &project_root, project_id.clone(), @@ -459,7 +459,7 @@ async fn registration_recovery_fences_concurrent_execute() { user_sessions: profile_sessions.clone(), registry: profile_sessions, background_cpu: - tracedecay::host_admission::ensure_process_background_cpu_authority() + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), @@ -500,7 +500,7 @@ async fn terminal_recovered_alias_does_not_suppress_startup_import() { let project_id = ProjectId::new("project.session-sync.terminal-alias").unwrap(); let project_root = root.path().join(project_id.as_str()); std::fs::create_dir_all(&project_root).unwrap(); - let runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( root.path(), &project_root, project_id.clone(), @@ -568,7 +568,7 @@ async fn terminal_recovered_alias_does_not_suppress_startup_import() { project_sessions, user_sessions: profile_sessions.clone(), registry: profile_sessions.clone(), - background_cpu: tracedecay::host_admission::ensure_process_background_cpu_authority() + background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker plan authority"), startup_import: true, project_refresh: SessionTemporalRefreshWake::unavailable(), @@ -608,7 +608,7 @@ async fn recovery_upgrades_a_journal_whose_frontiers_exceed_one_query() { let project_id = ProjectId::new("project.session-sync.large-frontier").unwrap(); let project_root = root.path().join(project_id.as_str()); std::fs::create_dir_all(&project_root).unwrap(); - let runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( root.path(), &project_root, project_id.clone(), @@ -663,7 +663,7 @@ async fn recovery_upgrades_a_journal_whose_frontiers_exceed_one_query() { project_sessions, user_sessions: profile_sessions.clone(), registry: profile_sessions.clone(), - background_cpu: tracedecay::host_admission::ensure_process_background_cpu_authority() + background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), diff --git a/crates/tracedecay/tests/session_suite/session_runtime/retained_history.rs b/crates/tracedecay/tests/session_suite/session_runtime/retained_history.rs index 402788c7c1..5c86918018 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/retained_history.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/retained_history.rs @@ -31,7 +31,7 @@ use tracedecay_store::{ build_observation_retrieval_anchor_v2, }; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_sessions::admission::HostAdmissionScope; use tracedecay_sessions::serving::{ SessionProjectionServingState, SessionProjectionServingStatusPort, SessionProjectionStaleReason, diff --git a/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs b/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs index ca77a84875..c030ea5682 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs @@ -868,7 +868,7 @@ async fn cancel_in_alias_activation_gap_mirrors_primary_terminal_receipt() { let project_root = profile_root.path().join("project"); std::fs::create_dir_all(&project_root).unwrap(); let project_id = ProjectId::new("project.cancel-alias-race").unwrap(); - let runtime = tracedecay::host_admission::HostAdmissionTestRuntimeV1::project( + let runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( profile_root.path(), &project_root, project_id.clone(), @@ -898,7 +898,7 @@ async fn cancel_in_alias_activation_gap_mirrors_primary_terminal_receipt() { project_sessions, user_sessions: profile_sessions.clone(), registry: profile_sessions.clone(), - background_cpu: tracedecay::host_admission::ensure_process_background_cpu_authority() + background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), diff --git a/crates/tracedecay/tests/session_suite/session_runtime/temporal_refresh.rs b/crates/tracedecay/tests/session_suite/session_runtime/temporal_refresh.rs index ba6a422a00..8d7a79a429 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/temporal_refresh.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/temporal_refresh.rs @@ -38,7 +38,7 @@ use tracedecay_store::{ }; use tracedecay_temporal_query::ports::ExecutionControl; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::{RegisteredGlobalDb, RegisteredGlobalDbLeaseV1}; use tracedecay_session_temporal_store::{SessionRefreshRecoveryV1, SessionRefreshRestartStateV1}; use tracedecay_sessions::admission::HostAdmissionScope; diff --git a/crates/tracedecay/tests/session_suite/session_runtime/worker_persistence.rs b/crates/tracedecay/tests/session_suite/session_runtime/worker_persistence.rs index 3c37f1320f..0f993a132a 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/worker_persistence.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/worker_persistence.rs @@ -8,7 +8,7 @@ use tracedecay_store::{ SessionRefreshStore, SessionTemporalProjectionBatchV1, }; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_session_runtime::session_sync::test_harness::{ SessionTemporalRefreshPassReport, SessionTemporalRefreshWakeState, apply_refresh_effect, }; diff --git a/crates/tracedecay/tests/session_suite/temporal_derived_evidence.rs b/crates/tracedecay/tests/session_suite/temporal_derived_evidence.rs index 2673c6aaa1..ad5b911106 100644 --- a/crates/tracedecay/tests/session_suite/temporal_derived_evidence.rs +++ b/crates/tracedecay/tests/session_suite/temporal_derived_evidence.rs @@ -3,7 +3,7 @@ use std::collections::BTreeSet; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ AnchorProvenanceRelationV2, CopyProofV1, LogicalCopyRecordV1, MessageOccurrenceRecordV1, RetrievalGrainV1, SessionId, TemporalModeV1, diff --git a/crates/tracedecay/tests/session_suite/temporal_projection/mod.rs b/crates/tracedecay/tests/session_suite/temporal_projection/mod.rs index e9ec975576..342ee35c86 100644 --- a/crates/tracedecay/tests/session_suite/temporal_projection/mod.rs +++ b/crates/tracedecay/tests/session_suite/temporal_projection/mod.rs @@ -3,7 +3,7 @@ use std::fmt::Write as _; use serde_json::{Value, json}; use sha2::{Digest, Sha256}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ AnchorProvenanceRelationV2, CanonicalMessageRoleV1, CanonicalObservationEnvelopeV1, CanonicalObservationEvidenceV1, CanonicalObservationFactV1, CanonicalObservationRelationsV1, diff --git a/crates/tracedecay/tests/session_suite/temporal_refresh.rs b/crates/tracedecay/tests/session_suite/temporal_refresh.rs index 0705acab67..2ba1b66360 100644 --- a/crates/tracedecay/tests/session_suite/temporal_refresh.rs +++ b/crates/tracedecay/tests/session_suite/temporal_refresh.rs @@ -1,7 +1,7 @@ use std::time::{Instant, SystemTime, UNIX_EPOCH}; use tempfile::TempDir; -use tracedecay::host_admission::{HostAdmissionTestRuntimeV1, SessionTemporalFixtureCountV1}; +use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, SessionTemporalFixtureCountV1}; use tracedecay_domain::{ SessionId, SessionRefreshKeyV1, SessionRefreshSourceTargetV1, SessionSourceFrontierV1, SessionSourceIdV1, SessionTemporalCoverageRequestV1, TemporalCoverageCountsV1, TemporalModeV1, diff --git a/crates/tracedecay/tests/session_suite/transcript_store.rs b/crates/tracedecay/tests/session_suite/transcript_store.rs index 72f1994718..c28ff5ac0c 100644 --- a/crates/tracedecay/tests/session_suite/transcript_store.rs +++ b/crates/tracedecay/tests/session_suite/transcript_store.rs @@ -1,5 +1,5 @@ use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::ParseOffset; use tracedecay_sessions::admission::HostAdmissionScope; use tracedecay_store::{TranscriptStore, TranscriptStoreError, TranscriptWriteBatch}; diff --git a/crates/tracedecay/tests/storage_suite/global_registry_test.rs b/crates/tracedecay/tests/storage_suite/global_registry_test.rs index 1b77f845c2..7047cbb5d3 100644 --- a/crates/tracedecay/tests/storage_suite/global_registry_test.rs +++ b/crates/tracedecay/tests/storage_suite/global_registry_test.rs @@ -5,7 +5,7 @@ use std::path::{Path, PathBuf}; use std::os::unix::fs::PermissionsExt; use tempfile::TempDir; use tokio::sync::Mutex; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::{ GraphScopeUpsert, ProjectObservationStoreError, StoreArtifactUpsert, StoreInstanceUpsert, }; diff --git a/crates/tracedecay/tests/storage_suite/native_project_alias_test.rs b/crates/tracedecay/tests/storage_suite/native_project_alias_test.rs index 15d4bce2f7..8612189384 100644 --- a/crates/tracedecay/tests/storage_suite/native_project_alias_test.rs +++ b/crates/tracedecay/tests/storage_suite/native_project_alias_test.rs @@ -3,7 +3,7 @@ use std::path::{Path, PathBuf}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; #[cfg(unix)] fn non_unicode_alias_paths(root: &Path) -> (PathBuf, PathBuf) { diff --git a/crates/tracedecay/tests/storage_suite/project_identity_collapse_test.rs b/crates/tracedecay/tests/storage_suite/project_identity_collapse_test.rs index 616308383f..a50490df50 100644 --- a/crates/tracedecay/tests/storage_suite/project_identity_collapse_test.rs +++ b/crates/tracedecay/tests/storage_suite/project_identity_collapse_test.rs @@ -16,7 +16,7 @@ use std::path::{Path, PathBuf}; use std::process::Command; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::ReapEntryKind; use tracedecay_global_db::StoreInstanceUpsert; use tracedecay_runtime_core::path_safety::plain_host_path; diff --git a/crates/tracedecay/tests/storage_suite/projects_forget_test.rs b/crates/tracedecay/tests/storage_suite/projects_forget_test.rs index 613afb8374..be92561f2a 100644 --- a/crates/tracedecay/tests/storage_suite/projects_forget_test.rs +++ b/crates/tracedecay/tests/storage_suite/projects_forget_test.rs @@ -8,7 +8,7 @@ use std::path::{Path, PathBuf}; use std::os::unix::fs::PermissionsExt; use tempfile::TempDir; use tokio::sync::Mutex; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_global_db::profile_registry_maintenance::ProfileRegistryMaintenanceRuntime; use tracedecay_global_db::{GraphScopeUpsert, StoreArtifactUpsert, StoreInstanceUpsert}; diff --git a/crates/tracedecay/tests/storage_suite/storage_resolver_test.rs b/crates/tracedecay/tests/storage_suite/storage_resolver_test.rs index d9551d12bf..4b23f42fa5 100644 --- a/crates/tracedecay/tests/storage_suite/storage_resolver_test.rs +++ b/crates/tracedecay/tests/storage_suite/storage_resolver_test.rs @@ -10,7 +10,7 @@ use std::os::unix::fs::symlink; use tempfile::TempDir; use tracedecay::config::{TraceDecayConfig, USER_DATA_DIR_ENV}; use tracedecay::config::{discover_project_root, get_config_path, load_config}; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use tracedecay_global_db::{ProjectObservationStoreError, StoreInstanceUpsert}; use tracedecay_mcp::response_handles::{ diff --git a/crates/tracedecay/tests/storage_suite/worktree_canonical_root_guard_test.rs b/crates/tracedecay/tests/storage_suite/worktree_canonical_root_guard_test.rs index b9dc9ba680..c312a43634 100644 --- a/crates/tracedecay/tests/storage_suite/worktree_canonical_root_guard_test.rs +++ b/crates/tracedecay/tests/storage_suite/worktree_canonical_root_guard_test.rs @@ -17,7 +17,7 @@ use std::path::{Path, PathBuf}; use std::process::Command; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use crate::common::canonical_existing_path as canonical_temp_path; diff --git a/crates/tracedecay/tests/transcript_ingest_suite/claude.rs b/crates/tracedecay/tests/transcript_ingest_suite/claude.rs index 1ba94db99d..57f6f28b9c 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/claude.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/claude.rs @@ -1,7 +1,7 @@ use std::io::Write; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ ProviderUsageCounterSemanticsV1, ProviderUsageCountersV1, ProviderUsageModelV1, ProviderUsageScopeV1, diff --git a/crates/tracedecay/tests/transcript_ingest_suite/codex.rs b/crates/tracedecay/tests/transcript_ingest_suite/codex.rs index b24e627fd9..8008e2bb3a 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/codex.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/codex.rs @@ -1,7 +1,7 @@ use std::io::Write; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_sessions::admission::HostAdmissionScope; use tracedecay_sessions::runtime::codex::CodexSource; diff --git a/crates/tracedecay/tests/transcript_ingest_suite/codex_compaction.rs b/crates/tracedecay/tests/transcript_ingest_suite/codex_compaction.rs index 2096f57067..c8fbcb620f 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/codex_compaction.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/codex_compaction.rs @@ -7,7 +7,7 @@ use std::io::Write; use std::process::Stdio; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::ProjectId; use tracedecay_global_db::ParseOffset; use tracedecay_lcm::{ diff --git a/crates/tracedecay/tests/transcript_ingest_suite/cursor.rs b/crates/tracedecay/tests/transcript_ingest_suite/cursor.rs index 32f70f3bd5..aee2443813 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/cursor.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/cursor.rs @@ -2,7 +2,7 @@ use std::hash::BuildHasher; use std::io::Write; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; #[cfg(unix)] use tracedecay_agent_hosts::hooks::cursor_pre_compact_via_daemon; use tracedecay_sessions::admission::HostAdmissionScope; diff --git a/crates/tracedecay/tests/transcript_ingest_suite/hermes.rs b/crates/tracedecay/tests/transcript_ingest_suite/hermes.rs index 9633c81bc8..e19904810e 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/hermes.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/hermes.rs @@ -8,7 +8,7 @@ use std::path::{Path, PathBuf}; use serde_json::json; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ MAX_OBSERVATION_RECORD_BYTES, ProjectId, ProviderUsageCounterSemanticsV1, ProviderUsageCountersV1, ProviderUsageModelV1, ProviderUsageScopeV1, diff --git a/crates/tracedecay/tests/transcript_ingest_suite/restart_atomicity.rs b/crates/tracedecay/tests/transcript_ingest_suite/restart_atomicity.rs index de3e4d7966..c285eceda3 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/restart_atomicity.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/restart_atomicity.rs @@ -3,7 +3,7 @@ use std::path::{Path, PathBuf}; use std::sync::atomic::{AtomicU64, Ordering}; use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ObservationScopeV1, ObservationSourceCursorV1, ProjectId}; use tracedecay_runtime_core::storage::{ read_repository_identity_marker, write_repository_identity_marker, diff --git a/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs b/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs index 59882f78d6..892d575d87 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs @@ -54,7 +54,7 @@ impl IngestTestRuntime { /// authority that daemon startup installs; the fixture injects the same /// one the production worker plan uses. fn authority(&self) -> GlobalDbSessionIngestAuthority { - let background_cpu = tracedecay::host_admission::ensure_process_background_cpu_authority() + let background_cpu = tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() .expect("install fixture worker plan authority"); GlobalDbSessionIngestAuthority::new(self.database.clone()) .with_background_cpu(background_cpu) diff --git a/crates/tracedecay/tests/transcript_ingest_suite/source_identity.rs b/crates/tracedecay/tests/transcript_ingest_suite/source_identity.rs index 87ddfb60b9..c8c748bdf8 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/source_identity.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/source_identity.rs @@ -4,7 +4,7 @@ //! collapsed into a Cursor project-filter miss or a Codex v2 cursor miss. use tempfile::TempDir; -use tracedecay::host_admission::HostAdmissionTestRuntimeV1; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_domain::{ ClineTranscriptStream, ObservationSourceIdentityV1, ProviderId, SessionId, }; From 0c19fdf90f1f9ad515561325fb676178eae05fce Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Wed, 9 Sep 2026 18:58:00 +0000 Subject: [PATCH 3/3] style(tests): format canonical fixture imports --- crates/tracedecay/benches/rmcp/benchmark.rs | 2 +- crates/tracedecay/src/config/tests.rs | 21 +++++++------ .../session/retained_effect_tests.rs | 2 +- .../tracedecay/src/daemon/tests/bootstrap.rs | 6 ++-- .../src/daemon/tests/restart_proxy.rs | 14 +++++---- crates/tracedecay/src/daemon/tests/socket.rs | 4 ++- crates/tracedecay/src/host_admission_test.rs | 15 ++++++---- crates/tracedecay/src/mcp/server.rs | 3 +- .../src/mcp/server/host_admission_tests.rs | 2 +- .../src/mcp/server/writer_test_support.rs | 2 +- crates/tracedecay/src/tracedecay.rs | 3 +- .../src/tracedecay/lifecycle/mod.rs | 12 ++++++-- crates/tracedecay/tests/common/fixture.rs | 10 +++++-- .../tests/mcp_suite/git_correlation_test.rs | 4 ++- .../skills_automation_test.rs | 4 +-- .../mcp_server_test/hooks_branch_test.rs | 4 ++- .../mcp_suite/mcp_server_test/support.rs | 2 +- crates/tracedecay/tests/mcp_suite/support.rs | 6 ++-- .../tests/mcp_suite/workflow_query_test.rs | 4 ++- .../lcm_summary_lineage_review.rs | 4 ++- .../session_runtime/project_lifecycle.rs | 30 +++++++++++-------- .../session_runtime/session_sync.rs | 5 ++-- .../tests/session_suite/temporal_refresh.rs | 4 ++- .../transcript_ingest_suite/session_ingest.rs | 5 ++-- 24 files changed, 106 insertions(+), 62 deletions(-) diff --git a/crates/tracedecay/benches/rmcp/benchmark.rs b/crates/tracedecay/benches/rmcp/benchmark.rs index 450b8f8f6f..1f803e1bf3 100644 --- a/crates/tracedecay/benches/rmcp/benchmark.rs +++ b/crates/tracedecay/benches/rmcp/benchmark.rs @@ -28,8 +28,8 @@ use tracedecay_daemon_protocol::{ use tracedecay_domain::ProjectId; use super::{BrokerStreamTransport, DaemonLifecycle, serve_routed_rmcp_connection}; -use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::McpServer; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::tracedecay::TraceDecayOpenOptions; pub const PERSISTENT_WARMUP_REQUESTS: usize = 8; diff --git a/crates/tracedecay/src/config/tests.rs b/crates/tracedecay/src/config/tests.rs index d962a6f988..7236b30b57 100644 --- a/crates/tracedecay/src/config/tests.rs +++ b/crates/tracedecay/src/config/tests.rs @@ -572,9 +572,10 @@ async fn discover_project_root_with_identity_does_not_open_registry_only_store() let _profile = super::PinnedUserDataDir::new(); let profile_root = tracedecay_runtime_core::storage::default_profile_root().unwrap(); - let gdb = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) - .await - .unwrap(); + let gdb = + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) + .await + .unwrap(); let project_dir = TempDir::new().unwrap(); let project_root = project_dir.path().canonicalize().unwrap(); @@ -649,9 +650,10 @@ async fn discover_project_root_with_identity_does_not_open_registry_only_store() async fn config_path_with_identity_does_not_open_registry_without_enrollment() { let _profile = super::PinnedUserDataDir::new(); let profile_root = tracedecay_runtime_core::storage::default_profile_root().unwrap(); - let gdb = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) - .await - .unwrap(); + let gdb = + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) + .await + .unwrap(); let project_dir = TempDir::new().unwrap(); let project_root = project_dir.path().canonicalize().unwrap(); @@ -720,9 +722,10 @@ async fn config_path_with_identity_does_not_open_registry_without_enrollment() { async fn discover_project_root_with_identity_does_not_bind_non_git_child_to_parent_store() { let _profile = super::PinnedUserDataDir::new(); let profile_root = tracedecay_runtime_core::storage::default_profile_root().unwrap(); - let gdb = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) - .await - .unwrap(); + let gdb = + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(&profile_root) + .await + .unwrap(); let parent_dir = TempDir::new().unwrap(); let parent_root = parent_dir.path().canonicalize().unwrap(); diff --git a/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs b/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs index 6564e9a5ab..08cbb03161 100644 --- a/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs +++ b/crates/tracedecay/src/daemon/retained_owner/session/retained_effect_tests.rs @@ -32,8 +32,8 @@ use crate::daemon::StoreOwnerKey; use crate::daemon::retained_owner::session_refresh::{ MountedSessionRefreshAuthorityV1, admitted_session_refresh_command, }; -use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::server::DaemonSessionRefreshService; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_daemon_service::DaemonWorkflowIndexReadService; use tracedecay_global_db::{RegisteredGlobalDb, RegisteredGlobalDbLeaseV1}; use tracedecay_session_memory::session::{SessionRefreshServiceOutcome, SessionRefreshServicePort}; diff --git a/crates/tracedecay/src/daemon/tests/bootstrap.rs b/crates/tracedecay/src/daemon/tests/bootstrap.rs index 4589fea332..5995ff1812 100644 --- a/crates/tracedecay/src/daemon/tests/bootstrap.rs +++ b/crates/tracedecay/src/daemon/tests/bootstrap.rs @@ -3859,8 +3859,10 @@ async fn production_composition_harness_reads_retained_profile_analytics_authori .ledger_writes_settled() .await; - let second_owner = - crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(harness.profile_root()).await; + let second_owner = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile( + harness.profile_root(), + ) + .await; let error = match second_owner { Ok(_) => panic!("parallel profile authority must remain rejected"), Err(error) => error, diff --git a/crates/tracedecay/src/daemon/tests/restart_proxy.rs b/crates/tracedecay/src/daemon/tests/restart_proxy.rs index acd8d64db7..d1d3aa9aee 100644 --- a/crates/tracedecay/src/daemon/tests/restart_proxy.rs +++ b/crates/tracedecay/src/daemon/tests/restart_proxy.rs @@ -495,9 +495,10 @@ async fn initialize_root_routing_replaces_cached_project_and_scope() { let project_b = TempDir::new().expect("project b temp dir"); let project_a = project_a.path().canonicalize().expect("project a path"); let project_b = project_b.path().canonicalize().expect("project b path"); - let registry = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) - .await - .expect("open retained profile runtime"); + let registry = + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) + .await + .expect("open retained profile runtime"); let global_db_path = profile.path().join("global.db"); registry .upsert_code_project("project-a", &project_a, None, None, None) @@ -596,9 +597,10 @@ async fn daemon_resolves_registry_only_initialize_root_alias() { let alias = alias.path().canonicalize().expect("canonical alias"); let nested = alias.join("nested"); std::fs::create_dir_all(&nested).expect("nested alias path"); - let registry = crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) - .await - .expect("open retained profile runtime"); + let registry = + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::profile(profile.path()) + .await + .expect("open retained profile runtime"); let global_db_path = profile.path().join("global.db"); registry .upsert_code_project("project-registry-only", &canonical, None, None, None) diff --git a/crates/tracedecay/src/daemon/tests/socket.rs b/crates/tracedecay/src/daemon/tests/socket.rs index 01d8261da5..fbcbb972d2 100644 --- a/crates/tracedecay/src/daemon/tests/socket.rs +++ b/crates/tracedecay/src/daemon/tests/socket.rs @@ -1395,7 +1395,9 @@ async fn daemon_linked_worktree_route_repairs_primary_identity_and_keeps_alias() .expect("linked project registry context present"); assert_eq!( context.project.canonical_root, - crate::test_support::host_admission::HostAdmissionTestRuntimeV1::canonical_project_key(&primary) + crate::test_support::host_admission::HostAdmissionTestRuntimeV1::canonical_project_key( + &primary + ) ); assert!(context.aliases.iter().any(|alias| { alias.alias_path diff --git a/crates/tracedecay/src/host_admission_test.rs b/crates/tracedecay/src/host_admission_test.rs index 654e814a0e..e8706b9a32 100644 --- a/crates/tracedecay/src/host_admission_test.rs +++ b/crates/tracedecay/src/host_admission_test.rs @@ -169,8 +169,9 @@ async fn host_ingress_binds_provenance_to_authoritative_project_and_replays_stab // process's worker plan. Observation capture prepares under the background // CPU authority that plan installs and refuses with // `Unavailable/background_cpu_unavailable` when none is injected. - let background_cpu = crate::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install the process background CPU authority"); + let background_cpu = + crate::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install the process background CPU authority"); let root = TempDir::new().unwrap(); let repository_root = root.path().join("repository"); initialize_repository(&repository_root); @@ -372,8 +373,9 @@ async fn registered_profile_runtime_is_required_and_mismatch_never_falls_back() // process's worker plan. Observation capture prepares under the background // CPU authority that plan installs and refuses with // `Unavailable/background_cpu_unavailable` when none is injected. - let background_cpu = crate::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install the process background CPU authority"); + let background_cpu = + crate::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install the process background CPU authority"); let temporary = TempDir::new().unwrap(); let profile_root = temporary.path().join("profile"); let identity = @@ -505,8 +507,9 @@ async fn registered_project_runtime_is_exact_and_revocation_never_falls_back() { // process's worker plan. Observation capture prepares under the background // CPU authority that plan installs and refuses with // `Unavailable/background_cpu_unavailable` when none is injected. - let background_cpu = crate::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install the process background CPU authority"); + let background_cpu = + crate::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install the process background CPU authority"); let temporary = TempDir::new().unwrap(); let profile_root = temporary.path().join("profile"); let project_root = temporary.path().join("project"); diff --git a/crates/tracedecay/src/mcp/server.rs b/crates/tracedecay/src/mcp/server.rs index 86f23373ce..0bcdb0da68 100644 --- a/crates/tracedecay/src/mcp/server.rs +++ b/crates/tracedecay/src/mcp/server.rs @@ -437,7 +437,8 @@ pub struct McpServer { admitted_project_scope: Option, retained_project_server_resolver: Option, #[cfg(any(test, feature = "test-transport"))] - _host_admission_test_runtime: Option>, + _host_admission_test_runtime: + Option>, hook_project_routes: SharedHookProjectRouteCache, version_cache: std::sync::Mutex, pending_notifications: std::sync::Mutex>, diff --git a/crates/tracedecay/src/mcp/server/host_admission_tests.rs b/crates/tracedecay/src/mcp/server/host_admission_tests.rs index 268f70cba4..3287f68d64 100644 --- a/crates/tracedecay/src/mcp/server/host_admission_tests.rs +++ b/crates/tracedecay/src/mcp/server/host_admission_tests.rs @@ -11,8 +11,8 @@ use super::writer_test_support::{ WriterTestFixtureAuthority, init_indexed_repo, registered_context, registered_runtime, }; use super::{CodeIndexReconcileSink, McpServer, McpServerConstructionContext}; -use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::project_route::HookProjectRouteCache; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay_hooks::core_events::{ DaemonHookEvent, HookAgent, HookRouteMetadata, HookTerminalReceipt, }; diff --git a/crates/tracedecay/src/mcp/server/writer_test_support.rs b/crates/tracedecay/src/mcp/server/writer_test_support.rs index 7860a0dd51..7a8d7743af 100644 --- a/crates/tracedecay/src/mcp/server/writer_test_support.rs +++ b/crates/tracedecay/src/mcp/server/writer_test_support.rs @@ -5,8 +5,8 @@ use tempfile::TempDir; use tracedecay_runtime_core::path_safety::{plain_git_args, plain_host_path}; use crate::config::PinnedUserDataDir; -use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::mcp::server::McpServerConstructionContext; +use crate::test_support::host_admission::HostAdmissionTestRuntimeV1; use crate::tracedecay::TraceDecay; pub(super) fn git(root: &Path, args: &[&str]) { diff --git a/crates/tracedecay/src/tracedecay.rs b/crates/tracedecay/src/tracedecay.rs index a8cd478be7..423f3dfd39 100644 --- a/crates/tracedecay/src/tracedecay.rs +++ b/crates/tracedecay/src/tracedecay.rs @@ -59,7 +59,8 @@ pub struct TraceDecay { >, context_scout_claim_authorities: tokio::sync::RwLock>, #[cfg(any(test, feature = "test-transport"))] - test_runtime_guard: Option>, + test_runtime_guard: + Option>, _standalone_maintenance_scope: Option>, } diff --git a/crates/tracedecay/src/tracedecay/lifecycle/mod.rs b/crates/tracedecay/src/tracedecay/lifecycle/mod.rs index 57f4259af1..d309ec8d6a 100644 --- a/crates/tracedecay/src/tracedecay/lifecycle/mod.rs +++ b/crates/tracedecay/src/tracedecay/lifecycle/mod.rs @@ -56,7 +56,12 @@ static STANDALONE_MAINTENANCE_SCOPES: LazyLock< /// fresh mounts. #[cfg(any(test, feature = "test-transport"))] static STANDALONE_TEST_RUNTIMES: LazyLock< - AsyncMutex>, + AsyncMutex< + WeakRegistry< + (PathBuf, PathBuf), + crate::test_support::host_admission::HostAdmissionTestRuntimeV1, + >, + >, > = LazyLock::new(|| AsyncMutex::new(WeakRegistry::new())); impl TraceDecay { @@ -273,7 +278,10 @@ impl TraceDecay { pub(crate) async fn init_test_fixture_with_registered_runtime( project_root: &Path, project_id: &str, - ) -> Result<(Self, Arc)> { + ) -> Result<( + Self, + Arc, + )> { let profile_root = tracedecay_runtime_core::storage::default_profile_root()?; let project_id = tracedecay_domain::ProjectId::new(project_id).map_err(|error| { TraceDecayError::Config { diff --git a/crates/tracedecay/tests/common/fixture.rs b/crates/tracedecay/tests/common/fixture.rs index 41adb33400..b78165532f 100644 --- a/crates/tracedecay/tests/common/fixture.rs +++ b/crates/tracedecay/tests/common/fixture.rs @@ -482,9 +482,13 @@ impl UnenrolledProject { impl RegisteredProject { /// This project's runtime, promoted to the project scope that project-graph /// and project-session seams require. - pub fn project_scoped_runtime(&self) -> tracedecay::test_support::host_admission::ProjectScopedTestRuntimeV1 { - tracedecay::test_support::host_admission::ProjectScopedTestRuntimeV1::new(Arc::clone(&self.registry)) - .unwrap_or_else(|err| panic!("fixture project runtime must be project-scoped: {err}")) + pub fn project_scoped_runtime( + &self, + ) -> tracedecay::test_support::host_admission::ProjectScopedTestRuntimeV1 { + tracedecay::test_support::host_admission::ProjectScopedTestRuntimeV1::new(Arc::clone( + &self.registry, + )) + .unwrap_or_else(|err| panic!("fixture project runtime must be project-scoped: {err}")) } /// An MCP server for this project with its registry database, retained diff --git a/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs b/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs index 3d10bfb253..a088591c5a 100644 --- a/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs +++ b/crates/tracedecay/tests/mcp_suite/git_correlation_test.rs @@ -9,8 +9,10 @@ use std::process::Command; use serde_json::{Value, json}; -use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; use tracedecay::mcp::McpServer; +use tracedecay::test_support::host_admission::{ + HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1, +}; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use tracedecay_runtime_core::storage::PrivateStoreIo; use tracedecay_sessions::admission::HostAdmissionScope; diff --git a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs index 06b582efde..c53c86de17 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_handler_test/skills_automation_test.rs @@ -5,10 +5,10 @@ use serde_json::json; use std::fs; use tempfile::TempDir; #[cfg(feature = "test-transport")] -use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; -#[cfg(feature = "test-transport")] use tracedecay::mcp::McpServer; #[cfg(feature = "test-transport")] +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; +#[cfg(feature = "test-transport")] use tracedecay_automation_runtime::automation::managed_skills::{ ManagedSkillDraft, ManagedSkillProvenance, ManagedSkillSource, ManagedSupportFile, create_managed_skill, diff --git a/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs b/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs index 7e98217c92..d26a973817 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_server_test/hooks_branch_test.rs @@ -4,8 +4,10 @@ use std::fs; use std::path::{Path, PathBuf}; use std::sync::Arc; use tempfile::TempDir; -use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; use tracedecay::mcp::McpServer; +use tracedecay::test_support::host_admission::{ + HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1, +}; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; /// Two registered projects inside one throwaway profile for fail-closed route diff --git a/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs b/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs index c89d96b3b6..8b1aeacaab 100644 --- a/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs +++ b/crates/tracedecay/tests/mcp_suite/mcp_server_test/support.rs @@ -7,8 +7,8 @@ use std::fs; use std::path::PathBuf; use std::sync::Arc; use tempfile::TempDir; -use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::mcp::McpServer; +use tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1; use tracedecay::tracedecay::{TraceDecay, TraceDecayOpenOptions}; use tracedecay_mcp::transport::{ChannelTransport, McpTransport}; use tracedecay_runtime_core::storage::resolve_response_handle_root; diff --git a/crates/tracedecay/tests/mcp_suite/support.rs b/crates/tracedecay/tests/mcp_suite/support.rs index 27fbe34e80..f80dfbe755 100644 --- a/crates/tracedecay/tests/mcp_suite/support.rs +++ b/crates/tracedecay/tests/mcp_suite/support.rs @@ -25,9 +25,11 @@ use tokio::sync::{Mutex, MutexGuard}; #[cfg(feature = "test-transport")] use tracedecay::daemon::ProductionProjectCompositionHarnessV1; #[cfg(feature = "test-transport")] -use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; -#[cfg(feature = "test-transport")] use tracedecay::mcp::McpServer; +#[cfg(feature = "test-transport")] +use tracedecay::test_support::host_admission::{ + HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1, +}; use tracedecay::tracedecay::TraceDecay; #[cfg(feature = "test-transport")] use tracedecay_domain::errors::TraceDecayError; diff --git a/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs b/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs index b2322bed69..c3e6d25054 100644 --- a/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs +++ b/crates/tracedecay/tests/mcp_suite/workflow_query_test.rs @@ -10,8 +10,10 @@ use std::path::Path; use serde_json::{Value, json}; -use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1}; use tracedecay::mcp::McpServer; +use tracedecay::test_support::host_admission::{ + HostAdmissionTestRuntimeV1, ProjectScopedTestRuntimeV1, +}; use tracedecay::tracedecay::TraceDecay; use tracedecay_sessions::runtime::git_correlation::{ DEFAULT_SPAN_MERGE_GAP_SECS, SpanObservation, SpanSource, diff --git a/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs b/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs index 266e65f678..ce97fc8858 100644 --- a/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs +++ b/crates/tracedecay/tests/session_suite/lcm_summary_lineage_review.rs @@ -1,7 +1,9 @@ use std::sync::Arc; use tempfile::TempDir; -use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, LcmLineageFaultForTest}; +use tracedecay::test_support::host_admission::{ + HostAdmissionTestRuntimeV1, LcmLineageFaultForTest, +}; use tracedecay_graph_db::NeverCancelled; use tracedecay_lcm::types::{LcmImmutableSummaryPublication, LcmSummaryPublicationDisposition}; use tracedecay_lcm::{ diff --git a/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs b/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs index 23f4b60cfa..1afeb5a18c 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/project_lifecycle.rs @@ -70,8 +70,9 @@ async fn register( project_sessions: project_sessions.clone(), user_sessions: profile_sessions.clone(), registry: profile_sessions, - background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install fixture worker plan authority"), + background_cpu: + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), user_refresh: SessionTemporalRefreshWake::unavailable(), @@ -315,13 +316,14 @@ async fn exact_project_retirement_drains_a_keeps_b_live_and_rebinds_a() { // Re-enter the canonical host-admission owner map. This mints a fresh // short-lived registered lease without recovering a runtime or authority // from the retired client. - let replacement_runtime = tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( - root_a.path(), - root_a.path().join(project_a.as_str()), - project_a.clone(), - ) - .await - .unwrap(); + let replacement_runtime = + tracedecay::test_support::host_admission::HostAdmissionTestRuntimeV1::project( + root_a.path(), + root_a.path().join(project_a.as_str()), + project_a.clone(), + ) + .await + .unwrap(); let replacement_a = replacement_runtime .registered_database_arc(tracedecay_sessions::admission::HostAdmissionScope::Project) .unwrap(); @@ -568,8 +570,9 @@ async fn terminal_recovered_alias_does_not_suppress_startup_import() { project_sessions, user_sessions: profile_sessions.clone(), registry: profile_sessions.clone(), - background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install fixture worker plan authority"), + background_cpu: + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install fixture worker plan authority"), startup_import: true, project_refresh: SessionTemporalRefreshWake::unavailable(), user_refresh: SessionTemporalRefreshWake::unavailable(), @@ -663,8 +666,9 @@ async fn recovery_upgrades_a_journal_whose_frontiers_exceed_one_query() { project_sessions, user_sessions: profile_sessions.clone(), registry: profile_sessions.clone(), - background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install fixture worker plan authority"), + background_cpu: + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), user_refresh: SessionTemporalRefreshWake::unavailable(), diff --git a/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs b/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs index c030ea5682..0a889bce99 100644 --- a/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs +++ b/crates/tracedecay/tests/session_suite/session_runtime/session_sync.rs @@ -898,8 +898,9 @@ async fn cancel_in_alias_activation_gap_mirrors_primary_terminal_receipt() { project_sessions, user_sessions: profile_sessions.clone(), registry: profile_sessions.clone(), - background_cpu: tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install fixture worker plan authority"), + background_cpu: + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install fixture worker plan authority"), startup_import: false, project_refresh: SessionTemporalRefreshWake::unavailable(), user_refresh: SessionTemporalRefreshWake::unavailable(), diff --git a/crates/tracedecay/tests/session_suite/temporal_refresh.rs b/crates/tracedecay/tests/session_suite/temporal_refresh.rs index 2ba1b66360..130867e2f8 100644 --- a/crates/tracedecay/tests/session_suite/temporal_refresh.rs +++ b/crates/tracedecay/tests/session_suite/temporal_refresh.rs @@ -1,7 +1,9 @@ use std::time::{Instant, SystemTime, UNIX_EPOCH}; use tempfile::TempDir; -use tracedecay::test_support::host_admission::{HostAdmissionTestRuntimeV1, SessionTemporalFixtureCountV1}; +use tracedecay::test_support::host_admission::{ + HostAdmissionTestRuntimeV1, SessionTemporalFixtureCountV1, +}; use tracedecay_domain::{ SessionId, SessionRefreshKeyV1, SessionRefreshSourceTargetV1, SessionSourceFrontierV1, SessionSourceIdV1, SessionTemporalCoverageRequestV1, TemporalCoverageCountsV1, TemporalModeV1, diff --git a/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs b/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs index 892d575d87..c49c007ec4 100644 --- a/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs +++ b/crates/tracedecay/tests/transcript_ingest_suite/session_ingest.rs @@ -54,8 +54,9 @@ impl IngestTestRuntime { /// authority that daemon startup installs; the fixture injects the same /// one the production worker plan uses. fn authority(&self) -> GlobalDbSessionIngestAuthority { - let background_cpu = tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() - .expect("install fixture worker plan authority"); + let background_cpu = + tracedecay::test_support::host_admission::ensure_process_background_cpu_authority() + .expect("install fixture worker plan authority"); GlobalDbSessionIngestAuthority::new(self.database.clone()) .with_background_cpu(background_cpu) }