Append successful offline recovery with a duplicate-warning marker and retain failed replay sources. Offer newly available microphones through confirmation notifications. Add project discovery metadata and blocking association approval, plus nonblocking workflow requests that start a separate settings-agent conversation. Include regression tests, OpenSpec changes, and verified local Release startup.
3.9 KiB
1. Project catalog and metadata
- 1.1 Test and implement full metadata catalog with legacy/malformed fallback and scoped file access.
- 1.2 Test PROJECT.md metadata writes and enforce the description limit without damaging existing files.
- 1.3 Include bound metadata beside AGENTS.md and instruct default/custom agents to maintain it and request missing associations.
2. Project approval
- 2.1 Test blocking approval, immediate scope update, returned AGENTS.md and preservation of concurrent user note edits.
- 2.2 Handle invalid IDs/reasons, existing associations, denial, timeout, cancellation and stale actions.
- 2.3 Register the tool and native Yes/No notification with ten-minute validity and sequential summary tool execution.
- 2.4 Keep summarization alive after the recording stop wait expires so approval does not trigger transcription cancellation or offline replay.
3. Workflow-change requests
- 3.1 Test and implement nonblocking application-owned workflow requests that survive summary completion.
- 3.2 Open a separate settings-agent conversation and automatically submit approved detail; preserve existing drafts and runs.
- 3.3 Cover rejection, expiration, shutdown, invalid requests and exactly-once acceptance.
4. Verification
- 4.1 Update workflow and configuration documentation.
- 4.2 Review changed code and surrounding integration; fix actionable findings.
- 4.3 Run relevant tests, full solution tests, Windows build and strict OpenSpec validation.
- 4.4 Verify through the safest direct operational surface and document native UI/live-provider limits.
Verification (2026-09-25): all 552 solution tests pass, including 20 focused project/catalog/request tests. The solution builds the Windows target successfully with the four existing NAudio obsolete-API warnings. Strict validation passes for this change and the existing microphone change; git diff --check is clean.
Two independent review passes covered project metadata/access and notification/queue/UI lifecycle, including surrounding recording-stop integration. Incomplete metadata now consistently falls back to the project ID, and traversal coverage uses an associated project so it actually exercises path containment. Project association writes prepare a same-directory temporary file before replacing the meeting note; successful requests leave no temporary file behind.
Public-tool behavior tests inspect real generated meeting and project files with controlled approval/window services. They verify latest-note preservation, immediate scope changes, returned instructions, rejection/expiry/cancellation, nonblocking workflow requests, and automatic submission of approved detail to a fresh settings-agent conversation. A coordinator regression test verifies that the stop wait cannot cancel a summary awaiting approval or enqueue unnecessary offline replay.
The running application's recording-status endpoint was checked read-only and reported idle. The service was not updated or restarted. Native toast activation/removal, actual WPF window isolation, and a live model invoking these tools were not exercised, because those require running the new Windows build and interacting with its notifications. Sequential tool execution is configured and compiled; the model pipeline itself was not exercised with simultaneous tool calls. These operational checks remain required before acceptance or archival.
Authorized local start (2026-09-25): after confirming idle status and logs, the documented restart helper published and started the Release build in tmp/meeting-assistant-runtime/run-20260925-115711. /health reports ok, /recording/status reports idle, the tray icon was created, and Resemblyzer warm-up completed without stderr errors. The published application DLL matches the Release output by SHA-256. This verifies startup of the new build; native approval interactions and live-model tool invocation remain unverified.