Implement Meeting Context V1 and extraction improvements

Introduce Meeting Context V1 with YAML schema, validation and template.
Support optional --meeting-context during chunk extraction.
Inject authoritative Meeting Context into extraction prompts.
Record Meeting Context provenance in extraction output.
Activate todos.md in shared prompt assembly.
Strengthen responsibility attribution and decision/todo boundaries.
Add focused Gold scenarios and validation tests.
Update architecture and pipeline documentation.
This commit is contained in:
2026-08-01 16:49:48 +02:00
parent 63075eaca9
commit 06f0e7e651
25 changed files with 1453 additions and 22 deletions
@@ -0,0 +1,18 @@
# position_explicit_objection
Tests extraction of one explicit objection as a position.
Scope:
- Extract Tom's stated objection as exactly one position.
- Do not create a todo for Tom.
- Do not derive a decision from the objection.
Exclusions:
- This scenario does not test responsibility attribution for an open owner.
- Responsibility attribution is covered by `responsibility_attribution_negative`.
The transcript gives unique ground truth because Tom explicitly says "I object"
and "My position is", then explicitly refuses responsibility. The group also
states that no decision and no task for Tom were created.
@@ -0,0 +1,14 @@
{
"facts": [],
"decisions": [],
"todos": [],
"questions": [],
"positions": [
{
"speaker": "Tom",
"position": "Tom objects to using one generic intake checklist because generic criteria will not work for analytics pilots and hardware trials.",
"evidence": "Tom: I object to that. My position is that generic criteria will not work for these two types of work."
}
],
"technical": []
}
@@ -0,0 +1,11 @@
Iris: We could use one generic intake checklist for analytics pilots and hardware trials.
Tom: I object to that. My position is that generic criteria will not work for these two types of work.
Iris: Understood. Are you taking responsibility for rewriting the checklist?
Tom: No. I am not taking that on, and I am not proposing an owner. I am only stating my position.
Uma: Then we are not deciding the checklist today.
Iris: Correct. No decision and no task for Tom.
@@ -7,9 +7,14 @@ The scenario includes a Marketing participant who comments critically on
Business Development criteria. No one assigns that participant responsibility
for defining the criteria, and the participant does not accept such a task.
Expected behavior:
Scope:
- Do not assign Business Development criteria to the Marketing participant.
- Do not reclassify the Marketing participant as Business Development.
- Preserve the objection as a position.
- Keep responsibility open unless explicitly assigned.
- Preserve the agreed next step to ask Business Development for an owner.
Exclusions:
- This scenario does not test whether the objection is extracted as a position.
- Position extraction is covered by `position_explicit_objection`.
@@ -28,12 +28,6 @@
}
],
"questions": [],
"positions": [
{
"speaker": "Noah",
"position": "Noah says generic criteria will not work for different Marketing and product contexts.",
"evidence": "Noah: From Marketing, I can tell you that generic criteria will not work. A digital campaign and a physical product launch need different checks."
}
],
"positions": [],
"technical": []
}