Merge pull request 'feat(query): surface truth scoring fields in query responses (#39)' (#47) from feature/truth-query into main

Merge enhanced query responses with truth fields (#39)
This commit is contained in:
2026-04-04 03:57:52 +00:00
2 changed files with 25 additions and 8 deletions

View File

@@ -240,6 +240,12 @@ impl Database {
metadata, metadata,
created_at, created_at,
expires_at, expires_at,
truth_value,
truth_confidence,
truth_category,
truth_evaluated_at,
ecan_sti,
ecan_lti,
(1 - (embedding <=> $1))::real AS vector_score, (1 - (embedding <=> $1))::real AS vector_score,
CASE CASE
WHEN search_query.query_text IS NULL THEN 0::real WHEN search_query.query_text IS NULL THEN 0::real
@@ -267,6 +273,12 @@ impl Database {
metadata, metadata,
created_at, created_at,
expires_at, expires_at,
truth_value,
truth_confidence,
truth_category,
truth_evaluated_at,
ecan_sti,
ecan_lti,
vector_score, vector_score,
text_score, text_score,
CASE CASE
@@ -306,13 +318,12 @@ impl Database {
metadata: row.get("metadata"), metadata: row.get("metadata"),
created_at: row.get("created_at"), created_at: row.get("created_at"),
expires_at: row.get("expires_at"), expires_at: row.get("expires_at"),
// Truth fields will be populated by issue #39 truth_value: row.get("truth_value"),
truth_value: None, truth_confidence: row.get("truth_confidence"),
truth_confidence: None, truth_category: row.get("truth_category"),
truth_category: None, truth_evaluated_at: row.get("truth_evaluated_at"),
truth_evaluated_at: None, ecan_sti: row.get("ecan_sti"),
ecan_sti: None, ecan_lti: row.get("ecan_lti"),
ecan_lti: None,
}, },
similarity: row.get("hybrid_score"), similarity: row.get("hybrid_score"),
vector_score: row.get("vector_score"), vector_score: row.get("vector_score"),

View File

@@ -90,7 +90,13 @@ pub async fn execute(state: &Arc<AppState>, arguments: Value) -> Result<String>
"keywords": m.record.keywords, "keywords": m.record.keywords,
"metadata": m.record.metadata, "metadata": m.record.metadata,
"created_at": m.record.created_at.to_rfc3339(), "created_at": m.record.created_at.to_rfc3339(),
"expires_at": m.record.expires_at.as_ref().map(|ts| ts.to_rfc3339()) "expires_at": m.record.expires_at.as_ref().map(|ts| ts.to_rfc3339()),
"truth_value": m.record.truth_value,
"truth_confidence": m.record.truth_confidence,
"truth_category": m.record.truth_category,
"truth_evaluated_at": m.record.truth_evaluated_at.map(|t| t.to_rfc3339()),
"ecan_sti": m.record.ecan_sti,
"ecan_lti": m.record.ecan_lti
}) })
}) })
.collect(); .collect();