Expand settings and logs agent tools
PR and Push Build/Test / build-and-test (push) Successful in 9m36s

This commit is contained in:
2026-06-01 21:07:08 +02:00
parent abac46c691
commit 11c65ce669
12 changed files with 1160 additions and 45 deletions
@@ -30,6 +30,8 @@ The settings/logs agent SHALL receive speaker sample tools to list, read, delete
The settings/logs agent SHALL receive tools to read the local appsettings configuration file, write a complete valid JSON replacement for that file, read Meeting Assistant configuration documentation, read current or rotated application log files by tail or 1-based line range, search current or rotated application log files, search copied OpenSpec specification files, and read copied OpenSpec specification files by relative path and optional 1-based line range.
The settings/logs agent SHALL receive in-process diagnostic tools for health, recording status, current meeting metadata lookup, recent speaker identity merging, workflow configuration reload, ASR file transcription, and ASR file diarization so those diagnostics do not require HTTP calls.
Meeting Assistant SHALL copy specification markdown files from `openspec/specs` into build and publish output through a recursive include so future spec folders are included automatically.
The first model request caused by each user-submitted chat turn SHALL send the `X-Initiator: user` header, while follow-up model requests within that same turn, such as tool-call continuations, SHALL send `X-Initiator: agent`.
@@ -87,6 +89,11 @@ Meeting Assistant SHALL provide a diagnostic endpoint that opens the settings/lo
- **THEN** it receives the requested file content or clamped 1-based line range
- **AND** paths outside the copied specs tree are refused
#### Scenario: Settings and logs assistant runs diagnostics without HTTP
- **WHEN** the settings/logs agent requests health, recording status, current meeting metadata, speaker identity merge, workflow reload, or ASR file diagnostics
- **THEN** Meeting Assistant runs the same in-process services used by the local diagnostic endpoints
- **AND** returns the diagnostic result to the agent
#### Scenario: New spec folders are included in output
- **WHEN** a new markdown spec file is added under `openspec/specs`
- **THEN** the application build includes it in the output under `openspec/specs`
@@ -8,6 +8,18 @@ The `write_summary` tool SHALL return the written summary filename after writing
The summary-agent `search` tool SHALL support an optional glob file pattern that limits searched project files.
The settings/logs agent SHALL be able to list recent meeting summary notes from the configured summaries folder ordered newest first by meeting start time, falling back to file modification time when summary frontmatter has no parseable start time.
The settings/logs agent SHALL be able to read and search meeting summaries, transcripts, meeting notes, and assistant context files from their configured vault folders so it can help post-process notes for the user.
The settings/logs agent SHALL be able to create and update meeting summaries, transcripts, meeting notes, and assistant context files inside their configured vault folders.
The settings/logs agent SHALL provide frontmatter-specific write tools for meeting summaries, transcripts, meeting notes, and assistant context files that replace YAML frontmatter while preserving the markdown body.
Settings/logs meeting artifact read tools SHALL support reading the whole file, reading a clamped inclusive 1-based line range when `from` and `to` are supplied, or reading the last `tail` lines when `tail` is supplied without a line range.
Settings/logs meeting artifact search tools SHALL support an optional glob file pattern that limits searched markdown files.
#### Scenario: Summary read tools support tail
- **WHEN** the summary agent reads a transcript with `tail` set to `2`
- **THEN** Meeting Assistant returns the last two transcript lines
@@ -21,3 +33,25 @@ The summary-agent `search` tool SHALL support an optional glob file pattern that
- **WHEN** the summary agent searches with file pattern `*.md`
- **THEN** Meeting Assistant searches `PROJECT.md`
- **AND** excludes `scratch.txt`
#### Scenario: Settings/logs agent lists and reads recent meeting artifacts
- **GIVEN** the configured summary folder contains multiple summary notes with start times
- **WHEN** the settings/logs agent lists recent summaries
- **THEN** Meeting Assistant returns the summary notes newest first
- **AND** includes relative paths for the linked meeting note, transcript, and assistant context when those links resolve to configured artifact folders
- **WHEN** the settings/logs agent reads one of those artifact paths with `tail`
- **THEN** Meeting Assistant returns only the requested last lines
#### Scenario: Settings/logs agent searches meeting artifacts
- **GIVEN** meeting summaries, transcripts, notes, and assistant context files contain searchable text
- **WHEN** the settings/logs agent searches the relevant artifact class
- **THEN** Meeting Assistant returns relative `path:line` matches from that configured artifact folder
- **AND** refuses read paths that escape their configured artifact folder
#### Scenario: Settings/logs agent repairs meeting artifact files
- **GIVEN** an existing meeting note with YAML frontmatter and a markdown body
- **WHEN** the settings/logs agent writes replacement frontmatter for that note
- **THEN** Meeting Assistant validates the supplied frontmatter YAML
- **AND** replaces only the frontmatter while preserving the body
- **WHEN** the settings/logs agent writes a summary, transcript, meeting note, or assistant context path outside the configured folder
- **THEN** Meeting Assistant refuses the write
@@ -10,6 +10,9 @@
- [x] 2.4 Cover log tail/range/search tools and file logging rotation.
- [x] 2.5 Cover copied spec read/search tools and scoped path handling.
- [x] 2.6 Cover project creation, project read/write/search, read tail, search glob, summary filename return, and short-run abort behavior.
- [x] 2.7 Cover settings/logs recent-summary listing and meeting artifact read/search tools.
- [x] 2.8 Cover settings/logs meeting artifact write/frontmatter repair tools and in-process diagnostic tool availability.
- [x] 2.9 Cover summary frontmatter copying clean, distinct meeting projects.
## 3. Implementation
- [x] 3.1 Add app-owned temp-file logging with four older rotated files.
@@ -18,3 +21,6 @@
- [x] 3.4 Add recursive spec markdown copy to build and publish output.
- [x] 3.5 Run focused tests and strict OpenSpec validation.
- [x] 3.6 Add settings/logs project tools, bundled Project-AGENTS.md seed content, summary filename return, minute-level summary/context names, and configurable short-run abort.
- [x] 3.7 Add settings/logs tools for recent summaries and summary/transcript/note/context read/search.
- [x] 3.8 Add settings/logs tools for summary/transcript/note/context writes, frontmatter repair, and diagnostics that previously required HTTP.
- [x] 3.9 Normalize copied meeting projects when writing summary frontmatter.