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
@@ -40,6 +40,27 @@ public sealed class MeetingSummaryInstructionBuilderTests
Assert.Contains("title parameter", instructions);
}
[Fact]
public async Task DefaultPromptTreatsAssistantContextAsMeetingMemoryForUncertainty()
{
var root = Path.Combine(Path.GetTempPath(), "meeting-assistant-tests", Guid.NewGuid().ToString("N"));
var artifacts = CreateArtifacts(root);
await WriteMeetingNoteAsync(artifacts.MeetingNotePath, []);
var builder = new MeetingSummaryInstructionBuilder(Options.Create(new MeetingAssistantOptions
{
Agent = new AgentOptions { InitialPrompt = " " },
Vault = new VaultOptions { ProjectsFolder = Path.Combine(root, "Projects") }
}));
var instructions = await builder.BuildAsync(artifacts, CancellationToken.None);
Assert.Contains("meeting-specific memory", instructions);
Assert.Contains("unexpected problems", instructions);
Assert.Contains("missing information", instructions);
Assert.Contains("assumptions", instructions);
Assert.Contains("write_context", instructions);
}
[Fact]
public async Task BuilderUsesConfiguredPrompt()
{
@@ -760,6 +760,29 @@ public sealed class WorkflowRulesEditorTests
Assert.Contains("matching correction", instructions);
}
[Fact]
public async Task InstructionBuilderTreatsAssistantContextAsMeetingMemoryDuringRepairs()
{
var builder = new WorkflowRulesEditorInstructionBuilder(
NullLogger<WorkflowRulesEditorInstructionBuilder>.Instance);
var options = new MeetingAssistantOptions
{
WorkflowRulesEditor = new WorkflowRulesEditorOptions
{
InitialPrompt = "Custom interactive agent instructions."
}
};
var instructions = await builder.BuildAsync(options, CancellationToken.None);
Assert.Contains("Custom interactive agent instructions.", instructions);
Assert.Contains("meeting-specific memory", instructions);
Assert.Contains("fix or investigate a meeting or summary", instructions);
Assert.Contains("read the matching assistant context", instructions);
Assert.Contains("problems, missing information, assumptions, prior fixes, and conclusions", instructions);
Assert.Contains("append a concise record of your fixes and conclusions", instructions);
}
[Fact]
public async Task RulesEditorToolsCrudAndSearchSpeakerIdentities()
{