Skip to content

Commit ffe50a2

Browse files
committed
test(core): pin inference level in semantic preservation fixtures
1 parent f48ccad commit ffe50a2

3 files changed

Lines changed: 113 additions & 2 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
{
2+
"afterFixtureSha256": "c34fa0bbaa7fc5a64d53fd142c34462c5843c0fe5e9f6fb1825248fdc3668ed9",
3+
"afterSourceManifestSha256": "0c1cc9821267491f263ea22a84a92730e5b8658d96bcb05116cc978fa815c417",
4+
"beforeAfterBaselineComparisonSha256": "20b9f219444095ceac3075716cf849ca8250632158cf68fd7935f213a27c3b6f",
5+
"beforeFixtureSha256": "7fae4ec71c4fa1fbf06b77ee8a780f46efaf2c8d9e63c9be9ec5b34d4cd4cdcf",
6+
"changedRustAndManifestInputs": [
7+
"crates/compass-core/tests/loading_coverage.rs"
8+
],
9+
"checks": [
10+
{
11+
"exitCode": 0,
12+
"name": "fmt",
13+
"stderrSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
14+
"stdoutSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
15+
"wallMs": 4406
16+
},
17+
{
18+
"exitCode": 0,
19+
"name": "focused-clippy",
20+
"stderrSha256": "223b1728b76c2132cd2612388bdf9a7487f5f2945b9b5aaa0cc3531560bbc991",
21+
"stdoutSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
22+
"wallMs": 93393
23+
},
24+
{
25+
"exitCode": 0,
26+
"name": "workspace-clippy",
27+
"stderrSha256": "9564857d44c7db3de9b21adfd6f085f6306eead154431e5aab786e7e459eeb22",
28+
"stdoutSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
29+
"wallMs": 1849
30+
},
31+
{
32+
"exitCode": 0,
33+
"name": "workspace-tests",
34+
"stderrSha256": "ec94f0c63096545b2c68db32e63b494b7de4134f1fa41e75cd0c7e927f4f460d",
35+
"stdoutSha256": "b3063489c879d36b558f1acefb9b9654590ccb5128edfa81ff759aa9734f1ea0",
36+
"wallMs": 61130
37+
},
38+
{
39+
"exitCode": 0,
40+
"name": "core-integration",
41+
"stderrSha256": "a1ba9c61977fda16c3fa5e0a52d349d9d2dbab0b4cc0cefc78c0e83d146f1ad2",
42+
"stdoutSha256": "30b5fe8459b07bbfe6b410549164633eef275604ec4034547f4af4ab2ab0d3aa",
43+
"wallMs": 14202
44+
}
45+
],
46+
"fixturePatchSha256": "917897cde35b4fbae5b7a3e8400395401a4fdb02ba22c58012472a4feaa3337b",
47+
"limitations": [
48+
"This fixture correction does not demonstrate a product behavior improvement or change the original baseline failures.",
49+
"The preserved cache query and Graphify comparison results are unaffected; actual god-object diagnosis remains unproven."
50+
],
51+
"newPassedTests": [
52+
"loaded_graph_learning_overlay_marks_current_missing_and_unfingerprinted_sources",
53+
"export_inputs_fall_back_to_node_communities_and_tolerate_partial_sidecars",
54+
"build_pipeline_reports_missing_and_empty_roots_and_accepts_file_only_sources",
55+
"semantic_build_normalizes_typed_origins_paths_and_incremental_updates",
56+
"incremental_mixed_origin_edges_use_fresh_ast_relationship_sites",
57+
"incremental_mixed_occurrence_cardinality_matches_exact_sites_and_preserves_residue",
58+
"incremental_update_preserves_then_replaces_owned_semantic_facts",
59+
"incremental_deleted_mixed_occurrence_keeps_only_revalidated_semantic_evidence",
60+
"incremental_mixed_origin_alias_edges_use_canonical_fresh_relationship_sites",
61+
"incremental_deleted_remapped_mixed_occurrence_rebinds_trusted_semantic_residue",
62+
"incremental_mixed_origin_nodes_use_fresh_ast_typed_data",
63+
"refreshed_mixed_edge_drops_stale_incremental_endpoint_remap_evidence",
64+
"incremental_ast_endpoint_remap_retains_exact_typed_rewrite_evidence"
65+
],
66+
"previousBaselineFailedTests": [
67+
"incremental_ast_endpoint_remap_retains_exact_typed_rewrite_evidence",
68+
"incremental_deleted_mixed_occurrence_keeps_only_revalidated_semantic_evidence",
69+
"incremental_deleted_remapped_mixed_occurrence_rebinds_trusted_semantic_residue",
70+
"incremental_mixed_occurrence_cardinality_matches_exact_sites_and_preserves_residue",
71+
"incremental_mixed_origin_alias_edges_use_canonical_fresh_relationship_sites",
72+
"incremental_mixed_origin_edges_use_fresh_ast_relationship_sites",
73+
"refreshed_mixed_edge_drops_stale_incremental_endpoint_remap_evidence"
74+
],
75+
"priorProductionQualificationSha256": "14250b55c069e69bd107bf0a1f6aac61fe95498c0ea7ecfa761cfd0592b20d43",
76+
"qualificationReportSha256": "d7fcd7ac606a27c06f3406334fe9a69a2887b45e6dad05b7fe69f1a3a0c40e2c",
77+
"schema": "compass.core-inference-fixture-review/1",
78+
"scope": "A test-only correction: seven semantic-preservation fixtures explicitly use Max inference and keep their assertions. The public default remains Low; production behavior and frozen cache-evaluation binary are unchanged.",
79+
"unchangedProductionBinarySha256": "03403b96658900adad039db08b5814a5b5d090075fe2a31dc8bebbe7c012aa1b"
80+
}

