Skip to content

test(mcp): read-cost pins red after single-row code edges (#2277) #2291

Description

@ScriptedAlchemy

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions