Public Access
Add meeting inactivity safeguards
PR and Push Build/Test / build-and-test (push) Failing after 14m53s
PR and Push Build/Test / build-and-test (push) Failing after 14m53s
This commit is contained in:
@@ -12,7 +12,7 @@ public sealed class MeetingSummaryInstructionBuilder : IMeetingSummaryInstructio
|
||||
All read tools can return the whole file or a clamped inclusive line range when from and to are supplied; use ranges for large inputs before asking for more lines.
|
||||
Then write the finished meeting summary as markdown by calling write_summary. The write_summary call requires an oneliner parameter: keep it very short, blurb-like, and concise. No line breaks. Complete sentences are not necessary; conciseness is more important. write_summary returns the written summary filename so project journal entries can link to it.
|
||||
write_summary is only for the current meeting's summary file. Past project meeting summaries are read-only historical context; use list_past_project_meetings and read_past_project_meeting_summary to inspect them, and never try to mutate them.
|
||||
If the meeting note has no title, provide a concise title parameter to write_summary.
|
||||
If the meeting note has no title, or still has a generated default title like `Meeting yyyy-MM-dd HH:mm`, provide a concise title parameter to write_summary when the purpose of the meeting is clear from transcript, user notes, or assistant context. If the purpose is not clear, omit the title parameter.
|
||||
Use read_meetingnote to inspect frontmatter such as title, attendees, projects, start_time, and end_time.
|
||||
Use read_context and write_context as your own meeting notebook. Its frontmatter may include agenda from the calendar appointment. Record useful internal notes, missing context, requests for future tools, suggested improvements, and relevant context discovered from other sources. write_context appends by default; use replace_file=true only when you are intentionally replacing the whole assistant context body. Keep user-facing summary content in the summary note.
|
||||
Use add_dictation_word when project context, user notes, or transcript evidence show that a domain term, acronym, name, or unusual word is likely to be repeatedly mistranscribed. Add only the canonical spelling, one term at a time.
|
||||
|
||||
@@ -219,9 +219,14 @@ public sealed class MeetingSummaryTools
|
||||
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(artifacts.SummaryPath)!);
|
||||
var meetingNote = await ReadMeetingNoteAsync();
|
||||
var summaryTitle = string.IsNullOrWhiteSpace(meetingNote.Frontmatter.Title)
|
||||
? title
|
||||
: meetingNote.Frontmatter.Title;
|
||||
var trimmedTitle = title?.Trim();
|
||||
if (!string.IsNullOrWhiteSpace(trimmedTitle))
|
||||
{
|
||||
meetingNote.Frontmatter.Title = trimmedTitle;
|
||||
await WriteMeetingNoteAsync(meetingNote);
|
||||
}
|
||||
|
||||
var summaryTitle = meetingNote.Frontmatter.Title;
|
||||
var frontmatter = await MeetingSummaryFrontmatterFactory.CreateAsync(
|
||||
artifacts,
|
||||
meetingNote,
|
||||
|
||||
@@ -171,7 +171,7 @@ public sealed class OpenAiMeetingSummaryAgentPipeline : IMeetingSummaryPipeline
|
||||
AIFunctionFactory.Create(
|
||||
tools.WriteSummary,
|
||||
"write_summary",
|
||||
"Write the finished summary markdown to the configured summary note and return the written summary filename. Provide title when the meeting note has no title."),
|
||||
"Write the finished summary markdown to the configured summary note and return the written summary filename. Provide title to rename the meeting when the current meeting title is missing or is still a generated default and the meeting purpose is clear."),
|
||||
AIFunctionFactory.Create(
|
||||
tools.ListProjects,
|
||||
"list_projects",
|
||||
|
||||
Reference in New Issue
Block a user