feat: use assistant context as meeting memory
PR and Push Build/Test / build-and-test (push) Successful in 9m34s

This commit is contained in:
2026-07-17 11:26:49 +02:00
parent 407db80413
commit 3cadf08fa2
13 changed files with 188 additions and 2 deletions
@@ -0,0 +1,2 @@
schema: spec-driven
created: 2026-07-17
@@ -0,0 +1,45 @@
## Context
Meeting Assistant already creates one assistant context artifact per meeting and gives both the automatic summary agent and the interactive agent window tools that can read and append to it. The current summary prompt calls the file a notebook, while the interactive agent prompt describes only generic artifact repair. Neither prompt establishes assistant context as the durable handoff point for uncertainty, failures, assumptions, repairs, and conclusions about one meeting.
## Goals / Non-Goals
**Goals:**
- Make the assistant context's meeting-specific memory role explicit to both agents.
- Preserve summarization problems, missing information, and assumptions for later investigation.
- Make the interactive agent consult that memory before repairing a meeting or summary.
- Make the interactive agent record completed fixes and conclusions for later agents.
**Non-Goals:**
- Add a new artifact type, schema, section format, or database.
- Automatically rewrite or summarize existing assistant context files.
- Change tool permissions or allow agents to access artifacts outside existing configured scopes.
- Override an explicitly configured custom summary-agent prompt with built-in summary guidance.
## Decisions
### Extend the existing instruction builders
The automatic summary behavior will be added to `MeetingSummaryInstructionBuilder.DefaultInitialPrompt`. This preserves the existing contract that a configured `Agent:InitialPrompt` replaces the built-in summary prompt.
The interactive behavior will be included in the instruction builder's always-appended meeting-artifact guidance. This keeps the meeting-memory reminder available even when the interactive agent has a custom initial prompt, alongside the tool capabilities that Meeting Assistant already appends.
Alternative considered: implement automatic interception or mandatory writes whenever an agent encounters uncertainty. The application cannot reliably infer those semantic events from arbitrary model turns, so explicit instructions are the smallest dependable mechanism.
### Keep memory entries append-oriented and concise
Agents will be told to append problems, missing information, assumptions, fixes, and conclusions to the matching assistant context. Existing `write_context` behavior already appends by default, which preserves earlier observations and avoids introducing a structured migration.
Alternative considered: define mandatory headings or a machine-readable memory schema. That would add formatting and compatibility obligations without being necessary for the requested agent handoff behavior.
### Keep user-facing summary content separate
Assistant context remains internal meeting memory; the generated summary remains the user-facing artifact. Assumptions and missing evidence can inform explicit uncertainty in the summary, but diagnostic notes and repair history belong in assistant context.
## Risks / Trade-offs
- [Repeated agents may append duplicate observations] → Instruct agents to read existing context first and keep entries concise.
- [Assistant context can grow over time] → Preserve existing ranged and tail reads; no new retention mechanism is introduced.
- [Configured custom summary prompts omit the new built-in guidance] → Preserve the documented replacement semantics and leave responsibility with the custom prompt author.
@@ -0,0 +1,27 @@
## Why
The automatic summarizer and interactive agent window can encounter uncertainty, missing information, and repair conclusions that are useful to later work on the same meeting. Those observations currently depend on the active agent turn instead of being consistently preserved in the meeting's assistant context.
## What Changes
- Treat each assistant context file as meeting-specific memory shared by agents working on that meeting.
- Guide the automatic summarizer to record unexpected problems, missing information, and assumptions in assistant context.
- Guide the interactive agent window to consult assistant context when repairing a meeting or summary.
- Guide the interactive agent window to append its fixes and conclusions to assistant context for future work on that meeting.
## Capabilities
### New Capabilities
None.
### Modified Capabilities
- `meeting-summary`: Define the automatic summarizer's responsibility to persist uncertainty and problems in meeting-specific assistant context.
- `meeting-session`: Define how the interactive agent window uses and updates assistant context during meeting and summary repairs.
## Impact
- Summary-agent default instructions and their behavior tests.
- Interactive agent-window instructions and their behavior tests.
- Agent documentation describing assistant context usage.
@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: Interactive agent uses assistant context as meeting memory
The interactive agent window instructions SHALL identify each assistant context file as meeting-specific memory.
When the user asks the interactive agent to fix or investigate a meeting or summary, the instructions SHALL direct the agent to read the matching assistant context for clues about problems, missing information, assumptions, prior fixes, and conclusions.
After repairing a meeting or summary, the instructions SHALL direct the agent to append a concise record of its fixes and conclusions to the matching assistant context.
#### Scenario: Interactive agent repairs a meeting artifact
- **GIVEN** a meeting has an assistant context file
- **WHEN** the user asks the interactive agent to fix that meeting or its summary
- **THEN** the agent instructions direct it to inspect the matching assistant context for relevant meeting-specific memory
- **AND** direct it to append its fixes and conclusions to that assistant context
@@ -0,0 +1,12 @@
## ADDED Requirements
### Requirement: Summary agent preserves meeting-specific working memory
When Meeting Assistant uses the built-in summary-agent instructions, those instructions SHALL identify assistant context as persistent meeting-specific memory.
The built-in instructions SHALL direct the summary agent to append unexpected problems, missing information, and assumptions encountered while summarizing to assistant context.
#### Scenario: Summarizer encounters uncertainty
- **GIVEN** the built-in summary-agent instructions are in use
- **WHEN** the summary agent encounters an unexpected problem, cannot find needed information, or must make an assumption
- **THEN** its instructions direct it to append a concise record to the meeting's assistant context
- **AND** later agents can discover that record when working on the same meeting
@@ -0,0 +1,14 @@
## 1. Automatic Summary Agent
- [x] 1.1 Add a behavior test that requires the built-in summary instructions to treat assistant context as meeting-specific memory and record problems, missing information, and assumptions.
- [x] 1.2 Update the built-in summary-agent guidance to satisfy the memory behavior.
## 2. Interactive Agent Window
- [x] 2.1 Add a behavior test that requires the interactive instructions to inspect assistant context during meeting or summary repair and record fixes and conclusions.
- [x] 2.2 Update the interactive agent-window guidance to satisfy the memory behavior.
## 3. Documentation and Validation
- [x] 3.1 Document assistant context as shared meeting-specific agent memory.
- [x] 3.2 Run focused behavior tests, the full test suite, and strict OpenSpec validation.