Repository navigation
feat(voice-input): send per-project speech terms to the dictation service - #1882
Conversation
🧩 Effect Service Conventions
|
| Head | Result | Time | Check |
|---|---|---|---|
fa884ce |
✅ clear | 8 min | run |
0c016b0 |
✅ clear | 8 min | run |
770be08 |
✅ clear · 1 fixed | 3 min | run |
40c1896 |
🔴 1 open · 1 new | 2 min | run |
🩺 Aftercare
|
| Head | Result | Time | Check |
|---|---|---|---|
fa884ce |
✅ clear · 2 fixed | 3 min | run |
0c016b0 |
🔴 2 open · 2 fixed · 1 held · 1 new | 4 min | run |
770be08 |
🔴 3 open · 3 fixed · 3 new | 6 min | run |
40c1896 |
🔴 4 open · 4 new | 6 min | run |
…vice Fork-Domain: voice-input Fork-Tier: core
40c1896 to
afc2728
Compare
A1: drop the same terms are valid OpenAI |
Spelling rules apply to every service's transcript in T3, and terms over four words stay out so the list keeps reading as hotwords. The Promptletariat extensions switch goes away. Fork-Domain: voice-input Fork-Tier: core
Fork-Domain: voice-input Fork-Tier: core Fork-Upstreamable: no
Fixed in 0c016b0.
|
…lding Fork-Domain: voice-input Fork-Tier: core Fork-Upstreamable: no
Fixed in fa884ce.
|
Requested a rerun for one exact failed or cancelled CI job on the unchanged pull-request head. GitHub may also rerun dependent jobs.
|
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
pick 4bdc91e fix(web): file saves no longer overwrite newer disk changes (#1869) fixup d161c26 fixup! fix(web): file saves no longer overwrite newer disk changes (#1869) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/4bdc91e948928d814fa0c3c0d0a629a5081385e7.msg)" pick 7239f60 fix(voice-input): one base URL derives dictation upload and live paths (#1881) fixup 9745de7 fixup! fix(voice-input): one base URL derives dictation upload and live paths (#1881) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/7239f609dfcfaf95e187d7cec7f8cb9923c7b393.msg)" pick 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) fixup 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/2f35a071a40e089c355889279eb985db516371c5.msg)" pick 1029dee fix(fork-sync): a job pushes its rebased tip and the driver lands it without replay (#1887) fixup c787dc1 fixup! fix(fork-sync): a job pushes its rebased tip and the driver lands it without replay (#1887) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/1029dee702e6d1ec91fe10ea92a09fe83cbac69e.msg)" pick 05e3328 refactor(upstream-fixes): retire the terminal focus-request gate; upstream focusTerminal owns focus fixup 2b2ef60 fixup! refactor(upstream-fixes): retire the terminal focus-request gate; upstream focusTerminal owns focus pick 8d49eb0 fix(fork-hooks): the marker scanner skips regex literals (#1888) fixup d37471a fixup! fix(fork-hooks): the marker scanner skips regex literals (#1888) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/8d49eb025eaa9a78e0919aef35da34b616a4fa71.msg)" pick 00674f9 fix(fork-sync): a no-tag rerun keeps the kept worktree's tag (#1889) pick 835e33e fix(fork-sync): a session runs fork:ci on its tip before the hand-off (#1890) pick d68e1e3 fix(fork-sync): a sync refuses a tip that lost fork hook lines (#1891) pick b9d7679 fix(fork-sync): a landed hook retirement exempts no later sync (#1892) fixup 7ba75a7 fixup! fix(fork-sync): a landed hook retirement exempts no later sync (#1892) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/b9d7679a6e1728c2ab66388992f87d690ad9d04b.msg)" pick deec79d fix(fork-ci): fork:ci runs the merge-tree gate, so a session hands off no tip CI refuses (#1893) pick 7902676 fix(fork-ci): fork:ci runs knip and typecheck, so a session hands off no tip the Check job refuses (#1894) pick 23837a1 refactor(upstream-fixes): retire the conversation-fork title guard; upstream titles forks from inherited history pick 7c9be1b fix(fork-sync): the land run waits out candidate CI, so the report names every red job (#1895) fixup f0bd0f6 fixup! fix(fork-sync): the land run waits out candidate CI, so the report names every red job (#1895) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/7c9be1bc1e1e2aa5563c67da836f5417651806dd.msg)" pick 8fd98e6 fix(upstream-fixes): storage cleanup treats a broken gitfile as gone on newer git pick 9020279 fix(fork-sync): the driver adds the upstream remote, and the skill allows its kept worktree (#1897) Fork-Sync-Tag: v0.1.4-nightly.20261027.3783 Fork-Sync-Lease: 9020279
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
pick 50aba4d feat(server): thread groups live on the server with agent tools (#1840) fixup ef3cc72 fixup! feat(server): thread groups live on the server with agent tools (#1840) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/50aba4d3af96141607e26e2d0a908ce3a2c76573.msg)" pick ae3460e feat(fork-sync): resolutions persist as git data between runs (#1849) pick 68b1f2d feat(fork-sync): a pushed resolution reruns the sync from the trunk (#1850) pick fb702ad feat(fork-sync): run the fork-sync skill through rsi-pr-agent (#1848) pick 8443684 feat(fork-sync): a blocked sync labels its attention issue rsi:fork-sync (#1847) pick 742ee72 fix(fork-sync): job mode adds the upstream remote before the dry run (#1852) pick 29b9574 fix(fork-meta): give the fork-sync job 45 minutes (#1853) pick d4df433 fix(fork-sync): the job always decides and runs from an rsi-pr-agent checkout (#1854) pick a7dda3f fix(fork-sync): a red candidate starts the fork-sync job (#1855) pick a25ae74 fix(fork-sync): carry a retired delete/modify through sync/resolution (#1856) pick 9fa4f41 docs(backend-attach): describe the attached primary and its seams (#1861) pick a7c4da6 fix(fork-meta): install pins gh's default repository to the fork (#1862) pick a3977e8 test(desktop): the cross-arch probe test ignores a host ELECTRON_RUN_AS_NODE (#1859) pick 179484c fix(github-issues): a V2 unlink of a V1 issue link survives compaction (#1858) pick 1b3ec59 fix(fork-meta): fold apply keeps cancelling folds and never consults rerere (#1863) pick 83320f1 fix(fork): refresh legacy setup scripts in project settings overrides (#1866) pick affc863 fix(web): client-only Connections hides managed-server controls (#1867) pick 49c280f fix(server): fork notice follows a first /compact and native replacement (#1864) pick 9095e30 fix(web): group titles name the shared subject, anchored on the parent (#1868) pick c1aa7ba fix(fork-sync): export partial progress before the job limit (#1872) pick 147c6ee test(server): pin core.excludesFile in the GitManager fixture (#1874) pick 3dbca16 fix(server): issue MCP tools target a thread like the pull request tools (#1860) pick e6c42e2 fix(server): a stop during the migration backup no longer kills the update (#1873) pick 5c2f552 fix(terminal): close T3 viewers of a settled lane's removed zmux session (#1876) pick 2e66346 fix(fork-sync): time the partial export by the job's clock (#1879) pick b318703 feat(web): group title becomes a tab on its parent thread (#1878) pick 6bf77c1 fix(fork-sync): keep a job to one checkout, no proof clones (#1880) pick 40f0718 fix(web): file saves no longer overwrite newer disk changes (#1869) fixup 716cede fixup! fix(web): file saves no longer overwrite newer disk changes (#1869) exec git commit --amend --no-verify -F "$(git rev-parse --git-path fork-sync-folds/40f071855f5af126fa11c2521ddf5672839ecb40.msg)" pick 89aa35a fix(voice-input): one base URL derives dictation upload and live paths (#1881) pick 8b43824 feat(voice-input): send per-project speech terms to the dictation service (#1882) pick a46b608 fix(fork-sync): a job pushes its rebased tip and the driver lands it without replay (#1887) pick 3bea8bc refactor(upstream-fixes): retire the terminal focus-request gate; upstream focusTerminal owns focus pick 5ad62c1 fix(fork-hooks): the marker scanner skips regex literals (#1888) pick 99232a5 fix(fork-sync): a no-tag rerun keeps the kept worktree's tag (#1889) pick 4ed891c fix(fork-sync): a session runs fork:ci on its tip before the hand-off (#1890) pick 8d57556 fix(fork-sync): a sync refuses a tip that lost fork hook lines (#1891) pick 6714a7b fix(fork-sync): a landed hook retirement exempts no later sync (#1892) pick 16d6089 fix(fork-ci): fork:ci runs the merge-tree gate, so a session hands off no tip CI refuses (#1893) pick ab8529e fix(fork-ci): fork:ci runs knip and typecheck, so a session hands off no tip the Check job refuses (#1894) pick eb62154 refactor(upstream-fixes): retire the conversation-fork title guard; upstream titles forks from inherited history pick fa1a4e6 fix(fork-sync): the land run waits out candidate CI, so the report names every red job (#1895) pick 694072c fix(upstream-fixes): storage cleanup treats a broken gitfile as gone on newer git pick 12e0108 fix(fork-sync): the driver adds the upstream remote, and the skill allows its kept worktree (#1897) pick 5d77480 fix(fork-sync): a job session leaves no background process before it replies (#1898) pick 858eba8 refactor(markdown-editing): retire the flush hook supplied by upstream ; empty pick b73c2a6 chore(fork-meta): account for existing context without changing the upstream budget pick 2f2ed8c docs(fork-meta): track the resolved sync seams in domain scans Fork-Sync-Tag: v0.1.4-nightly.20261027.3796 Fork-Sync-Lease: 29b011d
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
…vice (#1882) ## Problem The speech service had no knowledge of project names. It misheard terms such as `kubectl`, and only agent cleanup could fix them later. ## Change - **Speech terms:** per project, in Text processing - **Format:** one per line, up to four words - **Sent as:** standard `prompt`, comma list - **Over four words:** left out of `prompt` - **Spelling:** `heard, misheard -> Term` - **Spelling applied:** by T3, on every service - **Live:** previews and final both spelled - **Paths:** batch and live, via `?projectId=` - **Resolution:** in `VoiceInput`; routes stay thin Terms are per project, not per environment, because names differ by repository. One entry over four words makes RSI-Software/promptletariat#159 read the whole `prompt` as prose and drop every hotword, so T3 leaves such entries out. ## Scope and approval Fork-only dictation (`voice-input` domain), stacked on the base URL PR. T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone. ## Verification - Server voice-input tests → pass - Web voice-input and rpc tests → pass - `vp run check:changed` → exit 0 - `vp run fork:ci` → exit 0 - Chrome: no extensions switch; save works  Claude Opus 5.5 via Claude Code in T3 Code. ## Fork trailers Squashes: - 8a9a03f feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 437b0b1 fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 2f35a07 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) - 274db9b fixup! feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
Squashes: - 26171fbd8fa feat(server): scaffold external voice dictation (#1672) (#1672) - da9e3d289f0 feat(server): transcribe recordings with Meta Muse (#1673) (#1673) - c7b4f781cf5 feat(desktop): record dictation into editable chat drafts (#1675) (#1675) - 9d5dcb319c9 fix(desktop): keep dictation transcribing across thread switches (#1684) (#1684) - 7782b1f05b3 feat(desktop): stream live Meta dictation into the composer (#1686) (#1686) - 80071d08816 fix(voice-input): keep Meta realtime dictation on HTTP/1.1 WebSockets (#1710) (#1710) - 7edffba3c2b feat(voice-input): live dictation preview for any OpenAI Realtime endpoint (#1775) (#1775) - 2283697771d fix(voice-input): use InlineButton for processing error dismissal (#1800) (#1800) - 54c87d908a2 fix(voice-input): one base URL derives dictation upload and live paths (#1881) (#1881) - bd64d598282 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Fork-Upstreamable: no Co-authored-by: donjor <[email protected]> Co-authored-by: donjor <[email protected]>
…d current terminal settings (#1912) ## Problem The README clips and bullets predate recent fork work: - **Threads:** shows the old menu grouping flow - **Dictation:** says live words are Meta only - **Terminals:** cites a removed Appearance switch ## Change **Threads** - New dark clip: drag to group, auto title, collapse - Bullets: parent, Working, projects, MCP - More clips: a working parent carries its group **Dictation** - Bullets: OpenAI Realtime, speech terms, cleanup - Clip: live preview, then Finish - More clips: speech terms settings **Terminals** - Default shell lives in Settings → Terminal Other clips come from merged PRs: - #1775 - #1882 - #1904 ## Scope and approval The maintainer asked for refreshed README captures of new features during the dark-mode Electron UAT. ## Verification - Markdown lint: edited lines clean - `vp run fork:ci` → exit 0 - Claims checked against `docs/fork/user/` guides **New Threads clip** https://github.com/user-attachments/assets/dfb1fa2f-1d93-4bfa-bc83-c1d36261a9f1 Claude Opus 5.5, Claude Code. ## Fork trailers Fork-Domain: fork-meta Fork-Tier: core Co-authored-by: donjor <[email protected]>
Squashes: - 26171fbd8fa feat(server): scaffold external voice dictation (#1672) (#1672) - da9e3d289f0 feat(server): transcribe recordings with Meta Muse (#1673) (#1673) - c7b4f781cf5 feat(desktop): record dictation into editable chat drafts (#1675) (#1675) - 9d5dcb319c9 fix(desktop): keep dictation transcribing across thread switches (#1684) (#1684) - 7782b1f05b3 feat(desktop): stream live Meta dictation into the composer (#1686) (#1686) - 80071d08816 fix(voice-input): keep Meta realtime dictation on HTTP/1.1 WebSockets (#1710) (#1710) - 7edffba3c2b feat(voice-input): live dictation preview for any OpenAI Realtime endpoint (#1775) (#1775) - 2283697771d fix(voice-input): use InlineButton for processing error dismissal (#1800) (#1800) - 54c87d908a2 fix(voice-input): one base URL derives dictation upload and live paths (#1881) (#1881) - bd64d598282 feat(voice-input): send per-project speech terms to the dictation service (#1882) (#1882) Fork-Domain: voice-input Fork-Tier: core Fork-Upstreamable: no Co-authored-by: donjor <[email protected]> Co-authored-by: donjor <[email protected]>
Problem
The speech service had no knowledge of project names.
It misheard terms such as
kubectl, and only agent cleanup could fix them later.Change
prompt, comma listpromptheard, misheard -> Term?projectId=VoiceInput; routes stay thinTerms are per project, not per environment, because names differ by repository.
One entry over four words makes RSI-Software/promptletariat#159 read the whole
promptas prose and drop every hotword, so T3 leaves such entries out.Scope and approval
Fork-only dictation (
voice-inputdomain), stacked on the base URL PR.T3 sends only OpenAI-standard fields; the earlier Promptletariat extensions switch is gone.
Verification
vp run check:changed→ exit 0vp run fork:ci→ exit 0Claude Opus 5.5 via Claude Code in T3 Code.
Fork trailers
Fork-Domain: voice-input
Fork-Tier: core