CLI: transcript-only output, --process, and Hermes Agent docs - #65
Merged
Merged
Conversation
`pladder-cli <audio file>` now prints the transcript and nothing else, so another program can read stdout as its speech-to-text. The load and processing times move behind --verbose, and download progress goes to stderr, bench included. A file Core Audio cannot open exits 1 with a message instead of trapping. --process runs the app's processors with the app's dictionary and toggles. The processor list moves from AppModel to StandardProcessors in PladderSystem so the app and the CLI build from the same one; the list and its order are unchanged. The CLI decodes the settings file itself rather than through SettingsStore.load(), which moves an undecodable file aside. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <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.
pladder-cli <audio file>now prints only the transcript, so another program can use it as its speech-to-text command. The first user is Hermes Agent, which runs any shell command declared understt.providersand takes the transcript from stdout.Changes
model ready in …, the timing line and aTEXT:prefix, and Hermes would have taken all three lines as the transcript.--verbosekeeps the old output.loadEngine, whichbenchalso uses), so a first-run download never ends up in a transcript.--processruns the app's processors with the user's dictionary and processor toggles. With--verboseit also prints theRAW:text.AppModeltoStandardProcessorsinPladderSystem, so the app and the CLI build from the same list.TranscriptLanguagelives inPladderSystem, which is why the list goes there and not into Core. The list and its order are unchanged.CLAUDE.mdnow points processor additions at the new file.SettingsStore.load(), becauseload()moves a file it cannot decode aside. A CLI built from another branch must never move the live configuration. It honoursPLADDER_SETTINGS_PATH.docs/HERMES.md, plus a note inINSTALL.mdand a README FAQ entry.Release-to-paste path
AppModelnow readsStandardProcessors.factoriesin place of a local literal. The processors, their order and the pipeline code are the same, so I didn't run the benchmark. Say if you want the before-and-after numbers anyway.Testing
swift buildandswift testpass, 391 tests.--verboseprints the old output.--processremoves fillers and turns spoken "new paragraph" into a paragraph break.settings.jsonwas byte-identical after the runs.docs/HERMES.mdfor WebM input works throughsh.tools/transcription_command.py: it runs the command withshell=True, reads{output_path}if it's non-empty and otherwise uses the stripped stdout, and passes command providers the audio file unconverted.🤖 Generated with Claude Code