You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
What's Changed
test(settings): Pin the Director tab's reset on open by @omesser in #535
feat(settings): Add Development knobs for the Harness attachment by @omesser in #537
fix(settings): Stop offering consent rows Linux cannot grant by @omesser in #538
docs: Naming/terminology review against CONTEXT.md glossary by @omesser in #532
feat(settings): Pick the Completer endpoint from a list, or type one by @omesser in #520
feat(settings): Capturable by default; Presence checkbox to hide from shares by @omesser in #512
feat(harness): Remember one ACP session per Character Instance by @omesser in #560
docs: reflect shipped Harness ACP Completer and MCP server in alternatives.md by @omesser in #557
feat(harness): Show a Harness's thinking while a turn runs by @omesser in #540
feat(chat): Say which mind answers in the Chat header by @omesser in #550
docs: Research renderer choice and single-witness click detection by @omesser in #525
ci: Default new issues to milestone V1 by @omesser in #573
chore(windows): Bind every CString before handing Win32 its pointer by @omesser in #574
chore(deps): Bump rmcp from 3.1.4 to 3.2.0 by @dependabot[bot] in #571
chore(deps): Bump getrandom from 0.3.4 to 0.4.3 by @dependabot[bot] in #570
chore(deps): Bump dirs from 6.0.0 to 7.0.0 by @dependabot[bot] in #566
chore(deps): Bump actions/checkout from 4.4.0 to 7.0.1 by @dependabot[bot] in #564
ci: Drop the Chrome apt source before installing on Linux by @omesser in #575
feat(mcp): Relay the stdio MCP server to the running app by @omesser in #542
chore(deps): Bump actions/deploy-pages from 4.0.5 to 5.0.1 by @dependabot[bot] in #565
chore(deps): Bump actions/configure-pages from 5.0.0 to 6.0.0 by @dependabot[bot] in #567
chore(deps): Bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 by @dependabot[bot] in #568
chore(deps): Bump windows-sys from 0.59.0 to 0.61.2 by @dependabot[bot] in #569
docs: Say the Chat surface ships by @omesser in #578
feat(chat): Smooth Harness connect flow with auth states and branded buttons by @omesser in #563
docs(harness): Record opencode's verified standing by @omesser in #585
feat(chat): Ask the Instance by name in the composer by @omesser in #582
refactor(settings): Fix user-facing labels, keep Director as domain role by @omesser in #561
feat(harness): Name Grok Build, verify opencode, fix the probe's self-SIGKILL by @omesser in #587
refactor(ui): Share Chat and bubble tokens by @omesser in #586
feat(bubble): Ceiling-clamp UX when Speech covers the face by @omesser in #594
test(harness): Count quoted sample lines by phrasing by @omesser in #541
perf: Measure RSS and multi-monitor cost on macOS by @omesser in #590
docs: Explain the macOS Keychain prompt on update by @omesser in #576
docs(harness): Stop naming Gemini CLI as a Harness that attaches today by @omesser in #605
docs(harness): Keep probe diaries off the launch table by @omesser in #602
docs(research): Tell a model's reasoning from its final answer on the Completer lane by @omesser in #598
feat(bubble): Offer a way into Chat when a Speech turn does not fit by @omesser in #588
docs(research): Reflect verified grok in alternatives Harness row by @omesser in #622
chore: add pstack per-role model rule by @omesser in #624
test(skills): Add verify-ai-buddy project-local verification skill by @omesser in #627
test(harness): Drive the #588 Open chat click on Windows from the overlay region by @omesser in #621
docs(research): Cite model.rs by symbol, not by line by @omesser in #618
fix(director): Read the Behavior name past a Harness's own preamble by @omesser in #616
feat(harness): Reach Pi through the pi-acp adapter by @omesser in #628
feat(shell): Deliver first-run tour as Speech bubble, not Chat by @omesser in #592
fix(input): Take the double-click window from the OS, not our own constant by @omesser in #591
feat(chat): Plain-language status bar (and advanced ladder) by @omesser in #595
feat(director): Draw the Completer's reasoning as thinking, not as speech by @omesser in #615
feat(settings): Progressive disclosure data structures for everyday Settings by @omesser in #593
feat(director): Show a cap-ended reply as far as it got, marked by @omesser in #614
feat(director): Ask chat-completions for low reasoning effort, and drop it when refused by @omesser in #617
docs: add pi as named+verified Harness in alternatives.md (#628) by @omesser in #639
chore(scripts): Verify the macOS Settings window through the Accessibility API by @omesser in #626
feat(settings): Re-apply frozen when the macOS Settings source changes by @omesser in #635
perf: Add Linux and Windows RSS baseline scripts by @omesser in #600
refactor: Drop the flags that only fed the truncation marks by @omesser in #637
feat: ai-buddy-verify stone 0 (doctor/units/overlay/cleanup) by @omesser in #649
ci: One workspace cargo clippy in pre-commit by @omesser in #650
fix(chat): Keep the empty Instance Prompt field readable by @omesser in #643
fix(overlay): Draw the Character after a dropped named import by @omesser in #652
docs(adr): ADR-0027 ai-buddy-verify is the agent/CI verify entry by @omesser in #646
feat(director): A blank-AI mode that sends no Character Prompt by @omesser in #658
docs: Tell agents how to pick an issue off the board by @omesser in #653
fix(verify): Windows doctor finds cargo and ai-buddy.exe by @omesser in #651
feat(settings): Make the Completer's reasoning effort a Development setting by @omesser in #656
fix(macos): Draw the whole "What is this?" label by @omesser in #660
docs(research): Reflect verified pi in alternatives Harness row by @omesser in #640
fix(director): Swap in max_completion_tokens on a refusal by @omesser in #665
docs(windows): Name the real reason a shortcut picker is skipped by @omesser in #671
feat(engine): Land a dropped Prop on a Perch by @omesser in #666
feat(input): X11 idle optimization with XI2 events and two-clock scheduler by @omesser in #562
fix(settings): Let a composite popup declare the row it fills in by @omesser in #672
fix(harness): Name the login rather than spawn it by @omesser in #661
fix(harness): Let the login table outrank the handshake description by @omesser in #676
Revert "feat(engine): Land a dropped Prop on a Perch" by @omesser in #684
docs(research): Make the anchor govern the whole document by @omesser in #662
fix(harness): Reap a dropped Session off-thread by @omesser in #664
fix(harness): Tell a missing CLI from a dead child by @omesser in #673
docs(harness): Move the named codex row to verified standing by @omesser in #682
fix(director): Empty built-in prompts under Blank AI by @omesser in #693
fix(chat): Show what a permission ask is actually asking by @omesser in #694
docs(timber-wolf): Record MekaRamen permission and publish on the gallery by @omesser in #699
fix(harness): Open a new ACP session when the Instance Prompt changes by @omesser in #700
feat(chat): Connect buttons for hermes and pi by @omesser in #683
fix(director): Keep a reply's line breaks out of the bubble's ceiling by @omesser in #702
feat(harness): Split Model API and Harness turn budgets by @omesser in #695
fix(chat): Bound a typed line at 16000 in the field, not after Send by @omesser in #707
fix(harness): Cancel the ACP turn in flight when an Instance Prompt is saved by @omesser in #709
fix(chat): Do not report a missing answer after Speech landed by @omesser in #691
fix(chat): Keep the newlines in a paste to the composer by @omesser in #708
docs(research): BYO Harness MCP reconfiguration and reload by @omesser in #644
fix(consent): Ask proc_pidinfo for the flavor that reports a parent by @omesser in #711
refactor(consent): objc2 AX/CG, Windows Snapshot+Drop, forbid unsafe by @omesser in #696
fix(windows): Progressive disclosure reflows siblings and collapses height when closed by @omesser in #714
feat(agents): Vendor the pstack skill library for every agent, not just Cursor by @omesser in #688
feat(settings): Start a new session from the AI tab without changing Completer by @omesser in #712
feat(settings): Generate the MCP registration for a Harness you run yourself by @omesser in #599
feat(chat): Draw a reply's Markdown instead of its source by @omesser in #705
feat(shell): Open the Action Log from the tray, the way Memory opens by @omesser in #716
docs(adr): ADR-0028 bounds the Chat surface to what ACP sends by @omesser in #710
fix(harness): Filter Pi startup banner from dialogue by @omesser in #720
docs(adr): Name why no renderer is reusable in ADR-0028 by @omesser in #724
feat(frame-loop): Idle back-off for macOS/Windows (#183 Stage 2b) by @omesser in #718
feat(verify): Add first-class poke and summon subcommands by @omesser in #728
feat(settings): Serialize the form description and pin it with fixtures by @omesser in #729
docs(settings): ADR-0029, the webview spike, and its Linux evidence by @omesser in #725
refactor(settings): Move what a Settings gesture means into one testable module by @omesser in #731
fix(settings): Draw GTK FormRow::Popup as dropdown by @omesser in #719
fix(verify): Address a control that names itself, and isolate the run by @omesser in #739
fix(chat): Stop a session reset throwing before it says what happened by @omesser in #738
feat(settings): Render the Settings form description in a webview by @omesser in #734
perf(research): Benchmark CPU wakeups and idle C-state impact on macOS by @omesser in #733
docs(harness): Replace sunset Gemini CLI with Antigravity by @omesser in #717
docs(research): Record that prompting cannot register an MCP server by @omesser in #743
docs(spike): Would TypeScript make this webview safer? (#692) by @omesser in #742
fix(scripts): scope verify-overlay.sh's kills to its own ai-buddy by @omesser in #754
fix(verify): cache npx's Harness package outside the throwaway HOME by @omesser in #755
fix(settings): OpenCode BYO after-steps say restart, not /reload by @omesser in #756
docs(settings): Say why OpenCode registration needs a restart by @omesser in #757
perf(overlay): Stop redrawing and re-sending a sprite that has not moved by @omesser in #760
test(linux): Settings e2e + fill GTK renderer gaps by @omesser in #759
refactor(comments): Cut the multi-issue narration comments by @omesser in #763
feat(harness): Add Cursor CLI as a verified launch row by @omesser in #762
feat(settings): Add settings_event command for webview gestures by @omesser in #769
refactor(webview): Compact the webview, script and test comments by @omesser in #765
fix(windows): Settings no longer auto-opens on startup by @omesser in #767
chore(deps): bump uuid from 1.26.0 to 1.26.1 by @dependabot[bot] in #770
chore(deps): bump ureq from 3.4.0 to 3.4.1 by @dependabot[bot] in #771
chore(deps): bump toml_edit from 0.25.13+spec-1.1.0 to 0.25.15+spec-1.1.0 by @dependabot[bot] in #772
docs(harness): Research which Harness tools survive an ACP attach by @omesser in #669
feat(settings): Add Settings webview window behind AI_BUDDY_SETTINGS_WEBVIEW flag by @omesser in #773
fix(docs): research-anchors preamble for harness-native-tools note by @omesser in #792
build(hooks): Comment census script and newly-added-block ceiling hook by @omesser in #758
feat(settings): Add platform integration and keyboard shortcuts (Step 6) by @omesser in #774
fix(scripts): Restore why each README GIF picks the animation it does by @omesser in #775
docs(adr): Drop ADR-0022's hardcoded harness count by @omesser in #778
test(macos): Descend into the AXWebArea in the Settings AX dump by @omesser in #779
refactor(core): Compact the Engine's comments, remaining files (#747 slice 3) by @omesser in #780
feat(verify): Make exit codes, PROOF.md and --json one agent contract by @omesser in #781
feat(chat): Render the plan's steps and mark the current one by @omesser in #789
chore(git): Ignore the bun deps pstack's tools install by @omesser in #787
fix: strip HTML entities before matching issue citations by @omesser in #794
test(windows): Settings e2e + fill Win32 renderer gaps by @omesser in #768
fix(ci): Stop the Windows job reporting green over a failed test by @omesser in #795
docs(research): Measure which Harness tools survive an ACP attach by @omesser in #788
fix(settings): Alt-drag no longer moves the window from a label or textarea by @omesser in #793
fix(scripts): Gate tab and pick on the webview settle, not just dump by @omesser in #800
docs(verify): fix feature map doc drift by @omesser in #791
fix(verify): Pick from the webview menu the AX tree never publishes by @omesser in https://github.com//pull/801
perf(overlay): Arm rAF only on displays the character intersects by @omesser in https://github.com//pull/790
fix(settings): Raise Settings webview above the overlay by @omesser in https://github.com//pull/803
fix(verify): Find webview Settings window on Windows UIA by @omesser in https://github.com//pull/805
refactor(core): Compact Director and Character comments by @omesser in https://github.com//pull/807
refactor(core): Compact Engine comments by @omesser in https://github.com//pull/808
refactor(shell): Compact the Completer comments in model.rs by @omesser in https://github.com//pull/809
refactor(shell): Compact the harness and ACP wire comments by @omesser in https://github.com//pull/810
build(hooks): Detect Swift comment blocks by @omesser in https://github.com//pull/806
build(hooks): Delete check-comment-blocks and run ast-grep as the comment linter by @omesser in https://github.com//pull/813
fix(settings): Publish each row's name once, and look past a repeat of it by @omesser in https://github.com//pull/820
refactor(shell): Compact remaining shell and platform comments by @omesser in https://github.com//pull/814
docs(adr): Name ACP attach gates in ADR-0003 Consequences by @omesser in https://github.com//pull/818
docs(adr): Record that the Harness working directory is its project scope by @omesser in https://github.com//pull/819
docs(hooks): document PowerShell/TOML comment-ceiling gap by @omesser in https://github.com//pull/821
chore(scripts): Delete comment-census now that ast-grep lints comments by @omesser in https://github.com//pull/824
refactor(shell): Compact the frame loop and platform comments by @omesser in https://github.com//pull/816
refactor(shell): Compact the main.rs comments by @omesser in https://github.com//pull/815
docs(readme): Say which tool classes survive a Harness attach by @omesser in https://github.com//pull/825
fix(chat): Prompt layers, sticky-footer Save/Discard by @omesser in https://github.com//pull/826
feat(chat): Advertise ACP form elicitation by @omesser in https://github.com//pull/828
docs(research): Reflect verified cursor-agent in alternatives Harness row by @omesser in https://github.com//pull/835
fix(chat): Surface a missing Harness launcher on the landing by @omesser in https://github.com//pull/831
feat(harness): Attach in a directory the user configured by @omesser in https://github.com//pull/827
fix(harness): Compile after the cwd and data split by @omesser in https://github.com//pull/837
Add .codex/skills symlink by @omesser in https://github.com//pull/836
Revert "Add .codex/skills symlink" by @omesser in https://github.com//pull/840
fix: Correct the Codex skills symlink by @omesser in https://github.com//pull/841
Revert "fix: Correct the Codex skills symlink" by @omesser in https://github.com//pull/844
fix(settings): Keep Linux SettingsView.consent empty by @omesser in https://github.com//pull/829
docs(agents): Sign GitHub bodies with the Harness, not a Grok bot name by @omesser in https://github.com//pull/830
refactor(core): Compact roster, dispatch, and scheduler comments by @omesser in https://github.com//pull/832
docs(naming): Keep Completer off user-facing copy by @omesser in https://github.com//pull/833
docs(perf): Attribute leftover idle wakeups after 741 by @omesser in https://github.com//pull/843
feat(director): Treat Completer length as Truncated by @omesser in https://github.com//pull/842
build(hooks): Lower the comment block ceiling from 25 to 20 by @omesser in https://github.com//pull/834
perf(tests): Reduce redundant unit-test work by @omesser in https://github.com//pull/845
docs(research): Probe computer use on a Claude ACP session by @omesser in https://github.com//pull/838
test(verify): Add Windows Settings-webview Phase 2 smoke by @omesser in https://github.com//pull/847
docs(verify): Add Linux Settings verification scripts to skill map by @omesser in https://github.com//pull/846
test(verify): Measure Windows Settings webview z-order by @omesser in https://github.com//pull/851
test(verify): Show Settings webview select above the overlay by @omesser in https://github.com//pull/852
test(verify): Drive keyboard-only Settings webview by @omesser in https://github.com//pull/853
fix(settings): Copy BYO registration from the Settings webview by @omesser in https://github.com//pull/857
feat(input): Hear the mouse on macOS instead of polling it by @omesser in https://github.com//pull/856
fix(input): Serialize the tap tests that share one flag by @omesser in https://github.com//pull/858
docs(harness): Document pointing a Harness you run yourself at ai-buddy by @omesser in https://github.com//pull/859
feat(settings): Default Settings to the webview by @omesser in https://github.com//pull/860
feat(settings): Switch Completer source on Apply by @omesser in https://github.com//pull/861
fix(verify-skill): correct Settings section and trace flag in feature maps by @omesser in https://github.com//pull/862
feat(settings): Default Settings to the webview by @omesser in https://github.com//pull/864
docs(agents): Drop the emoji from board status names by @omesser in https://github.com//pull/865
docs(harness): Record five more hand-verified BYO rows by @omesser in https://github.com//pull/866
feat(settings): Move the BYO Harness architecture copy behind disclosures by @omesser in https://github.com//pull/870
feat(director): Draw Anthropic's thinking_delta as thinking too by @omesser in https://github.com//pull/872
feat(settings): Delete the native Settings renderers by @omesser in https://github.com//pull/871
feat(director): Stop capping reasoning on a host that marks it by @omesser in https://github.com//pull/873
docs(research): Capture drop + cua-driver CU path by @omesser in https://github.com//pull/878
feat(agents): Vendor Matt Pocock's engineering skills by @omesser in https://github.com//pull/876
fix(director): Flatten the reply cap to one runaway guard by @omesser in https://github.com//pull/877
fix(settings): Show Instance name and Character in the list by @omesser in https://github.com//pull/894
feat(linux): xdg-desktop-portal ScreenCast consent for Wayland titles by @omesser in https://github.com//pull/874
docs: recover byo-harness-mcp-registration.md from #752 by @omesser in https://github.com//pull/895
fix(settings): Rename the reply cap to the turn ceiling by @omesser in https://github.com//pull/893
feat(mcp): Advertise Memory, Action Log, and window titles as resources by @omesser in https://github.com//pull/896
fix(settings): BYO snippet refreshes when Harness popup changes by @omesser in https://github.com//pull/897
Drop Capture tiers (Ambient, On-Demand, Local Gate) by @omesser in https://github.com//pull/899
fix(settings): Keep the configured Harness across cargo run by @omesser in https://github.com//pull/909
fix(settings): Apply and Cancel stay on screen instead of scrolling out of view by @omesser in https://github.com//pull/901
fix(bubble): Invert the Speech bubble tail when it sits below the Character by @omesser in https://github.com//pull/906
docs(verify-ai-buddy): Fix feature map drift in capturable and summon-chat by @omesser in https://github.com//pull/905
feat(linux): WindowTitles consumer — titles behind ScreenCast on X11/Wayland by @omesser in https://github.com//pull/904
fix(chat): Keep ask option buttons as whole words by @omesser in https://github.com//pull/910
test(settings): exercise real showError for footer clear on error by @omesser in https://github.com//pull/911
fix(settings): Show the Working directory the Harness will use by @omesser in https://github.com//pull/914
fix(settings): restore Instance row formatting as Name (character) by @omesser in https://github.com//pull/918
feat(chat): Say when a typed question's answer was preempted, and by what by @omesser in https://github.com//pull/919
fix(settings): Wire the four dead buttons and key snapshot values by row id by @omesser in https://github.com//pull/920
refactor(overlay): Null the bubble fields at emit and delete forOverlay by @omesser in https://github.com//pull/922
refactor(platform): Keep one due, not a copy per cfg arm by @omesser in https://github.com//pull/923
refactor(overlay): Borrow the line before deciding to clone it by @omesser in https://github.com//pull/925
feat(windows): Add WindowTitles consent and implementation by @omesser in https://github.com//pull/915
perf: Add Linux baseline measurements for CPU wakeups (issue #432) by @omesser in https://github.com//pull/927
test(macos): Spike harness for the #183 Input Monitoring question by @omesser in https://github.com//pull/926
test(bench): Measure baseline and hidden wakeup scenarios for #431 by @omesser in https://github.com//pull/931
fix(acp_wire): Name initialize when the SDK ends the connection first by @omesser in https://github.com//pull/934
fix(settings): Offer every installed character in the Character popups by @omesser in https://github.com//pull/936
fix(settings): Hand focus back to the control that held it after a redraw by @omesser in https://github.com//pull/938
test(verify): Make the Settings keyboard proof fail on missing evidence by @omesser in https://github.com//pull/933
fix(settings): Preserve open disclosure state across redraw by @omesser in https://github.com//pull/941
test(skills): Fail when a skill names a script that is not here by @omesser in https://github.com//pull/942
fix(scripts): Remove exec from stray-scope test fixtures to eliminate race by @omesser in https://github.com//pull/940
build(deps): Bump clap from 4.6.6 to 4.6.7 by @dependabot[bot] in https://github.com//pull/943
build(deps): Bump ureq from 3.4.1 to 3.4.2 by @dependabot[bot] in https://github.com//pull/944
build(deps): Bump tauri-plugin-updater from 2.11.0 to 2.12.0 by @dependabot[bot] in https://github.com//pull/945
build(deps): Bump agent-client-protocol from 2.1.0 to 2.2.0 by @dependabot[bot] in https://github.com//pull/947
build(deps): Bump tauri from 2.11.5 to 2.11.6 by @dependabot[bot] in https://github.com//pull/946
spike(ship): Census of runtime deps beyond the binary by @omesser in https://github.com//pull/932
fix(overlay): Hide the overlay a lost display leaves behind instead of closing it by @omesser in https://github.com//pull/954
feat(settings): Emit lifecycle eager in pi BYO fragment by @omesser in https://github.com//pull/953
feat(settings): Name the Screen Recording row for what the buddy reads by @omesser in https://github.com//pull/956
docs(verify-ai-buddy): clarify poke-resume behavior in feature map by @omesser in https://github.com//pull/957
fix(harness): gate chat during ACP initialization by @omesser in https://github.com//pull/952
feat(chat): Let the thinking strip grow to five lines and collapse by @omesser in https://github.com//pull/955
docs(agents): Attach PR images with gh, do not commit them by @omesser in https://github.com//pull/958
docs: Say ai-buddy never reads pixels and point computer use at cua-driver by @omesser in https://github.com//pull/959
feat(settings,chat): Distinguish first-party ACPs from npx adapters by @omesser in https://github.com//pull/961
docs: Fix five stale ADR citations and ratchet the forty left by @omesser in https://github.com//pull/964
perf: Measure idle residency on a quiet machine and record the verdict (#431) by @omesser in https://github.com//pull/960
fix(shell): Park the taskbar anchor off the desktop by @omesser in https://github.com//pull/972
Add chat UI switcher for three designs by @omesser in https://github.com//pull/963
docs(research): Record that ai-buddy holds no power assertion by @omesser in https://github.com//pull/966
test(overlay): Reproduce the display-loss abort by toggling mirroring by @omesser in https://github.com//pull/967
fix(harness): Say a Harness is starting while the ACP handshake runs by @omesser in https://github.com//pull/970
fix: Drop the white fringe from README Buddy Bot GIFs by @omesser in https://github.com//pull/974
perf: Benchmark X11 mask rebuild baseline (#428) by @omesser in https://github.com//pull/968
test,feat(chat-ui): Address Architect Soft leftovers from #963 by @omesser in https://github.com//pull/978
docs(adr): Put window titles and application names behind one consent by @omesser in https://github.com//pull/977
docs: Windows mask-rebuild baseline (#428) by @omesser in https://github.com//pull/983
docs: Add shields.io badges for the seven named Harnesses by @omesser in https://github.com//pull/980
fix(sensing): Gate application names behind the window titles consent by @omesser in https://github.com//pull/979
feat(harness): Name Goose as a preset, smoked fresh and resumed (ADR-0022) by @omesser in https://github.com//pull/971
docs: Correct the Goose MCP row, it is measured by @omesser in https://github.com//pull/986
perf: Add Windows mask rebuild instrumentation (#428) by @omesser in https://github.com//pull/981
Add Ko-fi username for funding support by @omesser in https://github.com//pull/988
docs(design): Propose the window names hint under one consent (ADR-0032) by @omesser in https://github.com//pull/965
feat(director): Invite tool use in one sentence (#917) by @omesser in https://github.com//pull/987
docs(research): Reflect verified goose in alternatives Harness row by @omesser in https://github.com//pull/989
docs(verify): Fix poke hit-test logging description by @omesser in https://github.com//pull/990
fix(harness): Name the login and disable the composer when a turn is refused for auth by @omesser in https://github.com//pull/993
fix(settings): Keep every write and draft across a tab switch by @omesser in https://github.com//pull/996
fix(chat): Move the caret under an ask so the answer lands below it by @omesser in https://github.com//pull/998
fix(chat): Send a thought whole and scroll it in the strip by @omesser in https://github.com//pull/999
docs: State Pi's MCP row as a handshake fact by @omesser in https://github.com//pull/1007
docs: Point the Pi footnote at the handshake fact by @omesser in https://github.com//pull/1009
fix(chat): Paint reply code apart from the panel by @omesser in https://github.com//pull/1012
feat(harness): Point Pi at a stable project MCP file by @omesser in https://github.com//pull/1019
feat(harness): Name GitHub Copilot CLI as a preset, smoked fresh and resumed by @omesser in https://github.com//pull/1017
docs(perf): Record the Linux GPU compositing baseline (#425) by @omesser in https://github.com//pull/1018
fix(harness): Stop the turn clock while the Harness waits on the user by @omesser in https://github.com//pull/1011
docs(readme): Give Grok its mark, and say why two rows have none by @omesser in https://github.com//pull/1022
chore(mattpocock): Sync vendored skills to c55ee46073ed by @github-actions[bot] in https://github.com//pull/1026
chore(pstack): Sync vendored skills to ecc249f1e306 by @github-actions[bot] in https://github.com//pull/1027
docs(agents): Rewrite the comment standard from what the compaction actually cut by @omesser in https://github.com//pull/1028
docs(verify): Fix feature map drift and EWMH property gap handling by @omesser in https://github.com//pull/1015
feat(harness): Reach cursor-agent's MCP through its own config file by @omesser in https://github.com//pull/1024
refactor(core): Compact comments in the Character Manifest parser by @omesser in https://github.com//pull/1030
refactor(core): Compact comments in Character art checks by @omesser in https://github.com//pull/1031
docs(research): Resync alternatives.md with main (Director tools, Pi, Harness presets) by @omesser in https://github.com//pull/1032
docs(perf): Record the Windows DWM GPU baseline (#430) by @omesser in https://github.com//pull/1025
docs: Stop code from citing a superseded ADR for a dropped rule by @omesser in https://github.com//pull/1036
fix(chat): Show the permission command as code by @omesser in https://github.com//pull/1033
perf(bench): Measure the overlay's macOS GPU compositing cost by @omesser in https://github.com//pull/1034
fix(harness): Serve the MCP endpoint from the probe before it attaches by @omesser in https://github.com//pull/1035
fix(windows): Skip Tao's event-loop window in the anchor park check by @omesser in https://github.com//pull/1040
refactor(shell): Give the Director session its own module by @omesser in https://github.com//pull/1044
perf(bench): Measure the macOS window-list poll cost (#427) by @omesser in https://github.com//pull/1042
docs: Scrub post-ADR-0024 stale capturable comments outside verify-ai-buddy by @omesser in https://github.com//pull/1041
test(shell): Colocate the Slots tests with the slot by @omesser in https://github.com//pull/1046
fix(harness): Keep the call the user is mid-answer to by @omesser in https://github.com//pull/1039
perf(bench): Add a gated window-flood load generator for macOS by @omesser in https://github.com//pull/1043
feat: Hint in Chat when a window read has no names by @omesser in https://github.com//pull/1045
refactor(shell): Name the proactive wake and split the Settings patch by @omesser in https://github.com//pull/1051
test(windows): Resolve pwsh without spawning the App Execution Alias by @omesser in https://github.com//pull/1052
feat(chat): Point at Chat when a touch waits on an open question by @omesser in https://github.com//pull/1053
feat(chat-ui): Add a System, Light, or Dark switch for Chat by @omesser in https://github.com//pull/1055
fix(shell): Keep the overlay panel the same size as the TaoWindow it replaces by @omesser in https://github.com//pull/1057
feat(shell): Read a Control-click on the sprite as a right click on macOS by @omesser in https://github.com//pull/1062
fix(chat): Wrap the mind line first, then the name, then the chip by @omesser in https://github.com//pull/1059
feat(harness): Keep auth method kind so agent-type login can be a button by @omesser in https://github.com//pull/1054
fix(harness): Name a launcher that dies before initialize in Chat by @omesser in https://github.com//pull/1070
feat(chat): Keep a Harness's thinking in the Chat log, collapsed once the reply lands by @omesser in https://github.com//pull/1067
feat(settings): Give Chat UI and Chat appearance their own tab by @omesser in https://github.com//pull/1068
fix(chat): Draw landing commands as code and URLs as links by @omesser in https://github.com//pull/1071
feat(engine): Hold still while a speech bubble is up by @omesser in https://github.com//pull/1073
fix(harness): Keep Chat and the character moving through attach and login by @omesser in https://github.com//pull/1075
feat: Pop in a quick message above the Character on hover by @omesser in https://github.com//pull/1077
docs: Show the locked quick-message pill in the design pages by @omesser in https://github.com//pull/1078
refactor!: Rename the product to Fidget by @omesser in https://github.com//pull/1079
feat: Bring characters to the display under the cursor (#1081) by @omesser in https://github.com//pull/1083
fix: Point forge coordinates at omesser/fidget by @omesser in https://github.com//pull/1087
docs(agents): Ask before taking over the GUI, and seed an e2e scenario library by @omesser in https://github.com//pull/1089
fix: Freeze the quick-message pill when chat cannot answer by @omesser in https://github.com//pull/1085
fix: Quit Windows Ctrl+C without Chrome_WidgetWin_0 error 1411 by @omesser in https://github.com//pull/1084
docs: Compact the developer docs and drop unreferenced PR assets by @omesser in https://github.com//pull/1093
docs(adr): Declare runtime dependencies and fail loudly when one is missing by @omesser in https://github.com//pull/1102
docs(adr): Drop superseded ADRs and compact the rest by @omesser in https://github.com//pull/1092
docs: Open the README with what Fidget is and why you would run it by @omesser in https://github.com//pull/1091
chore: Prune dead code and tests that repeat or restate by @omesser in https://github.com//pull/1101
test(harness): Cover every wake in one mid-answer test instead of three copies by @omesser in https://github.com//pull/1103
feat(harness): Declare URL elicitation so a Harness can hand Chat its sign-in link by @omesser in https://github.com//pull/1104
docs(adr): Soft-FIX bind-fail cite ADR-0026 → ADR-0023 by @omesser in https://github.com//pull/1106
feat(harness): Name a missing launcher's install page from one table, and lock the sticky landing by @omesser in https://github.com//pull/1105
docs: Drop the claim that a first-party adapter ships by @omesser in https://github.com//pull/1107
docs(adr): Fold ADR-0033 into ADR-0016 by @omesser in https://github.com//pull/1108
docs(adr): Mark ADR-0032 as amending ADR-0031, not superseding it by @omesser in https://github.com//pull/1110
chore: Delete three scripts nothing references by @omesser in https://github.com//pull/1109
fix(harness): Draw an elicitation link as the URL Open opens by @omesser in https://github.com//pull/1111
test(scenarios): Check the codex sign-in link end to end by @omesser in https://github.com//pull/1113
fix: defer session banner until harness spawn succeeds by @omesser in https://github.com//pull/1114
fix(settings): Make Cancel discard staged AI edits, including registration by @omesser in https://github.com//pull/1112
test(core): Use tempfile for the core test temp dirs by @omesser in https://github.com//pull/1122
fix(settings): Drop a registration preview that lands after Cancel by @omesser in https://github.com//pull/1124
docs: Move the Completer, Harness, and MCP reference to harness.md by @omesser in https://github.com//pull/1121
fix(chat): Break a long launcher path inside the header's mind line by @omesser in https://github.com//pull/1118
fix(settings): Wait for Tauri API on Windows instead of blank screen by @omesser in https://github.com//pull/1117
fix(settings): Send the staged key delete with Apply by @omesser in https://github.com//pull/1125
feat(harness): Let a link Fidget did not ask for wait in Chat by @omesser in https://github.com//pull/1126
perf(bench): Plot the window-list scaling curve and profile the call (#427) by @omesser in https://github.com//pull/1128
refactor(scripts): Share exclusion helpers between the two skill syncs by @omesser in https://github.com//pull/1129
feat(harness): Retire a link's row on elicitation/complete by @omesser in https://github.com//pull/1135
perf(core): Sleep out the rest of an Active tick, not a whole one by @omesser in https://github.com//pull/1133
refactor(scripts): Share one helper file between the x11 verify scripts by @omesser in https://github.com//pull/1130
test(dev_flags): Table-drive the env-over-file precedence tests by @omesser in https://github.com//pull/1131
refactor(settings): Derive the AI draft from the form's batched rows by @omesser in https://github.com//pull/1134
feat(harness): Open Chat for a link a tool call blocks on by @omesser in https://github.com//pull/1139
feat(harness): Answer a completed link's request with cancel by @omesser in https://github.com//pull/1140
chore(harness): Address the Architect's Softs on #1139 by @omesser in https://github.com//pull/1141
chore: Trim CI and script comments to the why by @omesser in https://github.com//pull/1142
feat: default first-run character to Buddy Bot by @omesser in https://github.com//pull/1144
feat(harness): Name Antigravity through Google's first-party ACP server by @omesser in https://github.com//pull/1143
fix(verify-fidget): X11 Summon held-click recipe + capturable Presence path by @omesser in https://github.com//pull/1152
docs(research): Sync alternatives matrix (antigravity + OpenPetsHQ) by @omesser in https://github.com//pull/1150
test(scenarios): Check the Chat header holds one row down to 320 points by @omesser in https://github.com//pull/1148
fix(quick-message): Link the unavailable pill to Chat by @omesser in https://github.com//pull/1154
perf(overlay): Trace and benchmark display-frame cadence on macOS by @omesser in https://github.com//pull/1149
fix(test): Match verify-anchor search to Windows outer 136x39 by @omesser in https://github.com//pull/1159
docs(research): Weigh running the npx presets without npx by @omesser in https://github.com//pull/1147
docs(adr): Keep the npx presets on the latest adapter and probe the launcher by @omesser in https://github.com//pull/1163
feat: freeze character movement while QM pill is visible by @omesser in https://github.com//pull/1157
feat(quick-message): auto-hide pill after 3s away from sprite and pill by @omesser in https://github.com//pull/1158
fix(harness): Give a cold npx first run a minute to attach by @omesser in https://github.com//pull/1164
perf(core): Pace a moving sprite's ticks from the last deadline by @omesser in https://github.com//pull/1165
perf(overlay): Skip the redraw on an unchanged frame resend by @omesser in https://github.com//pull/1166
fix(verify-fidget): map Quick Message hover composer by @omesser in https://github.com//pull/1167
docs(readme): Lead with the shields and the new banner by @omesser in https://github.com//pull/1169
test(bench): Hold BMO still in idle and split Engine ticks by motion by @omesser in https://github.com//pull/1173
docs(readme): Move the Harness Support reference into docs/harness.md by @omesser in https://github.com//pull/1170
docs(readme): Turn the Characters table into a four-column grid by @omesser in https://github.com//pull/1171
docs(readme): Fix formatting and stale claims by @omesser in https://github.com//pull/1179
docs(readme): Open with one Get It section by @omesser in https://github.com//pull/1180
docs(development): Add the Shimeji Shop import path by @omesser in https://github.com//pull/1181
feat(harness): Check the launcher with a version probe before spawning it by @omesser in https://github.com//pull/1176
feat(chat): Keep Chat clear and responsive while a Harness initializes by @omesser in https://github.com//pull/1178
docs(development): Document the Character Manifest for authors by @omesser in https://github.com//pull/1182
docs(readme): Lead with full Linux support for windows and edges by @omesser in https://github.com//pull/1184
perf(deps): remove unused dependencies and features by @omesser in https://github.com//pull/1187
chore(deps): bump tauri-plugin-updater from 2.12.0 to 2.13.0 by @dependabot[bot] in https://github.com//pull/1190
chore(deps): bump tauri-plugin-global-shortcut from 2.3.2 to 2.4.0 by @dependabot[bot] in https://github.com//pull/1191
test(harness): Fix the Windows probe-timeout test and cut it from 3 s to 0.1 s by @omesser in https://github.com//pull/1196
fix(quick-message): 1.5s hover, snap-back, thinking on send, opacity fades by @omesser in https://github.com//pull/1198
fix(chat): Open Chat on the display the sprite stands on, beside it by @omesser in https://github.com//pull/1197
fix(chat): Box a dead launcher's captured output and command, and check it in a scenario by @omesser in https://github.com//pull/1183
fix(character): Trim the transparent rows under Trump's feet by @omesser in https://github.com//pull/1201
fix(chat): Retry the sign-in when the picked Harness is attached but not signed in by @omesser in https://github.com//pull/1202
test(settings): Press Apply in the keyboard sitting's Enter check by @omesser in https://github.com//pull/1205
docs(readme): Lead "Get It" with Settings, not env vars by @omesser in https://github.com//pull/1206
fix(package): Search per-platform data directories for Character Packages by @omesser in https://github.com//pull/1207
docs: Record the v1 performance baseline for drawing layers by @omesser in https://github.com//pull/1203
perf: Stop giving the Linux taskbar anchor its own web process by @omesser in https://github.com//pull/1212
fix(engine): Preempt the walk while a bubble or the pill is up by @omesser in https://github.com//pull/1208
fix(windows): Let the Chat window be a Perch by @omesser in https://github.com//pull/1215
fix(character): Match Trump's waiting-4 frame to the rest of the loop by @omesser in https://github.com//pull/1222
fix(chat): Keep the landing at the top when a branded Harness connects by @omesser in https://github.com//pull/1221
perf(macos): Read the window list beside the riding tick by @omesser in https://github.com//pull/1209
fix(windows): Open Settings from Chat without blanking it or hanging the next open by @omesser in https://github.com//pull/1217
fix: Build on Rust 1.99 and keep the macOS runner's slow wake off CI by @omesser in https://github.com//pull/1227
test(chat): Wait for the chat page itself before driving it by @omesser in https://github.com//pull/1228
chore: Delete the one-time rename-to-fidget lever and its test by @omesser in https://github.com//pull/1233
docs(readme): Give Codex and Goose marks, and keep each harness name on one line by @omesser in https://github.com//pull/1232
ci: Run the renderer tests in their own Ubuntu job by @omesser in https://github.com//pull/1230
test(snapshot): Lower the idle poll floor to 40 ms by @omesser in https://github.com//pull/1234
feat(character): Give Trump a talk cycle that talks, and a wave on greet by @omesser in https://github.com//pull/1224
test: Launch Chrome once per renderer test and cap budgets at 90s by @omesser in https://github.com//pull/1229
fix(quick-message): Keep the pill down after a Summon until the pointer leaves the sprite by @omesser in https://github.com//pull/1237
docs: Open the README on company (Soft-FIX) by @omesser in https://github.com//pull/1231
test: Drop the last ai-buddy name from a test fixture path by @omesser in https://github.com//pull/1238
docs(verify-fidget): QM hover 1.5s + post-Summon latch Gotcha by @omesser in https://github.com//pull/1239
chore: Prune unread mask-rebuild counters and restated tests by @omesser in https://github.com//pull/1236
fix(input): Wake the Director for a Poke only once no second click can make it a Summon by @omesser in https://github.com//pull/1240
docs(design): Propose the landing page as a Dated mockup by @omesser in https://github.com//pull/1211
fix(quick-message): Hide the pill on Send and while Chat is up, and raise Chat over the bubble by @omesser in https://github.com//pull/1243
fix(harness): Fail preflight when Node is older than the npx adapter by @omesser in https://github.com//pull/1242
fix: Rebuild Settings when a load never finishes by @omesser in https://github.com//pull/1241
feat(site): Serve a Generated landing page at the site root by @omesser in https://github.com//pull/1244
fix(harness): Parse Node engine ranges with semver by @omesser in https://github.com//pull/1247
fix(harness): Drop the Node engine gate from preflight by @omesser in https://github.com//pull/1248
feat: Report which display an Instance is on by @omesser in https://github.com//pull/1245
docs(readme): Shorten the title so the landing headline fits by @omesser in https://github.com//pull/1250
fix(chat): Show the reason a Harness gives when it fails a turn by @omesser in https://github.com//pull/1253
fix(chat): Box a preflight refusal on the Harness error landing by @omesser in https://github.com//pull/1249
docs(readme): Lead with a hero GIF of a throw, a perch, and a reply by @omesser in https://github.com//pull/1188
New Contributors
@github-actions[bot] made their first contribution in https://github.com//pull/1026
Full Changelog: https://github.com/omesser/fidget/compare/v0.0.1-dev...v0.1.0