Skip to content

fix(query): skip covered-term seed guarantee; relax starving heuristic context filters (#2507) - #2516

Closed
filipechagas wants to merge 2 commits into
Graphify-Labs:v8from
lawnstarter:feat/seed-hygiene-2507
Closed

fix(query): skip covered-term seed guarantee; relax starving heuristic context filters (#2507)#2516
filipechagas wants to merge 2 commits into
Graphify-Labs:v8from
lawnstarter:feat/seed-hygiene-2507

fix(query): only the top-ranked seed may declare a term covered (#2507)

234c5f0
Select commit
Loading
Failed to load commit list.
Graphify Labs / Graphify succeeded Aug 6, 2026 in 0s

Graphify — worth a look

Worth a look — the grounded gate found no coupling regressions or blocking issues, but 1 advisory finding(s) below merit a look before merge.

Details

Graphify reviewed this change.

Worth a look — the grounded gate found no coupling regressions or blocking issues, but 1 advisory finding(s) below merit a look before merge.


Graphify review — findings

This PR bumps the package version from 0.9.35 to 0.9.36 and adds two related changes to the natural-language query seeding pipeline in graphify/serve.py. It introduces a skip_covered_terms option to _pick_seeds (opted into only by _query_graph_text) that skips the per-term seed guarantee when a term is a substring of the top-ranked seed's normalized label, and adds a fallback in _query_graph_text that retraverses unfiltered when a heuristically inferred context filter discovers nothing beyond the seeds, annotating the header accordingly. The change also adds a new shared test fixture file (tests/seeding_fixtures.py) and associated tests, plus CHANGELOG entries describing both fixes. The surface area is concentrated in seed selection, context-filter handling, header formatting, and test scaffolding.

Worth a look

  • Covered-term skip uses substring test, matching arbitrary short termsgraphify/serve.py:771 · Escalate · medium
    • agreed by 2 of 2 members but NOT verified (no proof, no reproducing execution) — consensus is not a verdict; needs human review
Analysis details — impact, health, verification

Impact & health

Graphify review

Impact — 651 functions depend on the 347 functions this change touches.

Health — this change adds coupling hotspots:

  • worse: _query_graph_text() — 29 callers, 6 callees
  • worse: _score_query() — 22 callers, 5 callees
  • worse: _query_terms() — 22 callers, 3 callees
  • new: make_charge_fixture() — 14 callers, 3 callees
  • new: test_generic_noun_phrasing_seeds_no_hub_and_stays_bounded() — 0 callers, 11 callees
  • new: test_callers_of_phrasing_renders_all_callers_and_drops_junk_seed() — 0 callers, 7 callees
  • new: test_who_calls_phrasing_falls_back_when_heuristic_filter_strands_the_seed() — 0 callers, 7 callees
  • new: test_expanding_heuristic_filter_is_left_in_force() — 0 callers, 6 callees
  • …and 1 more

Verification — 651 functions in the blast radius were not formally verified this run (proofs are advisory here).

Gate & verification

graphify gate

PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.

Advisory (not blocking):

  • verification_scope: 511 function(s) in the blast radius were not formally verified this run