Skip to content

Add ask command for natural-language search across meeting notes#7

Merged
paberr merged 5 commits intomainfrom
pb/summarizer
Feb 18, 2026
Merged

Add ask command for natural-language search across meeting notes#7
paberr merged 5 commits intomainfrom
pb/summarizer

Conversation

@paberr
Copy link
Owner

@paberr paberr commented Feb 18, 2026

Two-stage LLM pipeline: first identifies relevant meetings from summaries, then answers from full transcripts with quote verification. Includes spinner UX, meeting source citation in answers, keyword fallback, and context_size config option.

Two-stage LLM pipeline: first identifies relevant meetings from summaries,
then answers from full transcripts with quote verification. Includes spinner
UX, meeting source citation in answers, keyword fallback, and context_size
config option.
@paberr paberr requested a review from Copilot February 18, 2026 13:39
@paberr paberr self-assigned this Feb 18, 2026
@paberr paberr added the enhancement New feature or request label Feb 18, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new ownscribe ask CLI command that performs two-stage natural-language search over stored meeting notes: first selecting relevant meetings from summaries, then answering from full transcripts with quote verification and citations.

Changes:

  • Introduces ownscribe.search implementing meeting discovery, summary chunking, LLM-based meeting selection, transcript answering, and quote verification (with keyword fallback).
  • Adds Summarizer.chat(...) to the summarization interface and implements it for Ollama/OpenAI backends (including OpenAI response_format fallback behavior).
  • Adds extensive automated tests for search behavior and OpenAI JSON-mode fallback; wires the new ask command into CLI + docs/config.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tests/test_search.py Adds unit + integration tests for meeting search/ask pipeline and quote verification.
tests/test_pipeline.py Updates mocks to patch the new create_summarizer factory.
src/ownscribe/summarization/prompts.py Adds search-specific system/user prompts for find/answer stages.
src/ownscribe/summarization/openai_summarizer.py Implements chat() with JSON response_format fallback attempts.
src/ownscribe/summarization/ollama_summarizer.py Implements chat() with optional JSON formatting.
src/ownscribe/summarization/base.py Extends Summarizer ABC with chat().
src/ownscribe/summarization/init.py Adds shared create_summarizer(config) factory.
src/ownscribe/search.py New search/ask implementation: discovery, ranking, LLM stages, quote verification, context sizing.
src/ownscribe/pipeline.py Switches to shared create_summarizer factory.
src/ownscribe/config.py Adds summarization.context_size config option and docs comment.
src/ownscribe/cli.py Adds the ask subcommand and options (--since, --limit).
README.md Documents ask usage and the two-stage pipeline behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@paberr paberr merged commit 3a3a129 into main Feb 18, 2026
2 checks passed
@paberr paberr deleted the pb/summarizer branch February 18, 2026 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants