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:
@@ -31,6 +31,9 @@ Original input files:
|
||||
|
||||
Reference material:
|
||||
|
||||
- `meeting_context.yaml`: manually maintained Meeting Context V1 scaffold for
|
||||
reliable metadata. It can be validated and injected into chunk extraction
|
||||
with `--meeting-context`; later pipeline stages are not connected yet.
|
||||
- `reference/human_reference_protocol.md`: not currently included. No exact
|
||||
existing human-written protocol file was found in the repository workspace.
|
||||
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
schema_version: "1"
|
||||
|
||||
meeting:
|
||||
meeting_id: "2026-07-27-projektprozess"
|
||||
title: "Projektprozess für neue Projektideen in F&E, Marketing und Business Development"
|
||||
language: "de"
|
||||
date: 2026-07-27
|
||||
objective: ""
|
||||
notes: "Manuell gepflegter Kontext; noch nicht an die Pipeline angeschlossen."
|
||||
|
||||
participants:
|
||||
|
||||
- participant_id: "martin"
|
||||
display_name: "Martin"
|
||||
aliases:
|
||||
- "Martin Tazl"
|
||||
- "Herr Tazl"
|
||||
role: "Leiter F&E und Technik"
|
||||
department_id: "fe"
|
||||
attendance_status: "present"
|
||||
notes: null
|
||||
|
||||
- participant_id: "lars"
|
||||
display_name: "Lars"
|
||||
aliases:
|
||||
- "Lars Vollmert"
|
||||
- "Herr Vollmert"
|
||||
roles:
|
||||
- "Leiter EDD"
|
||||
- "Leiter Product Management"
|
||||
department_id: "pm"
|
||||
attendance_status: "present"
|
||||
notes: null
|
||||
|
||||
- participant_id: "malte"
|
||||
display_name: "Malte"
|
||||
aliases:
|
||||
- "Jan-Malte"
|
||||
- "Herr Schnau"
|
||||
role: "Product Manager GreenLine"
|
||||
department_id: "pm"
|
||||
attendance_status: "present"
|
||||
notes: null
|
||||
|
||||
- participant_id: "bjoern"
|
||||
display_name: "Björn"
|
||||
aliases:
|
||||
- "Björn-Erik"
|
||||
- "Herr Falkenau"
|
||||
role: "Leiter Marketing"
|
||||
department_id: "mk"
|
||||
attendance_status: "present"
|
||||
notes: null
|
||||
|
||||
mentioned_people:
|
||||
|
||||
- person_id: "jovana"
|
||||
display_name: "Jovana"
|
||||
aliases:
|
||||
- "Jovana Husemann"
|
||||
- "Frau Husemann"
|
||||
- "Giovanna"
|
||||
- "Jovanna"
|
||||
- "Giovana"
|
||||
role: "Leiterin Business Development"
|
||||
department_id: "bd"
|
||||
attendance_status: "not_present"
|
||||
notes: null
|
||||
|
||||
organization:
|
||||
|
||||
name: "Naue GmbH & Co. KG"
|
||||
|
||||
departments:
|
||||
|
||||
- id: "fe"
|
||||
name: "F&E"
|
||||
aliases:
|
||||
- "Forschung und Entwicklung"
|
||||
- "Research and Development"
|
||||
|
||||
- id: "pm"
|
||||
name: "Product Management"
|
||||
aliases: []
|
||||
|
||||
- id: "mk"
|
||||
name: "Marketing"
|
||||
aliases: []
|
||||
|
||||
- id: "bd"
|
||||
name: "Business Development"
|
||||
aliases: []
|
||||
|
||||
abbreviations:
|
||||
|
||||
PM: "Product Management"
|
||||
BD: "Business Development"
|
||||
MK: "Marketing"
|
||||
GF: "Geschäftsführung"
|
||||
|
||||
known_entities:
|
||||
|
||||
projects: []
|
||||
|
||||
products:
|
||||
- "Bentofix"
|
||||
- "Carbofol"
|
||||
- "Combigrid"
|
||||
- "Secugrid"
|
||||
- "Secutex"
|
||||
- "SoftRock"
|
||||
|
||||
systems: []
|
||||
|
||||
locations:
|
||||
- "Adorf"
|
||||
- "Bückeburg"
|
||||
- "Espelkamp"
|
||||
- "Malaysia"
|
||||
|
||||
technical_terms: []
|
||||
|
||||
context_rules:
|
||||
|
||||
participant_list_is_authoritative: true
|
||||
|
||||
do_not_infer_roles: true
|
||||
|
||||
do_not_infer_departments: true
|
||||
|
||||
do_not_infer_responsibilities: true
|
||||
|
||||
do_not_infer_attendance: true
|
||||
|
||||
mentioned_people_are_not_participants: true
|
||||
@@ -0,0 +1,74 @@
|
||||
# Meeting Context V1 template.
|
||||
# This file is manually maintained. Enter only objective context that is known
|
||||
# before or independently of model output.
|
||||
schema_version: "1"
|
||||
|
||||
meeting:
|
||||
# Human-readable title for the meeting.
|
||||
title: ""
|
||||
# Dominant meeting language, for example "de" or "en".
|
||||
language: "de"
|
||||
# Optional ISO date. Leave null if unknown.
|
||||
date: null
|
||||
# Optional meeting objective. Do not infer it from generated summaries.
|
||||
objective: ""
|
||||
# Optional neutral notes about context, scope or source material.
|
||||
notes: ""
|
||||
|
||||
participants:
|
||||
# participant_id must remain stable across corrections and later runs.
|
||||
# Use aliases for alternative spellings, short names or Whisper variants.
|
||||
# attendance_status distinguishes actual participants from mentioned persons.
|
||||
# role and department may remain null; uncertain values must not be guessed.
|
||||
- participant_id: ""
|
||||
display_name: ""
|
||||
aliases: []
|
||||
role: null
|
||||
department: null
|
||||
attendance_status: "present"
|
||||
notes: null
|
||||
|
||||
mentioned_people:
|
||||
# People discussed or referenced but not present in the meeting.
|
||||
# Mentioned people are not speakers and must not become responsible persons
|
||||
# unless the meeting evidence explicitly assigns or confirms responsibility.
|
||||
- person_id: ""
|
||||
display_name: ""
|
||||
aliases: []
|
||||
role: null
|
||||
department: null
|
||||
attendance_status: "not_present"
|
||||
notes: null
|
||||
|
||||
organization:
|
||||
name: null
|
||||
|
||||
departments:
|
||||
# Department ids should be stable. aliases capture spelling variants.
|
||||
- id: ""
|
||||
name: ""
|
||||
aliases: []
|
||||
|
||||
abbreviations:
|
||||
# Fill in only abbreviations that are known for this meeting context.
|
||||
# Leave values empty when expansion is unknown.
|
||||
PM: ""
|
||||
BD: ""
|
||||
MK: ""
|
||||
GF: ""
|
||||
|
||||
known_entities:
|
||||
# Relevant projects, products, systems, locations and technical terms.
|
||||
# These lists provide vocabulary only; they must not imply responsibility.
|
||||
projects: []
|
||||
products: []
|
||||
systems: []
|
||||
locations: []
|
||||
technical_terms: []
|
||||
|
||||
context_rules:
|
||||
participant_list_is_authoritative: true
|
||||
do_not_infer_roles: true
|
||||
do_not_infer_departments: true
|
||||
do_not_infer_responsibilities: true
|
||||
mentioned_people_are_not_participants: true
|
||||
Reference in New Issue
Block a user