feat(api)!: memory single chain — async MemoryService, strict eval closure
Route all memory ingest/retrieve/enrichment/compaction through async MemoryService. Remove legacy sync memory implementations (ingest/retrieve/compaction); Celery and memoir Phase2 call asyncio.run into MemoryService-backed helpers. Memoir Phase1 batch ingest uses MemoryService.ingest_transcripts_batch; drop chapters. evidence_bundle_json mirror (Alembic 0015). Evaluation uses snapshot/link-only bundles; raise EvidenceClosureMissing instead of partial/fallback lineage tiers. Split memoir state into NarrativeCoverageState and InterviewControlState; delete the _interview_meta_store adapter layer. Remove rolling-query and recent-fact fallback settings from config and evidence assembly. Update judges, docs, tests, and PlaygroundPage alignment. Made-with: Cursor
This commit is contained in:
@@ -688,7 +688,6 @@ class EvalJudgeManualService:
|
||||
trace_svc = EvalTraceService(self._db)
|
||||
|
||||
def _chapter_evidence_notes(
|
||||
lineage_tier: str,
|
||||
evidence_summary: str,
|
||||
truncated: bool,
|
||||
dropped: list[str],
|
||||
@@ -696,7 +695,7 @@ class EvalJudgeManualService:
|
||||
drops = ",".join(dropped[:12]) if dropped else ""
|
||||
return (
|
||||
"严格按文档打分;真实性、事实覆盖率、可追溯性以本章节绑定的证据闭包为准。"
|
||||
f" lineage_tier={lineage_tier};evidence_summary={evidence_summary};"
|
||||
f" evidence_summary={evidence_summary};"
|
||||
f" prompt_truncated={truncated};dropped_sections={drops or 'none'}"
|
||||
)
|
||||
|
||||
@@ -792,7 +791,6 @@ class EvalJudgeManualService:
|
||||
structured_evidence=formatted.structured_evidence,
|
||||
reference_memoir_markdown=baseline_excerpt,
|
||||
evidence_notes=_chapter_evidence_notes(
|
||||
cb2.lineage_tier,
|
||||
formatted.evidence_summary,
|
||||
fm.truncated,
|
||||
fm.dropped_sections,
|
||||
@@ -819,7 +817,6 @@ class EvalJudgeManualService:
|
||||
"title": ch.title,
|
||||
"order_index": ch.order_index,
|
||||
"baseline_title": bl.title if bl else None,
|
||||
"lineage_tier": cb2.lineage_tier,
|
||||
"evidence_summary": formatted.evidence_summary,
|
||||
"evidence_trace": cb2.model_dump(),
|
||||
"format_meta": fm.model_dump(),
|
||||
@@ -917,7 +914,6 @@ class EvalJudgeManualService:
|
||||
trace_svc = EvalTraceService(self._db)
|
||||
|
||||
def _chapter_evidence_notes(
|
||||
lineage_tier: str,
|
||||
evidence_summary: str,
|
||||
truncated: bool,
|
||||
dropped: list[str],
|
||||
@@ -925,7 +921,7 @@ class EvalJudgeManualService:
|
||||
drops = ",".join(dropped[:12]) if dropped else ""
|
||||
return (
|
||||
"严格按文档打分;真实性、事实覆盖率、可追溯性以本章节绑定的证据闭包为准。"
|
||||
f" lineage_tier={lineage_tier};evidence_summary={evidence_summary};"
|
||||
f" evidence_summary={evidence_summary};"
|
||||
f" prompt_truncated={truncated};dropped_sections={drops or 'none'}"
|
||||
)
|
||||
|
||||
@@ -1017,7 +1013,6 @@ class EvalJudgeManualService:
|
||||
md = payload["md"]
|
||||
bl = payload["bl"]
|
||||
ev_notes = _chapter_evidence_notes(
|
||||
cb2.lineage_tier,
|
||||
formatted.evidence_summary,
|
||||
fm.truncated,
|
||||
fm.dropped_sections,
|
||||
@@ -1084,7 +1079,6 @@ class EvalJudgeManualService:
|
||||
"title": ch.title,
|
||||
"order_index": ch.order_index,
|
||||
"baseline_title": bl.title if bl else None,
|
||||
"lineage_tier": cb2.lineage_tier,
|
||||
"evidence_summary": formatted.evidence_summary,
|
||||
"evidence_trace": cb2.model_dump(),
|
||||
"format_meta": fm.model_dump(),
|
||||
|
||||
Reference in New Issue
Block a user