Skip to content

Condense with Apple's on-device fm, raw replies, drop Ollama - #7

Open
arshlibruh-code wants to merge 2 commits into
mainfrom
feat/fm-condense
Open

arshlibruh-code wants to merge 2 commits into
mainfrom
feat/fm-condense

Conversation

@arshlibruh-code

Copy link
Copy Markdown
Owner

What

  • Condensing runs on macOS 27's on-device fm (Apple Foundation Models), with none as the fallback. The Ollama provider, its model setting and doctor check are removed.
  • Long replies, tables and turns with evidence go raw to the condenser; short ones are spoken as-is minus markdown.
  • Dropped the word-budget "lead with the required action" instruction.
  • New default condense prompt: at most 25 words, keeps numbers and names, never answers a question it relays, no filler.
  • Spoken contract kept (trivial success to earcon, meta speech, false passes) and now also rejects "I am a coding agent". strip_markdown drops list bullets.

Why

  • The log showed 52 of 52 Ollama condenses failing: the server was rarely running.
  • On a 30-reply side-by-side of real replies, the old pipeline turned questions and finished work into spoken orders ("Delete the job board scanner" when the reply asked whether to). The raw-to-fm path kept them as questions and reports.

Checks

  • ./smoke.sh: SMOKE PASS (one earlier run failed on voice inbox briefing with a curl timeout and broken pipe; the rerun passed).
  • Unit tests: 28/28 OK.

Known

  • prepare_speech used to raise KeyError when called without verification; the rewrite reads it with .get.
  • build-packet.html still describes the Ollama setup; left as the dated v7 record.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LmQVErtihWNfyrQK91MaRw

arshlibruh-code and others added 2 commits September 27, 2026 15:39
Condensing now runs through macOS 27 `fm` (stdin in, 8k window), with
`none` as the fallback. Ollama provider, its model setting and doctor
check are removed; the log showed 52 of 52 Ollama condenses failing
because the server was rarely running. New default condense prompt keeps
numbers and names, never answers a question it is relaying, and drops
filler. smoke.sh passes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01LmQVErtihWNfyrQK91MaRw
Short replies (max_direct_chars) are spoken as-is minus markdown; longer
ones, tables and turns with evidence go raw to fm. Drops the word-budget
"lead with the required action" instruction, which turned questions and
finished work into spoken orders on a 30-reply side-by-side. The spoken
contract still guards trivial success, meta speech and false passes, and
now also rejects "I am a coding agent". strip_markdown drops list bullets.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01LmQVErtihWNfyrQK91MaRw

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant