Refresh docs to match what shipped - #21
Open
bradburch wants to merge 1 commit into
Open
Conversation
…LM clients Several CLAUDE.md claims were not merely stale but wrong, which is worse than missing — a future session would have acted on them: - "CoachingLLM has two implementations" (three now, and only the Anthropic one can enforce a JSON schema; the other two share one prose contract) - system audio described as ScreenCaptureKit, which is exactly the thing that recorded an entire Continuity call as silence - deployment floor still 14.0 (14.2 since CoreAudio taps) Also records what actually cost time this session: - the documented AppleScript for opening the main window silently no-ops without a preceding `activate` — it reports success and leaves 0 windows - `entire contents` doesn't just return empty on the Settings pane, it errors; counting the Form's section groups works, and `screencapture` is not a fallback because the shell lacks Screen Recording - comparing mic vs sys RMS across the recordings directory is the fastest capture diagnostic, and `audioop` is gone in Python 3.13 - never run make-app.sh while a recording is live; it overwrites the running executable - a Finder-launched .app has a minimal PATH, so spawning a helper binary needs absolute-path search rather than /usr/bin/env Adds the converse of the existing "don't split what shares a contract" rule: don't narrow something that already serves two callers. That bug shipped twice this session — a shared query filtered for one caller, and a second reader on one file descriptor. README and docs/local-llm.md now describe all three coaching providers, with the subscription path's tradeoffs stated where someone comparing costs will actually see them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings
CLAUDE.md,README.md, anddocs/local-llm.mdin line with #18, #19, and #20.Wrong, not just stale
Three CLAUDE.md claims would have actively misled a future session:
CoachingLLMhas two implementations"formatAppendixstates the rules,decodeCoachingenforces them)Package.swiftandLSMinimumSystemVersionThe capture section now also records the two tap invariants that are easy to undo by accident: the aggregate device deliberately has no output sub-device, and
padSilenceToNowexists because a tap delivers nothing while output is idle — remove it and every "them" segment after a gap lands early in the merge.What actually cost time this session
activate— it reports success and leaves the window count at 0. The snippet in CLAUDE.md was incomplete.entire contentsdoesn't just return empty on the Settings pane, it errors (-1700). Counting the Form's section groups works as a structural probe.screencaptureis not a fallback — the shell lacks Screen Recording.audioopwas removed in Python 3.13, so the obvious one-liner doesn't work.make-app.shwhile a recording is live — it overwrites the running executable..appinherits a minimal PATH, so spawning a helper binary needs absolute-path search;/usr/bin/envresolves in a shell and fails in the bundle.Added a third entry to "green tests prove less here than usual": capture that runs, writes correctly-sized files, and records silence. Every mocked recorder test passed while SCK wrote zeros.
One new rule, the converse of an existing one
CLAUDE.md already says don't split what shares a contract. This adds don't narrow what already serves two callers — that bug shipped twice this session: a shared query filtered for one of its two callers (dropping mock interviews from export), and a second reader added to one file descriptor (racing the streaming drain).
User-facing
README and
docs/local-llm.mddescribe all three providers. The subscription path's tradeoffs — ~15–20k overhead tokens per debrief, rate limits, unsupported integration — are stated inlocal-llm.md, since that's the page someone lands on when they're trying to avoid API cost and comparing options.201/201 unit tests pass (docs-only change; run as a sanity check).
🤖 Generated with Claude Code