Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
422 commits
Select commit Hold shift + click to select a range
29ad694
feat(settings): make the Settings window user-resizable
m-szymanska Jul 2, 2026
a07d3f4
chore(agent-chat): add attachment staging breadcrumbs
m-szymanska Jul 2, 2026
b218fae
fix(tray): clear recording status when a session finalizes
m-szymanska Jul 2, 2026
8e1150d
feat(agent-chat): show attachment chips in the sent user bubble
m-szymanska Jul 2, 2026
8f7c35f
fix(tray): capture agent-window selection for Save selection + show r…
m-szymanska Jul 2, 2026
d69ca95
feat(agent-chat): render markdown in bubbles and add copy-message button
m-szymanska Jul 2, 2026
b7a89b2
fix(agent-chat): middle-truncate attachment filenames in chips
m-szymanska Jul 2, 2026
0903fab
feat(agent-chat): stage images dropped onto the composer
m-szymanska Jul 2, 2026
e91c1c4
feat(threads): add rename FFI and boilerplate-stripping auto-title
m-szymanska Jul 2, 2026
68cc950
feat(agent-chat): rename threads from the rail
m-szymanska Jul 2, 2026
9584208
fix(overlay): stop the resizable panel's content-window sizing feedba…
m-szymanska Jul 2, 2026
4cf22fa
refactor(agent-chat): strip decorative header controls, wire real state
m-szymanska Jul 2, 2026
c2b9acb
feat(threads): add markdown export FFI for agent threads
m-szymanska Jul 2, 2026
156f4e1
feat(agent-chat): thread menu with export to Markdown
m-szymanska Jul 2, 2026
0dce1e4
fix(threads): preserve newlines when restoring thread messages
m-szymanska Jul 2, 2026
dc0441b
feat(agent-chat): render tables, blockquotes and task lists
m-szymanska Jul 2, 2026
e0ca10f
fix(agent-chat): markdown renderer edge cases
m-szymanska Jul 2, 2026
794eb7d
feat(agent-chat): callouts, code-copy and markdown polish
m-szymanska Jul 2, 2026
119aecd
fix(agent-chat): intercept image drops that land on the text field
m-szymanska Jul 2, 2026
8fb973e
fix(overlay): pin hosting view to window bounds so resize never clips…
m-szymanska Jul 2, 2026
b3fb6c4
[claude/vc-workflow] fix(pipeline): own the trim at the emitter so ta…
Szowesgad Jul 2, 2026
ff6884f
[claude/vc-workflow] fix(overlay): align segment text with the Rust o…
Szowesgad Jul 2, 2026
a2764e2
[claude/vc-workflow] feat(settings): STT engine selector and layered-…
Szowesgad Jul 2, 2026
7dd9be9
[claude/vc-audit] fix(llm): add missing claude-sonnet-4-6 to the Anth…
Szowesgad Jul 2, 2026
77b9f10
feat(agent): log per tool-call outcome and MCP stderr
m-szymanska Jul 2, 2026
8b0d6c3
feat(agent-chat): reveal tool failure reason in activity rows
m-szymanska Jul 2, 2026
544ae11
feat(config): add AGENT_WORKSPACE_ROOTS workspace-roots setting
m-szymanska Jul 2, 2026
6238ca1
feat(agent): add list_projects tool and workspace system-prompt section
m-szymanska Jul 2, 2026
dcc21c2
feat(settings): add workspace-roots editor to the Engine panel
m-szymanska Jul 2, 2026
43a6b2a
[codex/vc-workflow] feat(core): discover provider models from live APIs
Szowesgad Jul 2, 2026
d36e330
[codex/vc-workflow] feat(settings): load model dropdowns from discovery
Szowesgad Jul 2, 2026
52c6fe3
[codex/vc-workflow] refactor(core): remove static provider model cata…
Szowesgad Jul 2, 2026
07c9d3c
fix(chat): render final-only agent replies (PR #40 review)
m-szymanska Jul 2, 2026
dd566fa
fix(chat): cancel the in-flight reply before deleting a thread (PR #4…
m-szymanska Jul 2, 2026
7f35b55
fix(overlay): reveal the Agent window on Send to Agent (PR #40 review)
m-szymanska Jul 2, 2026
b533669
fix(tray): skip non-copyable history for the last transcript (PR #40 …
m-szymanska Jul 2, 2026
9632cd5
fix(settings): reset the model when switching agent provider (PR #40 …
m-szymanska Jul 2, 2026
9a0d0b4
fix(settings): keep Auto as a selectable Whisper language (PR #40 rev…
m-szymanska Jul 2, 2026
476887f
fix(onboarding): save the API key before advancing (PR #40 review)
m-szymanska Jul 2, 2026
42f6b1e
fix(onboarding): seed the wizard from the saved provider (PR #40 review)
m-szymanska Jul 2, 2026
1a82d51
fix(setup): include Screen Recording in the Creator checklist (PR #40…
m-szymanska Jul 2, 2026
4f88112
ci(release): install XcodeGen in the release job (PR #40 review)
m-szymanska Jul 2, 2026
526819a
fix(notes): preserve the full pasteboard when harvesting selections (…
m-szymanska Jul 2, 2026
782e590
fix(notarize): target the Xcode-built app path (PR #40 review)
m-szymanska Jul 2, 2026
dcd26e3
build(dmg): run ensure-models before the release build (PR #40 review)
m-szymanska Jul 2, 2026
adaf57e
chore(scripts): drop orphaned build-release.sh CLI helper (PR #40 rev…
m-szymanska Jul 2, 2026
149b406
fix(macos): restore AppleEvents and ScreenCapture usage descriptions …
m-szymanska Jul 2, 2026
45c269d
perf(chat): gate the composer ripple when idle (PR #40 review)
m-szymanska Jul 2, 2026
1dd4ab3
fix(bridge): continue forwarding on broadcast Lagged (PR #40 review)
m-szymanska Jul 2, 2026
03884c6
fix(bridge): seed hotkeys without Keychain population (PR #40 review)
m-szymanska Jul 2, 2026
9e384a9
refactor(controller): simplify rotate result to map (PR #40 review)
m-szymanska Jul 2, 2026
993ad79
fix(bridge): push fresh Config into the live controller on settings w…
m-szymanska Jul 2, 2026
05e063b
fix(bridge): honor the assistive prompt and token cap in chat sends (…
m-szymanska Jul 2, 2026
875e6ed
fix(bridge): skip structural keys when flattening thread text (PR #40…
m-szymanska Jul 2, 2026
38836b4
fix(presentation): apply phase1 tail patches to the delivered transcr…
m-szymanska Jul 2, 2026
3f5884d
fix(stt): require a resolvable Apple bridge before auto-selecting it …
m-szymanska Jul 2, 2026
399dc21
fix(config): honor env overrides in tray toggles (PR #40 review)
m-szymanska Jul 2, 2026
e35409c
fix(export): preserve Markdown line breaks in thread export (PR #40 r…
m-szymanska Jul 2, 2026
758f0b9
perf(selection): defer the AX length probe to the fallback branch (PR…
m-szymanska Jul 2, 2026
5e23baa
perf(onboarding): early-return the setup check outside app bundles (P…
m-szymanska Jul 2, 2026
8edbff6
fix(badge): cancel queued hold-badge shows after stop (PR #40 review)
m-szymanska Jul 2, 2026
057ed8f
[codex/vc-workflow] docs(env): register lane provider envs
Szowesgad Jul 2, 2026
7b6c766
[codex/vc-workflow] docs: align public launch paths
Szowesgad Jul 2, 2026
c43a1ec
[codex/vc-workflow] feat(llm): Anthropic Messages formatting backend …
Szowesgad Jul 2, 2026
3e38376
[codex/vc-workflow] feat(auth): add account auth foundation
Szowesgad Jul 2, 2026
8d74828
[codex/vc-workflow] feat(llm): add provider account auth mode
Szowesgad Jul 2, 2026
c3d6eec
[codex/vc-workflow] feat(settings): surface ChatGPT account login gate
Szowesgad Jul 2, 2026
0ab8607
Merge pull request #40 from vetcoders/refactor/excise-legacy-appkit-ui
Szowesgad Jul 3, 2026
a616010
fix(hotkeys): re-arm CGEventTap after first-run permission grant
m-szymanska Jul 3, 2026
c14f6c9
fix(hotkeys): drop Keychain read from the settings-write hotkey reload
m-szymanska Jul 3, 2026
a046082
feat(overlay): slim down the dictation overlay and fix corner clipping
m-szymanska Jul 3, 2026
bb7ce17
fix(settings): keep the sidebar brand header on one line
m-szymanska Jul 3, 2026
d03a80f
feat(settings): render prompts as markdown in a view/edit toggle
m-szymanska Jul 3, 2026
5022c85
fix(chat): stop follow-tail from fighting manual scroll during a stream
m-szymanska Jul 3, 2026
3f81faa
feat(tray): confirm history/last-transcript copy with a "Copied" banner
m-szymanska Jul 3, 2026
3966ed0
feat(agent): publish voice-assistive replies on a delivery broadcast
m-szymanska Jul 3, 2026
4e7ccb6
feat(agent): render voice-assistive replies live in SwiftUI chat
m-szymanska Jul 3, 2026
3883629
Merge branches 'fix/hotkey-hygiene', 'feat/ui-polish' and 'feat/agent…
m-szymanska Jul 3, 2026
181ba74
feat(composer): voice-note dictation in the agent chat composer
m-szymanska Jul 3, 2026
9883f8d
Merge branch 'feat/composer-dictation' into wip/session-integration
m-szymanska Jul 3, 2026
3e741f1
feat(design): add CSIcon icon system + Phosphor dependency
m-szymanska Jul 3, 2026
edd7ab5
feat(tray): migrate tray icons to CSIcon
m-szymanska Jul 3, 2026
73f701b
fix(tray): show-agent icon reads as a conversation, not a square
m-szymanska Jul 3, 2026
47c215b
feat(design): expand CSIcon vocabulary for the remaining screens
m-szymanska Jul 3, 2026
6c8f950
feat(chat): migrate agent-chat icons to CSIcon
m-szymanska Jul 3, 2026
13274ed
feat(settings): migrate settings icons to CSIcon
m-szymanska Jul 3, 2026
9ba0674
feat(overlay): migrate overlay + onboarding icons to CSIcon
m-szymanska Jul 3, 2026
4d4c097
feat(chat): capture code-fence language in the block model
m-szymanska Jul 3, 2026
11c2d7b
feat(chat): syntax-highlight finalized code blocks with the brand theme
m-szymanska Jul 3, 2026
c64671d
feat(design): phosphor-first icon mapping
m-szymanska Jul 3, 2026
bc3ee8e
fix(design): pin Phosphor icon size so a menu label can't blow it up
m-szymanska Jul 3, 2026
53b4fbc
fix(chat): finalize stale voice turn before opening a new one
m-szymanska Jul 3, 2026
a39b6a4
fix(tray): pin status-clear tasks to the main actor
m-szymanska Jul 3, 2026
66bac6c
fix(design): rasterize Phosphor glyphs so AppKit control labels size …
m-szymanska Jul 3, 2026
6769cd4
Merge branch 'feat/syntax-highlighting' into integration/icons-and-hi…
m-szymanska Jul 3, 2026
e1d374f
fix(overlay): distinct transcribing state after capture ends
m-szymanska Jul 3, 2026
1444d63
fix(bridge): forward the busy state so the overlay can show transcribing
m-szymanska Jul 3, 2026
b3048d6
fix(recording): stop composer voice-note auto-silencing and honour la…
m-szymanska Jul 3, 2026
0f5a7a5
fix(overlay): fit text at min size and surface the transcribing label
m-szymanska Jul 3, 2026
ac381cb
fix(recording): compose composer voice-note return from finalized utt…
m-szymanska Jul 3, 2026
4b91c1d
fix(overlay): dedicated no-speech outcome instead of an empty FINAL
m-szymanska Jul 3, 2026
92da7d4
fix(recording): final-pass quality for composer voice-note
m-szymanska Jul 3, 2026
f3c4efd
fix(chat): make tool activity selectable and copyable
m-szymanska Jul 4, 2026
0037c7a
feat(design): per-surface text scale plumbing
m-szymanska Jul 4, 2026
2b78bf0
feat(overlay+chat): scale text with Cmd+/-/0 per surface
m-szymanska Jul 4, 2026
8db00ae
feat(agent): review-tool doctrine and connector fallback in system pr…
m-szymanska Jul 4, 2026
3e0d328
fix(export): attribute tool results to tools, not the user
m-szymanska Jul 4, 2026
a243667
feat(mcp): capture initialize handshake identity in server probe
m-szymanska Jul 4, 2026
a7ae9f2
feat(settings): per-server MCP health probe in Engine panel
m-szymanska Jul 4, 2026
ed9afc5
Merge branches 'feat/agent-review-doctrine', 'feat/mcp-readiness-prob…
m-szymanska Jul 4, 2026
2a4c10f
(#42) Merge pull request #42 from vetcoders/integration/post-pr40-fol…
m-szymanska Jul 5, 2026
0c49710
fix(chat): normalize highlight language hints (PR #43 review)
m-szymanska Jul 5, 2026
4deb1a0
fix(chat): parse fence info whitespace broadly (PR #43 review)
m-szymanska Jul 5, 2026
9fdc4af
fix(overlay): honor no-speech adjudication (PR #43 review)
m-szymanska Jul 5, 2026
d8952f8
fix(chat): guard async code highlighting results (PR #43 review)
m-szymanska Jul 5, 2026
4613b28
fix(chat): pin agent window to dark scheme (PR #43 review)
m-szymanska Jul 5, 2026
0c5c0d8
Merge pull request #45 from vetcoders/integration/icons-and-highlighting
m-szymanska Jul 5, 2026
29f222e
Merge pull request #44 from vetcoders/integration/agent-dogfood-harde…
m-szymanska Jul 5, 2026
b94daa1
feat(bridge): publish tray status to Swift
m-szymanska Jul 5, 2026
d102c8e
feat(stt): bundle Apple STT bridge into app
m-szymanska Jul 5, 2026
c33f0a9
feat(tray): render live menu bar status
m-szymanska Jul 5, 2026
041eb2a
fix(stt): mark Apple bridge override unset by default
m-szymanska Jul 5, 2026
56ba756
feat(chat): render voice reasoning and pending tools
m-szymanska Jul 5, 2026
d187a7b
feat(overlay): icon-only action row below width threshold
m-szymanska Jul 5, 2026
882397e
feat(composer): live dictation preview and attachment metadata
m-szymanska Jul 5, 2026
ddf8abd
refactor(app): rename CodescribeRedesignApp to CodescribeApp
m-szymanska Jul 5, 2026
b9e8ca6
refactor(os): rebuild hold badge on non-activating NSPanel
m-szymanska Jul 5, 2026
066d62a
feat(os): show processing badge during transcript finalization
m-szymanska Jul 5, 2026
4f2b55a
fix(bridge): serialize tray listener test (PR #46 review)
m-szymanska Jul 5, 2026
c07cf6b
fix(bridge): avoid cloning tray listener lock (PR #46 review)
m-szymanska Jul 5, 2026
2af2028
fix(chat): bound message list tail signature (PR #46 review)
m-szymanska Jul 5, 2026
9463b29
fix(build): soft-skip Apple STT helper on unsupported SDKs (PR #46 re…
m-szymanska Jul 5, 2026
95ff95d
fix(chat): preserve attachment-only user turns on reload (PR #46 review)
m-szymanska Jul 5, 2026
a6cb8ff
fix(os): clear thermal tray state on recovery (PR #46 review)
m-szymanska Jul 5, 2026
a7af3c0
fix(app): raise passive agent reveal without activation (PR #46 review)
m-szymanska Jul 5, 2026
71e9654
fix(tray): ignore stale tray status generations (PR #46 review)
m-szymanska Jul 5, 2026
a065b3f
fix(bridge): keep transient hotkey blocks out of tray warning (PR #46…
m-szymanska Jul 5, 2026
149e0c7
Merge pull request #46 from vetcoders/integration/backlog-round1
m-szymanska Jul 5, 2026
211acbf
fix(tray): drop explicit returns from preview builders (release build)
m-szymanska Jul 5, 2026
464fdb8
fix(tray): gate tray previews behind DEBUG (release build)
m-szymanska Jul 5, 2026
1f8aa1b
Merge pull request #47 from vetcoders/fix/tray-preview-release-build
m-szymanska Jul 5, 2026
abf103d
feat(settings): explain work modes and badge colors
m-szymanska Jul 5, 2026
19de37a
feat(tray): purple accent for assistive sessions
m-szymanska Jul 5, 2026
9cea71f
feat(settings): split assistive chat and selection copy
m-szymanska Jul 5, 2026
70cbae7
docs(hotkeys): correct HOLD_EXCLUSIVE default
m-szymanska Jul 5, 2026
5570ea7
feat(tray): configure UI recording start mode
m-szymanska Jul 5, 2026
0781130
fix(tray): static menu bar icon with colored status dot
m-szymanska Jul 5, 2026
3cad598
fix(overlay): keep the live transcript tail visible while recording
m-szymanska Jul 5, 2026
8ece1c2
fix(config): drop redundant runtime env write for tray start mode (PR…
m-szymanska Jul 5, 2026
9db4619
fix(tray): treat Starting as assistive-visible to avoid dictation fla…
m-szymanska Jul 5, 2026
4470e2f
fix(tray): guard re-entrant toggleDictation while starting (PR #48 re…
m-szymanska Jul 5, 2026
f84f125
fix(overlay): defer transcript tail scroll past layout pass (PR #48 r…
m-szymanska Jul 5, 2026
dd7ad15
Merge pull request #48 from vetcoders/feat/assistive-discoverability
m-szymanska Jul 5, 2026
46cb34d
fix(threads): persist canonical text blocks in legacy fallback
m-szymanska Jul 5, 2026
11de59e
fix(threads): tolerate OpenAI text alias blocks
m-szymanska Jul 5, 2026
31b5cda
feat(settings): add API key liveness probes
m-szymanska Jul 6, 2026
c8b4e9e
fix(threads): rebuild stale index summaries on load (PR #49 review)
m-szymanska Jul 6, 2026
ac6e4b5
fix(threads): decode legacy text aliases on restore (PR #49 review)
m-szymanska Jul 6, 2026
f0524e4
chore(threads): annotate store-owned read_dir for semgrep (PR #49 rev…
m-szymanska Jul 6, 2026
c7f98a9
Merge pull request #49 from vetcoders/fix/thread-block-shapes
m-szymanska Jul 6, 2026
c9a81c8
fix(settings): pin Anthropic probe to Anthropic models (PR #50 review)
m-szymanska Jul 6, 2026
22b1113
fix(settings): skip Anthropic models when resolving OpenAI probe mode…
m-szymanska Jul 6, 2026
c930948
fix(settings): classify Anthropic billing errors as NoQuota (PR #50 r…
m-szymanska Jul 6, 2026
eeb7b39
fix(settings): disable key Test button when key is not set (PR #50 re…
m-szymanska Jul 6, 2026
6fb883b
Merge pull request #50 from vetcoders/feat/api-key-liveness
m-szymanska Jul 6, 2026
f5dc2ce
fix(threads): do not persist legacy fallback thread when formatter fa…
m-szymanska Jul 6, 2026
72f3f23
feat(onboarding): guide MCP setup instead of dead end
m-szymanska Jul 6, 2026
384ce9a
feat(settings): reset app data with optional key removal
m-szymanska Jul 6, 2026
241bcfc
Merge pull request #51 from vetcoders/fix/no-persist-failed-fallback
m-szymanska Jul 6, 2026
ca6dc2f
Merge pull request #52 from vetcoders/feat/mcp-onboarding-and-reset
m-szymanska Jul 6, 2026
2d86175
fix(onboarding): surface MCP setup prompt when config is absent (PR #…
m-szymanska Jul 6, 2026
0390d96
Merge pull request #53 from vetcoders/fix/mcp-setup-prompt-visibility
m-szymanska Jul 6, 2026
bed6b90
fix(onboarding): open Settings via SwiftUI openSettings action (PR #5…
m-szymanska Jul 6, 2026
8ebe53e
Merge pull request #54 from vetcoders/fix/mcp-setup-deeplink
m-szymanska Jul 6, 2026
3785bf2
[codex/vc-implement] test(bench): add reproducible STT baseline bench…
Szowesgad Jul 6, 2026
a877324
[codex/vc-implement] perf(stt): tune scheduler latency governor
Szowesgad Jul 6, 2026
a0cda85
[codex/vc-implement] feat(stt): seed Whisper with domain prompt
Szowesgad Jul 6, 2026
2516e17
[codex/vc-implement] test(bench): harden STT bench repo root detection
Szowesgad Jul 6, 2026
4171464
[codex/vc-implement] fix(gates): restore clippy and tee exits
Szowesgad Jul 6, 2026
6fff0ee
[codex/vc-implement] test(bench): measure STT real scheduler path
Szowesgad Jul 6, 2026
31cceeb
[codex/vc-implement] fix(stt): gate Whisper prompt by default
Szowesgad Jul 6, 2026
356b629
[codex/vc-implement] test(bench): add STT prompt trim knob
Szowesgad Jul 6, 2026
7d3f2fc
[codex/vc-implement] docs(config): sync env registry defaults
Szowesgad Jul 6, 2026
5e149b0
[codex/vc-implement] fix(postprocess): skip unsafe custom word rewrites
Szowesgad Jul 6, 2026
f1cf35d
[codex/vc-implement] fix(streaming): tune buffered utterance silence
Szowesgad Jul 6, 2026
ba25e0f
fix(controller): reset session fields in stuck-stop recovery
Jul 9, 2026
2c62786
fix(controller): add stuck-stop watchdog to hold recording path
Jul 9, 2026
22f9bdc
test(bridge): serialize hotkey tests sharing process state
Jul 9, 2026
9fa93d4
fix(config): keep keychain enabled when CODESCRIBE_DATA_DIR is set
Jul 9, 2026
445c94a
fix(overlay): run full stop path on warmup watchdog and error
Jul 9, 2026
0a2f535
fix(config): classify HTTP 4xx as key verdict, not network error, in …
Jul 9, 2026
8b384f6
fix(controller): surface transcription failure to the user
Jul 9, 2026
1017945
fix(controller): persist formatted transcript before paste
Jul 9, 2026
6603b6a
fix(scripts): make model download non-interactive in CI
Jul 9, 2026
a6f3c70
fix(make): propagate test exit codes in remaining test targets
Jul 9, 2026
9237158
docs(examples): sync README with actual examples
Jul 9, 2026
b44bba7
docs: fix brand casing in NOTICE
Jul 9, 2026
b059418
docs(changelog): add entries for recent merged PRs
Jul 9, 2026
2c628fc
ci(rust): enable clippy and test job
Jul 9, 2026
e2edcc8
chore(tests): suppress semgrep false positive in bench manifest helper
Jul 9, 2026
63befea
chore(tests): suppress semgrep false positive in bench manifest helper
Jul 9, 2026
9ab81e6
fix(connectors): apply clippy question-mark suggestion in github sour…
Jul 9, 2026
6e005de
fix(lint): satisfy clippy on current stable toolchain
Jul 9, 2026
3c49255
fix(lint): use ? operator in github source parser
Jul 9, 2026
eafac48
fix(lint): satisfy clippy on current stable toolchain
Jul 9, 2026
42b2379
Merge remote-tracking branch 'origin/develop' into fix/runtime-hardening
Szowesgad Jul 9, 2026
70f164c
[codex/vc-implement] fix(overlay): persist transcription error state
Szowesgad Jul 9, 2026
9cc1187
Merge pull request #55 from vetcoders/fix/runtime-hardening
Szowesgad Jul 9, 2026
be0d51b
Merge remote-tracking branch 'origin/develop' into chore/devex-docs-p…
Szowesgad Jul 9, 2026
d846a83
[codex/vc-implement] test: tolerate stop timeout rounding
Szowesgad Jul 9, 2026
8e7ad2c
[codex/vc-implement] test: skip unsupported clipboard in CI
Szowesgad Jul 9, 2026
f01d6af
Merge pull request #56 from vetcoders/chore/devex-docs-polish
Szowesgad Jul 9, 2026
fdf0e21
fix(ci): pin Rust Quality jobs to macOS self-hosted runner
Jul 10, 2026
dd34cf6
test(audio): skip no-speech corpus artifacts in VAD segmentation test
Jul 10, 2026
5a826a8
fix(pipeline): cap correction window growth
m-szymanska Jul 10, 2026
3f93c23
[codex/vc-implement] fix(audio): make recorder auto-silence opt-in
m-szymanska Jul 10, 2026
3e72414
fix(pipeline): separate refine stale guard boundary rev
m-szymanska Jul 10, 2026
209f146
fix(agent): persist inline images as disk-backed assets across turns
Jul 10, 2026
e5a7e95
fix(audio): bound recorder streaming buffer
m-szymanska Jul 10, 2026
60d1c5a
[codex/vc-review] test: cover skipped terminal audio artifacts
Szowesgad Jul 10, 2026
f445aac
fix(pipeline): tighten sink boundaries and quality gate stats
m-szymanska Jul 10, 2026
4501e58
Merge pull request #57 from vetcoders/fix/ci-pin-macos-runner
Szowesgad Jul 10, 2026
24927fd
fix(agent): abort in-flight turn on cancellation
Jul 10, 2026
5822337
fix(agent): signal fatal errors through throw only
m-szymanska Jul 10, 2026
4f4445e
fix(macos): consume settings deep links reactively
m-szymanska Jul 10, 2026
c5ee47f
fix(stt): populate Apple SpeechAnalyzer segments
m-szymanska Jul 10, 2026
ba36984
fix(macos): surface composer dictation engine errors and leave record…
m-szymanska Jul 10, 2026
63dc786
chore(macos): guard #Preview blocks with #if DEBUG
m-szymanska Jul 10, 2026
d366842
fix(stt): preserve whisper text integrity
m-szymanska Jul 10, 2026
8fdbec1
fix(config): stop runtime env writes from settings paths
m-szymanska Jul 10, 2026
e026dbe
fix(stt): prioritize commit lane under critical thermal
m-szymanska Jul 10, 2026
9bb6338
fix(config): keep env migration retryable on key save failure
m-szymanska Jul 10, 2026
a630af6
fix(bridge): return CsError for account login runtime init
m-szymanska Jul 10, 2026
56d3a9f
fix(bench): default to reproducible repo corpus and stamp fixture_source
m-szymanska Jul 10, 2026
3615c73
chore(vad): remove dead ensure_downloaded_to_user_dir install path
m-szymanska Jul 10, 2026
4282b52
fix(controller): derive stop-timeout warnings from the STOP_TIMEOUT c…
m-szymanska Jul 10, 2026
72da7e7
chore(controller): remove unused VAD trigger accessors
m-szymanska Jul 10, 2026
26f1cee
fix(audio): avoid streaming buffer front drain
m-szymanska Jul 10, 2026
7965e4d
fix(pipeline): count semantic gate drops on finals
m-szymanska Jul 10, 2026
f17c990
refactor(pipeline): call quality hallucination gate directly
m-szymanska Jul 10, 2026
a5b84ff
fix(audio): keep vad stop callback inert when disabled
m-szymanska Jul 10, 2026
b96dff5
Merge branch 'fix/backlog-batch-1' into fix/backlog-batch-2
Jul 10, 2026
8ca8242
fix(stt): clamp overlapping apple speech segments
m-szymanska Jul 10, 2026
63b4918
fix(stt): preserve raw whisper text across harmless normalization
m-szymanska Jul 10, 2026
5035f99
fix(macos): avoid redundant settings deeplink notifications
m-szymanska Jul 10, 2026
2393f88
fix(build): avoid empty cargo flag array in app build
m-szymanska Jul 10, 2026
39d864a
Merge branch 'fix/backlog-batch-2' into fix/backlog-batch-3
Jul 10, 2026
e39e6f8
[codex/vc-review] fix(audio): remove unsafe auto silence test env guard
Szowesgad Jul 10, 2026
40ee00b
Merge pull request #58 from vetcoders/fix/backlog-batch-1
Szowesgad Jul 10, 2026
4c7600c
Merge pull request #60 from vetcoders/fix/backlog-batch-3
m-szymanska Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .aiassistant/rules/all-the-code-is-OURS.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ przyjmujesz zasadę: "All the code is ours"
konfigurację
lub (w ostateczności!) dostarcz jasny, udokumentowany workaround.

„All the code is ours” — traktuj całe repo VetCoders jak własne i wspólne: jeśli coś nie działa (lint/testy/build/UX),
„All the code is ours” — traktuj całe repo vetcoders jak własne i wspólne: jeśli coś nie działa (lint/testy/build/UX),
nie szukaj winnego ani „czyjego to plik”, tylko bierz ownership, zdiagnozuj przyczynę, napraw to minimalnie i trwale,
dodaj test zabezpieczający i doprowadź projekt do zielonego stanu. Pamiętaj: kodujemy dla lekarzy weterynarii —
stabilność, przewidywalność i brak regresji są ważniejsze niż wymówki i skróty.
6 changes: 3 additions & 3 deletions .env.debug.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CodeScribe Env Debug / Developer (exhaustive)
# Codescribe Env Debug / Developer (exhaustive)
# Copy to ~/.codescribe/.env or point via CODESCRIBE_ENV_PATH
# This file lists ALL known env vars used by CodeScribe (runtime + build + tests).
# This file lists ALL known env vars used by Codescribe (runtime + build + tests).
# Values shown are safe defaults/examples. Remove what you don't need.

# =============================================================================
Expand All @@ -25,7 +25,7 @@
# CODESCRIBE_MODEL_PATH=/path/to/model # Override embedded model
LOCAL_MODEL=whisper-large-v3-turbo-mlx-q8 # Local model name (if multiple)
WHISPER_MODEL=mlx-community/whisper-large-v3-mlx # External HF model name
WHISPER_LANGUAGE=pl # pl | en (auto maps to pl)
WHISPER_LANGUAGE=auto # auto | pl | en
USE_LOCAL_STT=1 # 1=prefer local, 0=cloud only
# CODESCRIBE_MODEL_DIR=... # Set by build.rs (internal)

Expand Down
23 changes: 19 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CodeScribe — OPTIONAL power-user overrides (~/.codescribe/.env)
# Codescribe — OPTIONAL power-user overrides (~/.codescribe/.env)
#
# You do NOT need this file. settings.json (managed by the GUI) is the source of
# truth and can express every setting below. This file is only a power-user
Expand All @@ -19,10 +19,13 @@
# USE_LOCAL_STT=1
# LOCAL_MODEL=whisper-large-v3-turbo-mlx-q8
# WHISPER_MODEL=whisper-large-v3-turbo-mlx-q8
# WHISPER_LANGUAGE=pl
# WHISPER_LANGUAGE=auto
# CODESCRIBE_TOGGLE_FINAL_PASS=1 # 0 = restore preview-only toggle stop path
# CODESCRIBE_WHISPER_INITIAL_PROMPT=CodeScribe, LibraxisAI, Docker, GitHub
# CODESCRIBE_LAYERED_TRANSCRIPTION=off # off | phase1 | phase2 | phase3 | phase4
# CODESCRIBE_WHISPER_INITIAL_PROMPT=Codescribe, LibraxisAI, Docker, GitHub
# CODESCRIBE_STT_INITIAL_PROMPT_ENABLED=0 # 1 = opt in to runtime lexicon initial_prompt
# CODESCRIBE_MODEL_PATH=/path/to/whisper/model # runtime fallback / dev override
# CODESCRIBE_WHISPER_IDLE_UNLOAD_SECS=300 # unload Whisper from GPU/host memory after N s idle (0 = never)

# =============================================================================
# CLOUD STT (OPTIONAL)
Expand Down Expand Up @@ -76,7 +79,7 @@
# =============================================================================
# QUICK_NOTES_ENABLED=0
# QUICK_NOTES_SAVE_ONLY=0
# CODESCRIBE_NOTES_DIR=~/Git/vista/notes
# CODESCRIBE_NOTES_DIR=~/Documents/notes

# =============================================================================
# AI FORMATTING / ASSISTIVE
Expand All @@ -89,6 +92,7 @@
# AI_MAX_TOKENS=1200
# AI_ASSISTIVE_MAX_TOKENS=2000
# AGENT_ENTER_SENDS=1
# AGENT_WORKSPACE_ROOTS=~/Git # colon-separated roots the agent's list_projects tool scans

# Shared LLM defaults (endpoints/models are config; keys live in Keychain)
# LLM_ENDPOINT=https://api.openai.com/v1/responses
Expand All @@ -109,11 +113,13 @@

# Assistive overrides
# LLM_ASSISTIVE_ENDPOINT=https://api.openai.com/v1/responses
# LLM_ASSISTIVE_PROVIDER=openai-responses # openai-responses | anthropic-messages
# LLM_ASSISTIVE_MODEL=gpt-5.5
# LLM_ASSISTIVE_TEMPERATURE=0.3

# Formatting overrides
# LLM_FORMATTING_ENDPOINT=https://api.openai.com/v1/responses
# LLM_FORMATTING_PROVIDER=openai-responses # openai-responses | anthropic-messages
# LLM_FORMATTING_MODEL=gpt-4.1
# LLM_FORMATTING_TEMPERATURE=0.1

Expand Down Expand Up @@ -145,9 +151,18 @@
# CODESCRIBE_STREAM_NOVELTY=0.20
# CODESCRIBE_STREAM_DISABLE_EMBEDDINGS=1
# CODESCRIBE_STREAM_FORCE_EMBEDDINGS=1
# CODESCRIBE_EMBEDDER_IDLE_UNLOAD_SECS=300 # unload MiniLM embedder from GPU/host memory after N s idle (0 = never)
# CODESCRIBE_STREAM_LEXICON=1
# CODESCRIBE_STREAM_LOG=1
# CODESCRIBE_STREAM_LOG_PATH=/tmp/codescribe_stream.log
# CODESCRIBE_STT_THERMAL_GOVERNOR_ENABLED=1
# CODESCRIBE_STT_MIN_INFER_INTERVAL_MS=90
# CODESCRIBE_STT_COMMIT_MIN_INTERVAL_MS=180
# CODESCRIBE_STT_REFINE_MIN_INTERVAL_MS=240
# CODESCRIBE_STT_THERMAL_NOMINAL_MULT=0.0
# CODESCRIBE_STT_THERMAL_FAIR_MULT=1.0
# CODESCRIBE_STT_THERMAL_SERIOUS_MULT=2.0
# CODESCRIBE_STT_THERMAL_CRITICAL_MULT=4.0

# =============================================================================
# VAD (SILERO)
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Bug report
about: Report a reproducible defect in CodeScribe
about: Report a reproducible defect in codescribe
title: "[bug] "
labels: ["bug", "triage"]
assignees: []
Expand All @@ -12,7 +12,7 @@ Describe the defect in one or two sentences.

## Environment

- CodeScribe version:
- Codescribe version:
- macOS version:
- Device (Apple Silicon model):
- Install mode (`make install`, `.app`, other):
Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ What changed, and why?

## User Impact

What does this improve or prevent for a real CodeScribe user?
What does this improve or prevent for a real codescribe user?

## Runtime Impact

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ jobs:
name: Build landing artifact
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/configure-pages@v5
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5
with:
enablement: true
- uses: actions/upload-pages-artifact@v3
- uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
path: docs/landing

Expand All @@ -39,4 +39,4 @@ jobs:
needs: build
steps:
- id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
21 changes: 15 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,20 @@ jobs:
name: Build, notarize, and publish DMG
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
ref: ${{ inputs.tag_name || github.ref }}

- uses: dtolnay/rust-toolchain@stable
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable

- name: Install XcodeGen
# scripts/build-app.sh preflights `require xcodegen` — the app's
# .xcodeproj is generated, not committed, so the release runner needs it
# or the DMG build dies before xcodebuild. (cargo, uniffi-bindgen and
# xcodebuild are already provided: rust-toolchain installs cargo,
# uniffi-bindgen is built from `cargo build -p codescribe-ffi`, and
# xcodebuild ships with the macOS runner image.)
run: brew install xcodegen

- name: Validate signing secrets
env:
Expand Down Expand Up @@ -62,7 +71,7 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
run: |
xcrun notarytool store-credentials "CodeScribeNotary" \
xcrun notarytool store-credentials "CodescribeNotary" \
--apple-id "$APPLE_ID" \
--team-id "$APPLE_TEAM_ID" \
--password "$APPLE_APP_SPECIFIC_PASSWORD"
Expand All @@ -71,12 +80,12 @@ jobs:
env:
CODESCRIBE_CODESIGN_IDENTITY: ${{ secrets.CODESCRIBE_CODESIGN_IDENTITY }}
CODESCRIBE_BUNDLE_ID: ${{ vars.CODESCRIBE_BUNDLE_ID || 'com.vetcoders.codescribe' }}
NOTARY_PROFILE: CodeScribeNotary
NOTARY_PROFILE: CodescribeNotary
run: make release-dmgs

- name: Publish GitHub release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65 # v2
with:
tag_name: ${{ inputs.tag_name || github.ref_name }}
files: CodeScribe_*.dmg
files: Codescribe_*.dmg
generate_release_notes: true
50 changes: 32 additions & 18 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Rust Code Quality CI
# Created by M&K (c)2026 VetCoders
# Created by Vetcoders (c)2026
#
# NOTE: Full build requires macOS with Swift 6.0 (CoreML, Metal).
# GitHub runners have Swift 5.10, so we only run format checks here.
# Full quality gate (clippy, tests) runs locally via: make check
# Or via pre-commit hooks: make hooks
# Runs on self-hosted macOS runners (Swift 6.0 / CoreML / Metal available).
# format: cargo fmt --check
# quality: cargo clippy -D warnings + cargo test (workspace).
# Full local gate (incl. real-API / heavy e2e tests) still via: make check

name: Rust Quality

Expand All @@ -24,24 +24,38 @@ env:
jobs:
format:
name: Format Check
runs-on: self-hosted
runs-on: [self-hosted, macOS]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- uses: dtolnay/rust-toolchain@stable
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
with:
components: rustfmt

- name: cargo fmt --check
run: cargo fmt --all -- --check

# NOTE: clippy and check disabled - requires macOS + Swift 6.0
# Run locally: make lint
#
# To enable full CI, use a self-hosted macOS runner:
# quality:
# runs-on: [self-hosted, macos, arm64]
# steps:
# - uses: actions/checkout@v4
# - run: cargo clippy -- -D warnings
# - run: cargo test --lib
quality:
name: Clippy + Tests
runs-on: [self-hosted, macOS]
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
with:
components: clippy

- name: cargo clippy --workspace --all-targets -- -D warnings
run: cargo clippy --workspace --all-targets -- -D warnings

# Runs the default (non-#[ignore]) workspace test set.
# CODESCRIBE_DISABLE_KEYCHAIN=1: keychain-backed tests must bypass the
# macOS Keychain (no interactive unlock / signed host on the runner) —
# see core/config/keychain.rs and the Makefile `test` target.
# #[ignore]-gated tests (real LLM APIs, Whisper/STT models, audio devices,
# live SSE) are intentionally NOT run here — they need secrets/hardware
# absent on CI and stay behind `make test` / `make test-e2e-real` locally.
- name: cargo test --workspace
env:
CODESCRIBE_DISABLE_KEYCHAIN: "1"
run: cargo test --workspace
2 changes: 1 addition & 1 deletion .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: self-hosted

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Install Semgrep
shell: bash
Expand Down
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ dist/
*.app/
target-noembed/

# Cargo lockfile (per latest GitHub security recommendations for libraries/apps)
Cargo.lock
# Cargo.lock is tracked for reproducible app builds and cargo-audit evidence.
__pycache__/
*.pyc
.venv/
Expand Down Expand Up @@ -65,7 +64,7 @@ nohup.out.backup
*codex*
/agents

# CodeScribe
# Codescribe
.codescribe/state/
codescribe_memory_*.md
codescribe_memory_*.json
Expand Down
15 changes: 12 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Pre-commit hooks for CodeScribe (Pure Rust)
# Install: pipx install pre-commit && pre-commit install --hook-type pre-commit --hook-type pre-push
# Pre-commit hooks for Codescribe (Pure Rust)
# Install: pipx install pre-commit && make hooks
# Run: pre-commit run --all-files
#
# Created by M&K (c)2026 VetCoders
# Created by Vetcoders (c)2026

minimum_pre_commit_version: "3.5.0"

Expand Down Expand Up @@ -62,3 +62,12 @@ repos:
language: system
pass_filenames: false
stages: [pre-push]

# Commit provenance (commit-msg stage)
- repo: local
hooks:
- id: commit-msg-provenance
name: commit message provenance
entry: scripts/commit-msg-provenance.sh
language: system
stages: [commit-msg]
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
**/.venv/**
**/.DS_Store
**/claude_memory_*.md
**/CodeScribe_memory_*.md
**/Codescribe_memory_*.md
**/node_modules/**
**/target/**
**/target-noembed/**
Expand Down
Loading
Loading