Improve semantic classification precision for BUG-015

This commit is contained in:
2026-08-09 16:15:35 +02:00
parent 0b24351127
commit fd7d5e1424
19 changed files with 464 additions and 15 deletions
+25 -7
View File
@@ -101,17 +101,20 @@ Final answer:
prompt = build_prompt("transcript.txt", "Anna: Agreed.")
self.assertIn("Du extrahierst Informationen aus Meeting-Transkripten.", prompt)
self.assertIn("You extract decisions from meeting transcript text.", prompt)
self.assertIn("Extract each decision as one atomic commitment.", prompt)
self.assertIn("Classification contract for Decisions", prompt)
self.assertIn("A Decision requires evidence", prompt)
self.assertIn("Anna: Agreed.", prompt)
def test_build_prompt_includes_todo_prompt_file(self) -> None:
prompt = build_prompt("transcript.txt", "Nina: I will update it.")
self.assertEqual(EXTRACTION_TASK_PROMPT_NAMES, ("decisions.md", "todos.md"))
self.assertIn("Action-item responsibility rule:", prompt)
self.assertEqual(
EXTRACTION_TASK_PROMPT_NAMES,
("classification.md",),
)
self.assertIn("Action Item:", prompt)
self.assertIn(
"A named responsible person may be extracted only when the transcript contains",
"person may be named only when explicitly assigned",
prompt,
)
@@ -131,8 +134,9 @@ Final answer:
)
for prompt in (no_context_prompt, context_prompt):
self.assertIn("You extract decisions from meeting transcript text.", prompt)
self.assertIn("Action-item responsibility rule:", prompt)
self.assertIn("Classification contract for Decisions", prompt)
self.assertIn("Action Item:", prompt)
self.assertIn("Open Question:", prompt)
def test_prompt_assembly_is_deterministic(self) -> None:
first = build_prompt("transcript.txt", "Nina: I will update it.")
@@ -140,6 +144,20 @@ Final answer:
self.assertEqual(first, second)
def test_classification_contracts_follow_transcript(self) -> None:
prompt = build_prompt("transcript.txt", "SOURCE_SENTINEL")
transcript_end = prompt.index("--- ENDE TRANSKRIPT ---")
self.assertGreater(prompt.index("Classification contract", transcript_end), transcript_end)
self.assertGreater(
prompt.index("Action Item:", transcript_end),
transcript_end,
)
self.assertGreater(
prompt.index("Open Question:", transcript_end),
transcript_end,
)
def test_build_protocol_groups_extraction_items(self) -> None:
with tempfile.TemporaryDirectory() as directory:
input_dir = Path(directory)