‎crates/compass-core/tests/loading_coverage.rs‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use std::fs;
44
use std::path::Path;
55

66
use compass_core::{
7-
BuildOptions, BuildPurpose, CoreError, ExportInputs, LoadedGraph, SemanticLayer,
8-
build_graph_with_layers,
7+
BuildOptions, BuildPurpose, CoreError, ExportInputs, InferenceLevel, LoadedGraph,
8+
SemanticLayer, build_graph_with_layers,
99
};
1010
use compass_files::BuildGuard;
1111
use compass_languages::{Engine, Extraction, RawEdgeRecord, RawNodeRecord};
@@ -476,6 +476,7 @@ fn incremental_mixed_origin_edges_use_fresh_ast_relationship_sites() -> Result<(
476476
)?;
477477

478478
let mut options = BuildOptions::new(root.to_path_buf());
479+
options.inference_level = InferenceLevel::Max;
479480
options.no_cluster = true;
480481
options.no_viz = true;
481482
let initial = build_graph_with_layers(&options, None, &[])?;
@@ -545,6 +546,7 @@ fn incremental_deleted_mixed_occurrence_keeps_only_revalidated_semantic_evidence
545546
semantic_owned_edge_extraction(Path::new("main.rs"), initial_source, "calls")?;
546547

547548
let mut options = BuildOptions::new(root.to_path_buf());
549+
options.inference_level = InferenceLevel::Max;
548550
options.no_cluster = true;
549551
options.no_viz = true;
550552
let initial_layer = semantic_layer(initial_semantic)?;
@@ -617,6 +619,7 @@ fn incremental_deleted_mixed_occurrence_keeps_only_revalidated_semantic_evidence
617619
evidence.origin == compass_model::provenance::EvidenceOrigin::Heuristic
618620
}));
619621
let mut clean_options = BuildOptions::new(root.to_path_buf());
622+
clean_options.inference_level = InferenceLevel::Max;
620623
clean_options.output_root = Some(root.join("clean-deletion-out"));
621624
clean_options.no_cluster = true;
622625
clean_options.no_viz = true;
@@ -645,6 +648,7 @@ fn incremental_deleted_remapped_mixed_occurrence_rebinds_trusted_semantic_residu
645648
semantic_owned_edge_extraction(Path::new("main.rs"), initial_source, "calls")?;
646649

647650
let mut options = BuildOptions::new(root.to_path_buf());
651+
options.inference_level = InferenceLevel::Max;
648652
options.no_cluster = true;
649653
options.no_viz = true;
650654
let initial_layer = semantic_layer(initial_semantic)?;
@@ -756,6 +760,7 @@ fn incremental_deleted_remapped_mixed_occurrence_rebinds_trusted_semantic_residu
756760
assert_eq!(trusted.target, canonical_target);
757761

758762
let mut clean_options = BuildOptions::new(root.to_path_buf());
763+
clean_options.inference_level = InferenceLevel::Max;
759764
clean_options.output_root = Some(root.join("clean-deletion-remap-out"));
760765
clean_options.no_cluster = true;
761766
clean_options.no_viz = true;
@@ -789,6 +794,7 @@ fn incremental_mixed_occurrence_cardinality_matches_exact_sites_and_preserves_re
789794
assert_eq!(initial_semantic.edges.len(), 3);
790795

791796
let mut options = BuildOptions::new(root.to_path_buf());
797+
options.inference_level = InferenceLevel::Max;
792798
options.no_cluster = true;
793799
options.no_viz = true;
794800
let initial_layer = semantic_layer(initial_semantic)?;
@@ -959,6 +965,7 @@ fn incremental_mixed_occurrence_cardinality_matches_exact_sites_and_preserves_re
959965
);
960966

961967
let mut clean_options = BuildOptions::new(root.to_path_buf());
968+
clean_options.inference_level = InferenceLevel::Max;
962969
clean_options.output_root = Some(root.join("clean-cardinality-out"));
963970
clean_options.no_cluster = true;
964971
clean_options.no_viz = true;
@@ -987,6 +994,7 @@ fn incremental_mixed_origin_alias_edges_use_canonical_fresh_relationship_sites()
987994
assert_eq!(initial_semantic.edges.len(), 1);
988995

989996
let mut options = BuildOptions::new(root.to_path_buf());
997+
options.inference_level = InferenceLevel::Max;
990998
options.no_cluster = true;
991999
options.no_viz = true;
9921000
let initial_layer = semantic_layer(initial_semantic)?;
@@ -1033,6 +1041,7 @@ fn incremental_mixed_origin_alias_edges_use_canonical_fresh_relationship_sites()
10331041
let final_semantic = semantic_method_alias_extraction(Path::new("main.rs"), final_source)?;
10341042
assert_eq!(final_semantic.edges.len(), 1);
10351043
let mut clean_options = BuildOptions::new(root.to_path_buf());
1044+
clean_options.inference_level = InferenceLevel::Max;
10361045
clean_options.output_root = Some(root.join("clean-out"));
10371046
clean_options.no_cluster = true;
10381047
clean_options.no_viz = true;
@@ -1058,6 +1067,7 @@ fn refreshed_mixed_edge_drops_stale_incremental_endpoint_remap_evidence()
10581067
assert_eq!(initial_semantic.edges.len(), 1);
10591068

10601069
let mut options = BuildOptions::new(root.to_path_buf());
1070+
options.inference_level = InferenceLevel::Max;
10611071
options.no_cluster = true;
10621072
options.no_viz = true;
10631073
let initial_layer = semantic_layer(initial_semantic)?;
@@ -1127,6 +1137,7 @@ fn refreshed_mixed_edge_drops_stale_incremental_endpoint_remap_evidence()
11271137

11281138
let final_semantic = semantic_edge_extraction(Path::new("main.rs"), final_source, "calls")?;
11291139
let mut clean_options = BuildOptions::new(root.to_path_buf());
1140+
clean_options.inference_level = InferenceLevel::Max;
11301141
clean_options.output_root = Some(root.join("clean-remap-out"));
11311142
clean_options.no_cluster = true;
11321143
clean_options.no_viz = true;
@@ -1220,6 +1231,7 @@ fn incremental_ast_endpoint_remap_retains_exact_typed_rewrite_evidence()
12201231
..Extraction::default()
12211232
};
12221233
let mut options = BuildOptions::new(root.to_path_buf());
1234+
options.inference_level = InferenceLevel::Max;
12231235
options.no_cluster = true;
12241236
options.no_viz = true;
12251237

‎docs/implementation/code-graph-intelligence-audit-2026-09-26.md‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4238,3 +4238,22 @@ The correction improves a verified freshness failure and preserves all
42384238
available fixed query outputs, while adding memory and lightweight-query cost.
42394239
It does not establish better authored explanations, functional communities,
42404240
actual god-object classification, or overall superiority to Graphify.
4241+
4242+
### Core integration fixture inference policy
4243+
4244+
The seven core integration failures in the cache review reproduce on the
4245+
unchanged committed baseline. Their fixtures expect inferred semantic residue,
4246+
but create `BuildOptions` without an inference level. The public default changed
4247+
from `Max` to `Low` earlier; `Low` intentionally excludes inferred edges, so the
4248+
fixtures were not exercising their stated semantic-preservation scenario. The
4249+
test-only follow-up selects `Max` explicitly in seven tests and all 12 of their
4250+
build configurations. It leaves every assertion unchanged and does not change
4251+
the public `Low` default or production binary.
4252+
4253+
All 13 tests in `loading_coverage` now pass under the pinned offline parser
4254+
setup. Formatting, focused core integration Clippy, workspace library/binary
4255+
Clippy, and 1,112 workspace library/binary tests (two existing ignored) pass.
4256+
The [fixture review](../../benchmarks/agent_query/core_inference_fixture_review.json)
4257+
binds the original seven failures, the sole changed Rust test file, the frozen
4258+
production binary, and the before/after native logs. This restores the intended
4259+
regression coverage; it does not prove any new graph query or god-object quality.

0 commit comments

Comments
 (0)