Five mcp_suite read-cost tests fail on origin/master (0c85014). They passed on 402b144, before #2277 (perf(graph-db): store each code edge as one relation row) and #2282 landed. The read-cost counters the tests pin no longer match what a callers/callees/test_map read reports.
Reproduce:
cargo test -p tracedecay --features test-transport,test-helpers --test mcp_suite -- relation_page_cost typed_evidence_trailers test_map_reads_each_test_once
Result on 0c85014: test result: FAILED. 10 passed; 6 failed. Five of the six are these cost tests. The sixth was an unrelated test I had added locally.
graph_query_test::relation_page_cost::a_callees_page_reads_its_own_rows_not_every_relation (relation_page_cost.rs:102): the served cost is now "adjacency_queries": 1, "adjacency_rows": 105, ... "graph_sealed": 11, not the pinned page cost.
graph_query_test::relation_page_cost::a_default_callees_page_resolves_dispatch_without_reading_every_callee
graph_query_test::typed_evidence_trailers::typed_callees_carry_their_read_cost_on_the_envelope_and_the_trailer (typed_evidence_trailers.rs:263)
graph_query_test::typed_evidence_trailers::typed_callers_carry_their_read_cost
test_map_test::test_map_reads_each_test_once_across_the_symbols_it_covers: attempt to subtract with overflow at test_map_test.rs:476 (point_reads - adjacency_rows). Adjacency rows now exceed point reads.
Either the new single-row edge layout changed what one relation read counts, and the pins should follow a measured cost, or the layout reads more rows per page than it should. The #2277/#2282 owner should decide which. Found while landing the MCP search migration, which does not touch these reads.
Five
mcp_suiteread-cost tests fail onorigin/master(0c85014). They passed on 402b144, before #2277 (perf(graph-db): store each code edge as one relation row) and #2282 landed. The read-cost counters the tests pin no longer match what a callers/callees/test_map read reports.Reproduce:
Result on 0c85014:
test result: FAILED. 10 passed; 6 failed. Five of the six are these cost tests. The sixth was an unrelated test I had added locally.graph_query_test::relation_page_cost::a_callees_page_reads_its_own_rows_not_every_relation(relation_page_cost.rs:102): the served cost is now"adjacency_queries": 1, "adjacency_rows": 105, ... "graph_sealed": 11, not the pinned page cost.graph_query_test::relation_page_cost::a_default_callees_page_resolves_dispatch_without_reading_every_calleegraph_query_test::typed_evidence_trailers::typed_callees_carry_their_read_cost_on_the_envelope_and_the_trailer(typed_evidence_trailers.rs:263)graph_query_test::typed_evidence_trailers::typed_callers_carry_their_read_costtest_map_test::test_map_reads_each_test_once_across_the_symbols_it_covers:attempt to subtract with overflowat test_map_test.rs:476 (point_reads - adjacency_rows). Adjacency rows now exceed point reads.Either the new single-row edge layout changed what one relation read counts, and the pins should follow a measured cost, or the layout reads more rows per page than it should. The #2277/#2282 owner should decide which. Found while landing the MCP search migration, which does not touch these reads.