docs: add speaker mapping component to meeting-end spec
This commit is contained in:
parent
210112beb7
commit
7177314475
|
|
@ -32,6 +32,7 @@
|
||||||
| Agenda-Rückführung | Hybrid: eindeutig auto, Grauzone zur Bestätigung |
|
| Agenda-Rückführung | Hybrid: eindeutig auto, Grauzone zur Bestätigung |
|
||||||
| Notiz-Merge | Mergen oder Skippen bei Duplikaten (Live-Notizen behalten) |
|
| Notiz-Merge | Mergen oder Skippen bei Duplikaten (Live-Notizen behalten) |
|
||||||
| Serien-Link | Neues Frontmatter-Feld `o365_series_id` in Agenda.md |
|
| Serien-Link | Neues Frontmatter-Feld `o365_series_id` in Agenda.md |
|
||||||
|
| Sprecher-Mapping | Transkript-Sprecher gegen `00 Kontext/Personen/` matchen, Wikilinks setzen |
|
||||||
|
|
||||||
## Architektur
|
## Architektur
|
||||||
|
|
||||||
|
|
@ -154,7 +155,28 @@ node fetch-meeting-artifacts.js \
|
||||||
|
|
||||||
6. **Bericht:** "Meeting [Serie] vom [Datum] abgeschlossen. Recap: ✓/✗. Transkript: ✓. X Topics aktualisiert (auto), Y archiviert (auto), Z postponed (auto), W brauchten Bestätigung."
|
6. **Bericht:** "Meeting [Serie] vom [Datum] abgeschlossen. Recap: ✓/✗. Transkript: ✓. X Topics aktualisiert (auto), Y archiviert (auto), Z postponed (auto), W brauchten Bestätigung."
|
||||||
|
|
||||||
### 4. Merge-Heuristik Details
|
### 4. Sprecher-Mapping (`scripts/lib/speaker-matcher.js`)
|
||||||
|
|
||||||
|
**Input:** Sprecher-Liste aus Transkript (Display-Name + E-Mail aus Graph-Metadaten).
|
||||||
|
|
||||||
|
**Match-Strategie** (analog `person-matcher.js`):
|
||||||
|
1. **E-Mail-Match:** Suche `email` im Frontmatter aller `00 Kontext/Personen/*.md`.
|
||||||
|
2. **Name-Fallback:** Vergleiche Display-Name mit `vorname` + `nachname`.
|
||||||
|
3. **Kein Match:** Display-Name als Plain Text behalten, in offene Fragen aufnehmen ("Person X anlegen?").
|
||||||
|
|
||||||
|
**Output:** Map `{ "Christian Kauer" → "[[00 Kontext/Personen/Christian Kauer (KRAH)]]", "Frank Herberg" → "[[00 Kontext/Personen/Frank Herberg]]", ... }`.
|
||||||
|
|
||||||
|
**Verwendung:**
|
||||||
|
- In Notizen-Merge: Sprecher-Erwähnungen durch Wikilinks ersetzen ("Frank hat berichtet..." → "[[Frank Herberg]] hat berichtet...").
|
||||||
|
- In Aufgaben: Owner-Namen zu Wikilinks.
|
||||||
|
- Bestehende `person-matcher.js` Logik wiederverwenden.
|
||||||
|
|
||||||
|
**Tests:**
|
||||||
|
- E-Mail-Match
|
||||||
|
- Name-Match mit Kurzformen (Christian → Christian Kauer (KRAH))
|
||||||
|
- Kein Match → Plain Text + Hinweis
|
||||||
|
|
||||||
|
### 5. Merge-Heuristik Details
|
||||||
|
|
||||||
**Notizen-Merge:**
|
**Notizen-Merge:**
|
||||||
- Live-Notizen aus existierenden `## Notizen`/`## Entscheidungen`/`## Aufgaben` werden zuerst eingelesen.
|
- Live-Notizen aus existierenden `## Notizen`/`## Entscheidungen`/`## Aufgaben` werden zuerst eingelesen.
|
||||||
|
|
@ -223,10 +245,13 @@ Claude → setzt status: abgeschlossen
|
||||||
- Echtes Jour Fixe IT Team durchlaufen, dann `/meeting-end`
|
- Echtes Jour Fixe IT Team durchlaufen, dann `/meeting-end`
|
||||||
- Überprüfen: Notiz-Merge sauber, Agenda korrekt fortgeschrieben, Archiv enthält erledigte Topics
|
- Überprüfen: Notiz-Merge sauber, Agenda korrekt fortgeschrieben, Archiv enthält erledigte Topics
|
||||||
|
|
||||||
|
## Bestätigt
|
||||||
|
|
||||||
|
- Graph-Permissions: User ergänzt im Azure Portal.
|
||||||
|
- Teams Premium / Copilot-Lizenz vorhanden → `aiInsights` sollte funktionieren.
|
||||||
|
- Sprecher-Mapping ist Teil des Scopes.
|
||||||
|
|
||||||
## Offene Fragen
|
## Offene Fragen
|
||||||
|
|
||||||
- **Graph-Permissions:** Hat die bestehende Azure-App `OnlineMeetings.Read.All` + `OnlineMeetingTranscript.Read.All` und Application Access Policy auf `AZURE_USER_EMAIL`? Falls nein → Tenant-Admin Aktion erforderlich.
|
|
||||||
- **`aiInsights`-Verfügbarkeit im Tenant:** muss empirisch getestet werden (Beta-Endpoint, abhängig von Teams Premium/Copilot-Lizenz).
|
|
||||||
- **Backfill von `o365_series_id`:** Einmal-Skript bauen oder lazy beim nächsten `/meeting` jeder Serie?
|
- **Backfill von `o365_series_id`:** Einmal-Skript bauen oder lazy beim nächsten `/meeting` jeder Serie?
|
||||||
- **Sprecher-Mapping:** Transkript liefert E-Mail/Display-Name — sollen wir gleich gegen `00 Kontext/Personen/` matchen und Wikilinks setzen?
|
|
||||||
- **Recordings:** sollen Aufzeichnungen ebenfalls verlinkt werden (Anhang im Frontmatter), oder reine Transkript+Recap-Lösung?
|
- **Recordings:** sollen Aufzeichnungen ebenfalls verlinkt werden (Anhang im Frontmatter), oder reine Transkript+Recap-Lösung?
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue