From 63da0ac262c63f4ab7e8e3fef0176e80346206d2 Mon Sep 17 00:00:00 2001 From: r3dbars Date: Tue, 10 Nov 2026 03:12:48 -0600 Subject: [PATCH] docs(mcp): describe current heuristic meeting summaries --- Tools/TranscriptedMCP/AGENTS.md | 2 +- .../Sources/TranscriptedMCP/TranscriptLoader.swift | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Tools/TranscriptedMCP/AGENTS.md b/Tools/TranscriptedMCP/AGENTS.md index c16a8aeef..fb7196fce 100644 --- a/Tools/TranscriptedMCP/AGENTS.md +++ b/Tools/TranscriptedMCP/AGENTS.md @@ -59,7 +59,7 @@ captures/*.md -> TranscriptLoader (direct reads: read_meeting/read_dictation/rea ``` - Index tables: meetings, speakers and utterance rows, `meeting_summary_items` (one row per Decision / Action Item with owner / Open Question, `kind` discriminator, FTS5), dictation days and entries, `writing_days` / `writing_entries` + FTS5. Schema version is 6 (`TranscriptIndex.swift`); an older `user_version` rebuilds from disk. DDL is in `TranscriptIndex+Schema.swift`. -- Summary items come from `TranscriptedCaptureKit.CaptureSummaryParser` over legacy artifacts (inline summary or `.summary.md` sidecar) during `indexMeeting`. Current app capture does not create new AI summaries. Cross-meeting queries go through `TranscriptIndex.listSummaryItems(kind:owner:dateFrom:dateTo:)`. +- Summary items come from `TranscriptedCaptureKit.CaptureSummaryParser` during `indexMeeting`: heuristic `auto_summary_*` frontmatter from the current meeting-save pipeline, older `local_summary_*` fields and inline blocks, or a legacy `.summary.md` sidecar. The current heuristic extraction does not use an AI model; meetings without indexable summary fields contribute no summary rows. Cross-meeting queries go through `TranscriptIndex.listSummaryItems(kind:owner:dateFrom:dateTo:)`. - `FileWatcher` debounces 500ms and also scans on a 5-minute timer. ## Semantic search diff --git a/Tools/TranscriptedMCP/Sources/TranscriptedMCP/TranscriptLoader.swift b/Tools/TranscriptedMCP/Sources/TranscriptedMCP/TranscriptLoader.swift index 8bbd0f043..1ee7ad61e 100644 --- a/Tools/TranscriptedMCP/Sources/TranscriptedMCP/TranscriptLoader.swift +++ b/Tools/TranscriptedMCP/Sources/TranscriptedMCP/TranscriptLoader.swift @@ -57,9 +57,10 @@ enum TranscriptLoader { ) } - /// Structured summary for a legacy saved meeting. It prefers an inline - /// summary block, then falls back to a `.summary.md` sidecar so old - /// artifacts remain readable. Current capture does not create new summaries. + /// Structured summary for a saved meeting. It prefers summary fields inside + /// the transcript (`auto_summary_*` heuristic frontmatter or older local + /// summary fields and blocks), then falls back to a legacy + /// `.summary.md` sidecar so old artifacts remain readable. /// /// The sidecar branch is a legacy-compat fallback; a sidecar edited in /// isolation does not bump the parent transcript's mtime, so its items only