Add relation context to GroundRecall query bundles

This commit is contained in:
welsberr 2026-04-27 14:58:54 -04:00
parent 953fc8c911
commit 7ef6f4dc3f
2 changed files with 5 additions and 0 deletions

View File

@ -155,6 +155,7 @@ def build_query_bundle_for_concept(store_dir: str | Path, concept_ref: str) -> d
if payload is None: if payload is None:
return None return None
claims = payload["claims"] claims = payload["claims"]
relations = payload["relations"]
contradictions = [item for item in claims if item.get("contradicts_claim_ids")] contradictions = [item for item in claims if item.get("contradicts_claim_ids")]
supersessions = [item for item in claims if item.get("supersedes_claim_ids")] supersessions = [item for item in claims if item.get("supersedes_claim_ids")]
return { return {
@ -162,7 +163,9 @@ def build_query_bundle_for_concept(store_dir: str | Path, concept_ref: str) -> d
"query_type": "concept", "query_type": "concept",
"concept": payload["concept"], "concept": payload["concept"],
"relevant_claims": claims, "relevant_claims": claims,
"relations": relations,
"supporting_observations": payload["supporting_observations"], "supporting_observations": payload["supporting_observations"],
"source_artifacts": payload["source_artifacts"],
"related_concepts": payload["related_concepts"], "related_concepts": payload["related_concepts"],
"review_candidates": payload["review_candidates"], "review_candidates": payload["review_candidates"],
"contradictions": contradictions, "contradictions": contradictions,

View File

@ -171,6 +171,8 @@ def test_build_query_bundle_for_concept_is_assistant_neutral(tmp_path: Path) ->
assert payload is not None assert payload is not None
assert payload["bundle_kind"] == "groundrecall_query_bundle" assert payload["bundle_kind"] == "groundrecall_query_bundle"
assert payload["concept"]["concept_id"] == "concept::channel-capacity" assert payload["concept"]["concept_id"] == "concept::channel-capacity"
assert len(payload["relations"]) == 1
assert payload["source_artifacts"][0]["artifact_id"] == "ia_001"
assert len(payload["review_candidates"]) == 2 assert len(payload["review_candidates"]) == 2
assert isinstance(payload["suggested_next_actions"], list) assert isinstance(payload["suggested_next_actions"], list)
forbidden = {"assistant", "codex", "claude", "prompt_text"} forbidden = {"assistant", "codex", "claude", "prompt_text"}