fix(context): rank trusted state by query relevance
This commit is contained in:
@@ -143,6 +143,52 @@ def test_project_state_respects_total_budget(tmp_data_dir, sample_markdown):
|
||||
assert len(pack.formatted_context) <= 120
|
||||
|
||||
|
||||
def test_project_state_query_relevance_before_truncation(tmp_data_dir, sample_markdown):
|
||||
"""Relevant trusted state should survive the project-state budget cap."""
|
||||
init_db()
|
||||
init_project_state_schema()
|
||||
ingest_file(sample_markdown)
|
||||
|
||||
set_state(
|
||||
"p04-gigabit",
|
||||
"contact",
|
||||
"abb-space",
|
||||
"ABB Space is the primary vendor contact for polishing, CCP, IBF, procurement coordination, "
|
||||
"contract administration, interface planning, and delivery discussions.",
|
||||
)
|
||||
set_state(
|
||||
"p04-gigabit",
|
||||
"decision",
|
||||
"back-structure",
|
||||
"Option B selected: conical isogrid back structure with variable rib density. "
|
||||
"Chosen over flat-back for stiffness-to-weight ratio and manufacturability.",
|
||||
)
|
||||
set_state(
|
||||
"p04-gigabit",
|
||||
"decision",
|
||||
"polishing-vendor",
|
||||
"ABB Space selected as polishing vendor. Contract includes computer-controlled polishing "
|
||||
"and ion beam figuring.",
|
||||
)
|
||||
set_state(
|
||||
"p04-gigabit",
|
||||
"requirement",
|
||||
"key_constraints",
|
||||
"The program targets a 1.2 m lightweight Zerodur mirror with filtered mechanical WFE below 15 nm "
|
||||
"and mass below 103.5 kg.",
|
||||
)
|
||||
|
||||
pack = build_context(
|
||||
"what are the key GigaBIT M1 program constraints",
|
||||
project_hint="p04-gigabit",
|
||||
budget=3000,
|
||||
)
|
||||
|
||||
assert "Zerodur" in pack.formatted_context
|
||||
assert "1.2" in pack.formatted_context
|
||||
assert pack.formatted_context.find("[REQUIREMENT]") < pack.formatted_context.find("[CONTACT]")
|
||||
|
||||
|
||||
def test_project_hint_matches_state_case_insensitively(tmp_data_dir, sample_markdown):
|
||||
"""Project state lookup should not depend on exact casing."""
|
||||
init_db()
|
||||
|
||||
Reference in New Issue
Block a user