Repository navigation
Add a custom prompt option for meeting summaries - #1077
andrewmitchell-automations wants to merge 10 commits into
Conversation
Squashed from altic-dev#1028 by @grohith327 and rebased onto main after the beta.8 summary changes.
Summaries now run only through providers already verified in AI Providers, using Command Mode's catalog and the shared LLMClient. - Remove the Claude Code/Codex CLI runner, the separate Anthropic Messages client, the pre-release "Use AI Settings" migration, and the on-device option in the summary view. - Run cloud summaries outside the ASR lease and processing gate so dictation, Command Mode, and Rewrite keep working meanwhile. - Treat only length/max_tokens/content_filter as truncation so providers that report eos or end_turn still succeed. - Give reasoning models Command Mode's 32k output budget. - Default to the AI Settings provider on first use, reset pre-release selections, and show a setup prompt when nothing is verified. - Keep older on-device summaries hidden while that path is disabled. Co-Authored-By: grohith327 <grohith327@gmail.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Choosing "Custom prompt" in the summary type menu shows an editor whose text replaces the built-in type guidance. The source-material and no-invention rules stay in the system prompt, and the transcript stays a separate user message. The prompt is saved once and reused for every meeting. A saved custom summary is shown again only when both the transcript and the prompt are unchanged, and Generate stays disabled while the prompt is empty. Closes altic-dev#1075 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FluidVoice PR build readyDownload FluidVoice-PR-1077-6edbff1c3f2d The artifact contains the ad-hoc-signed app ZIP, Xcode archive, build manifest, and installation instructions. It expires 5 days after the build. Install the app
This build has its own app identity, so its permissions are separate from the release version of FluidVoice. |
claude-haiku-5-5, claude-opus-5 and claude-opus-5-5 reject the temperature parameter with HTTP 400, but the name list in isTemperatureUnsupported did not match them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-haiku-5-5, claude-opus-5 and claude-opus-5-5 reject the temperature parameter with HTTP 400, but the name list in isTemperatureUnsupported did not match them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each new model that drops `temperature` (Opus 4.7, Sonnet 5, Haiku 5.5) broke requests until the name list in isTemperatureUnsupported was updated. Support is now learned per model ID and stored in UserDefaults: - The model fetch records it from the /models listing: OpenRouter's supported_parameters, and Anthropic's budget_tokens thinking capability (every model that dropped it also dropped temperature). - LLMClient records a model as unsupported when a request with temperature gets an HTTP 400 that names it, and retries once without temperature. The 400 arrives before any streamed output. - The name list stays as the fallback for models with no learned value. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mmary-custom-prompt # Conflicts: # Sources/Fluid/Persistence/SettingsStore.swift
Two providers can serve the same model ID with different parameter support (for example a generic local ID such as "llama3"). A rejection or listing from one provider no longer stops the other from receiving temperature. isTemperatureUnsupported now takes the provider base URL; every call site already had it. The saved key is renamed so values stored under the old model-only key are ignored. The name-list tests in TemperatureSupportTests now read an empty learned store, so values saved by the test host cannot change their results. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mmary-custom-prompt
Description
Adds a Custom prompt option to the summary type menu in a completed meeting's Meet Summary tab.
Depends on #1076. Cross-fork stacked PRs are not supported, so this branch contains #1076's commits. Please review only the top commit,
813d494. It becomes a one-commit diff after #1076 merges.Type of Change
Related Issue or Discussion
Closes #1075
Depends on #1076. UI scope is proposed in #1075 and awaits maintainer approval.
Testing
Verification steps:
Result: live run with Anthropic
claude-haiku-4-5-20251001produced the two requested sections (screenshots below).swiftlint --strictwith the CI image (ghcr.io/realm/swiftlint:0.63.2), 0 violations--lintis clean on the changed files except lines unchanged frommainMeetingSummaryProviderTests,MeetingSummaryActivityTests,MeetingSummaryInputTests— 28 passed (4 new: prompt composition, empty-prompt rejection, persistence, saved-summary invalidation)Screenshots / Video
Custom prompt editor:
Result (meeting content redacted):
Notes
AI use: Claude Code implemented the change and tests and ran the checks above. I ran the live test on macOS 27.2 / Apple Silicon and reviewed every changed line.
The contribution requirements are mandatory. PRs that do not follow CONTRIBUTING.md will not be reviewed or merged until they comply, and may be closed.
🤖 Generated with Claude Code