Files
codex aecef30627
PR and Push Build/Test / build-and-test (push) Successful in 9m19s
Archive completed meeting assistant changes
2026-06-26 13:15:47 +02:00

71 lines
5.1 KiB
Markdown

## MODIFIED Requirements
### Requirement: Meeting screenshots are captured into assistant context
Meeting Assistant SHALL expose a configurable screenshot hotkey.
When a meeting is active and the screenshot hotkey is pressed, Meeting Assistant SHALL capture the currently active window.
The screenshot image SHALL be saved into a configurable attachments folder for the assistant context note. By default, the folder SHALL be `Attachments` beside the assistant context note.
After the image is saved, Meeting Assistant SHALL append a markdown image link to the assistant context note with a meeting-relative timestamp that correlates to transcript timestamps.
Meeting Assistant SHALL allow optional screenshot OCR configuration with endpoint URL, API key or key environment variable, model, prompt, and timeout.
When screenshot OCR is configured, Meeting Assistant SHALL send the screenshot and prompt to the configured OpenAI-compatible Responses endpoint and append the model result after the screenshot link in the assistant context note.
The screenshot OCR prompt SHALL ask the model to return pixel crop coordinates when it can confidently isolate only the presentation, shared screen, or similarly relevant meeting content.
When OCR returns valid crop coordinates within the original image bounds, Meeting Assistant SHALL save a cropped PNG beside the original screenshot and SHALL link the cropped image before the OCR result in the assistant context note.
When OCR returns no crop coordinates or invalid crop coordinates, Meeting Assistant SHALL keep the original screenshot link and OCR result without writing a cropped image.
After transcription finishes and before summarization starts, Meeting Assistant SHALL scan the meeting note for user-authored Obsidian image embeds and Markdown image embeds.
When configured screenshot OCR is enabled and the meeting note contains image embeds, Meeting Assistant SHALL append each resolvable image to the assistant context note, state that the image came from the meeting note, preserve the original embed text for cross-reference, and run OCR for the linked image.
Meeting-note image OCR SHALL NOT copy the image file, SHALL NOT write crop images, SHALL NOT add attendees from OCR metadata, and SHALL NOT modify the meeting note.
Meeting Assistant SHALL wait for meeting-note image OCR to finish or time out before transitioning the assistant context to summarizing.
When screenshot OCR is not configured, Meeting Assistant SHALL skip OCR and keep the screenshot link.
The default OCR prompt SHALL explain that the image is from a meeting and ask the model to identify who is talking, who is presenting, what is presented, capture slide text in markdown, convert diagrams to Mermaid when possible, indicate whether visible people are clearly the exact meeting participants or only a partial result, return crop coordinates only for confidently isolated presentation/shared-screen content, and otherwise describe the scene.
#### Scenario: Screenshot is linked with meeting timestamp
- **GIVEN** a meeting started at `10:00:00`
- **WHEN** the user captures a screenshot at `10:03:05`
- **THEN** Meeting Assistant saves the screenshot under the configured attachments folder
- **AND** appends a markdown image link to assistant context with timestamp `[00:03:05]`
#### Scenario: OCR result is appended after screenshot
- **GIVEN** screenshot OCR is configured
- **WHEN** the user captures a screenshot
- **THEN** Meeting Assistant appends the screenshot link to assistant context
- **AND** appends the OCR result for that screenshot after the link when processing completes
#### Scenario: OCR crop is saved and linked before OCR text
- **GIVEN** screenshot OCR is configured
- **AND** OCR returns valid crop coordinates for a shared screen
- **WHEN** OCR processing completes
- **THEN** Meeting Assistant saves a cropped screenshot beside the original image
- **AND** links the cropped screenshot before the OCR text in assistant context
#### Scenario: Meeting note image embeds are OCRed before summarization
- **GIVEN** screenshot OCR is configured
- **AND** the meeting note contains `![[whiteboard.png]]`
- **AND** the meeting note contains `![Diagram](attachments/diagram.png)`
- **WHEN** transcription finishes
- **THEN** Meeting Assistant appends both images to the assistant context as images from the meeting note
- **AND** includes the original embed text for each image
- **AND** runs OCR for each image without copying files, writing crop images, adding attendees, or modifying the meeting note
- **AND** waits for this OCR to finish or time out before transitioning to summarizing
#### Scenario: OCR is skipped when not configured
- **GIVEN** screenshot OCR is not configured
- **WHEN** the user captures a screenshot
- **THEN** Meeting Assistant saves and links the screenshot without calling a model endpoint
#### Scenario: OCR reports whether visible people are complete or partial
- **WHEN** Meeting Assistant uses the built-in screenshot OCR prompt
- **THEN** the prompt asks the model to state whether the screenshot clearly shows exactly who is in the meeting or only a partial participant result