diff --git a/crates/tracedecay-code-index-runtime/src/code_index_scheduler/tests/mod.rs b/crates/tracedecay-code-index-runtime/src/code_index_scheduler/tests/mod.rs index 03ab228f82..aa64b5c14f 100644 --- a/crates/tracedecay-code-index-runtime/src/code_index_scheduler/tests/mod.rs +++ b/crates/tracedecay-code-index-runtime/src/code_index_scheduler/tests/mod.rs @@ -1671,7 +1671,14 @@ async fn wait_for_dashboard_ready(registry: &CodeIndexSchedulerRegistryV1, path: && freshness.coverage == tracedecay_contracts::code_index_freshness::CodeIndexFreshnessCoverageV1::Complete }); - if still_ready && !registry.reconcile_in_progress_for_test(path).await { + // A seat can leave a continuation queued (the clone-fingerprint + // successor runs on a later pass), and the ladder reports + // Verifying for as long as that pass runs. Ready means no pass + // is running and none is pending. + if still_ready + && !registry.reconcile_in_progress_for_test(path).await + && registry.pending_wake_micros_for_root(path).await == Some(0) + { break; } continue; diff --git a/crates/tracedecay-query/src/retrieval/lexical/projection/artifact/clone_census.rs b/crates/tracedecay-query/src/retrieval/lexical/projection/artifact/clone_census.rs index 967872c365..6afb139f0f 100644 --- a/crates/tracedecay-query/src/retrieval/lexical/projection/artifact/clone_census.rs +++ b/crates/tracedecay-query/src/retrieval/lexical/projection/artifact/clone_census.rs @@ -264,7 +264,7 @@ mod tests { conservative_tokens: Arc::from( (0..8) .map(|index| ConservativeCloneTokenV1::Syntax { - syntax_kind: "identifier".to_owned(), + syntax_kind: "identifier".into(), text: format!("token_{seed}_{index}"), }) .collect::>(), diff --git a/crates/tracedecay-sessions/src/repository_provenance_test.rs b/crates/tracedecay-sessions/src/repository_provenance_test.rs index d888e4eb4d..d03c1359f6 100644 --- a/crates/tracedecay-sessions/src/repository_provenance_test.rs +++ b/crates/tracedecay-sessions/src/repository_provenance_test.rs @@ -31,6 +31,12 @@ impl GitFixture { tracedecay_runtime_core::git::try_git_program() .expect("absolute git executable should resolve"), ) + // Git 2.47+ detaches `maintenance run --auto` after a commit and holds + // `.git/objects/maintenance.lock` while it runs, which lands in one + // git-dir fingerprint and vanishes before the next. The read-only + // capture test compares those fingerprints, so the fixture must not + // write either. + .args(["-c", "maintenance.auto=false", "-c", "gc.auto=0"]) .args(args) .current_dir(self.path()) .output()