Releases
v1.3.237
Compare
Sorry, something went wrong.
No results found
ggcode v1.3.237
Highlights
See the changelog below for the user-facing updates included in this release.
Compare
Changelog
release: v1.3.237 — review-campaign convergence: 295 commits
fix(desktop): app.go compile errors - PastedImage.Data field + loadErr scope (#2094 )
fix(desktop): config-sync poller goroutine gets safego guard
fix(auth,config): single-flight Anthropic OAuth refresh + serialize auth store writes (#1505 )
fix(tui): tunnel-start replay keeps broker ref; ask_user empty-id replies dropped
fix(agent): verify-hint trigger family - race hint severity, sync-removal detection, failure-flag clearing, runner coverage (#1841 )
fix(tui): early tunnel-connected replayed; unknown approval decisions dropped (#1825 cases 1+2) (#2092 )
fix(tool): browser Chrome process + profile-dir leak guards (#2091 )
fix(agentruntime,desktop): complete the silent-error-swallow family in recovery/replay paths (#1802 )
fix(agent): detector miss-family fixes across speculate/spec_gaming/slice_bounds/solution_fixation (#1496 )
fix(cmd): stderr tee covers riscv64/loong64; restore keeps the spare fd (#1818 cases 1+2) (#2088 )
fix(tunnel,subagent): retry_after_ms clamped; EventsSince absolute cursor (#1816 cases 1+2) (#2087 )
fix(agent): todo_drop CJK bigram similarity + rune-safe truncation (#1506 case A)
fix(desktop): one-shot frontend warning when notification delivery fails (#1809 case 4) (#2084 )
fix(agent): drift recurrence counts failed verifications; weak-baseline bar for the scattering branch (#1544 )
fix(agentruntime,desktop): vision turn switch inherits current selection; restore persists; auto-title edge cases (#1670 )
fix(agent): adaptive effort honors config-level effort; classifies edit param errors; todo_write off read-only list (#1836 )
fix(swarm): stored teammate results survive the removal gate (#1814 ) (#2081 )
fix(tool): explicit empty string is provided for delete-semantics params (#1838 )
fix(agent): subgoal plan-intent gate; declaration negation/continuation veto; stall timer attribution (#1499 )
fix(tui): reconnect latch clears when the pending server is uninstalled (#1812 ) (#2078 )
fix(agent): test-isolation cross-file vars, TestMain exempt, snapshot restore clean; impact cap + Ruby runner (#1502 )
test(mcp): pin the notification-stream generation guard (#1810 companion) (#2076 )
fix(config,scripts): per-endpoint provider attribution; sync-tool fail-safes (#1668 )
fix(mcp): notification-stream takeover replaces the skip race (#1810 ) (#2074 )
fix(agent): redundant-read guard requires content-hash agreement when mtime matches (#1824 )
fix(image,desktop): clipboard stream cap; TCC distinction; paste budget (#1807 cases 1+2+3) (#2072 )
fix(agent): speculator stat-snapshot freshness; memo hit permission parity (#1831 )
fix(im,tui): stale approval replies dropped; questionnaire wins dual-pending routing (#1833 )
fix(permission): quoted-root rm Critical; dd read-side demoted; git force variants (#1804 cases 1+2+3) (#2069 )
fix(agent): guidance budget slot/dedup/pool semantics; cross-path conflict arbitration (#1840 )
fix(agent,acp): checkpoint baseline TOCTOU; post-write read-back; sse transport normalization (#1786 )
fix(im,config): webchat image-only ticks activity; rc cross-refs resolve (#1803 cases 1+2) (#2066 )
fix(agent): window-consistent failure-mode density; transient streak sync; scoped churn clearing (#1561 )
fix(agentruntime): projection failure chain stops being silent (#1802 cases 1+2) (#2064 )
fix(agent,tool): route fan-out writers through the pre-write dry-run gate (#1547 case A)
style(desktop): gofmt notifications_1504_test.go (main Format red) (#2062 )
fix(agent): regex-loop alias imports; multiset delta for same-pattern growth (#1488 case C)
fix(tunnel): projection store durability, path escape, cross-process tmp (#1801 ) (#2060 )
fix(agent): wire session token budget consumption; silent-error resource-key model (#1494 )
fix(desktop): bounded unix notifier delivery; second-instance focus; startup hotkey rollback (#1504 )
fix(provider,tunnel): calibration guard before the remote call; per-token salt (#1795 cases 1-4) (#2057 )
fix(agent): cross-process lock + unique tmp for trajectory learnings persistence (#1512 case C)
fix(tui,tunnel): whatsapp enable rides configMutationMsg; broker session-info reads locked (#1793 cases 1+2) (#2053 )
fix(agent): waitgroup receiver exemption; description-field scan; run_command git channel; delta line-drift (#1527 )
fix(tui): wecom enable rides configMutationMsg; wechat poll re-arm paced (#1792 cases 3+2) (#2051 )
fix(agent): compound-127 amnesty; oracle fence unwrap; batch_replace path extraction (#1522 )
fix(agent): CJK bare-word narrowing; redirection opener semantics; failed-run verification (#1521 )
fix(agent): goto-label reachability; two-line uintptr round-trip; non-destructive unused-param hint (#1520 )
fix(agent): real copylock body-scan revert; claim-level ack proximity + revision supersede (#1536 )
fix(provider,tui): probe single-flight; stale probe results dropped (#1789 cases 1+2) (#2046 )
fix(agent): windowed reads no longer mark a file fully read (#1782 )
fix(agent,tool): adaptive-effort restore window + panic path; batch_replace cancel rollback (#1817 )
fix(agentruntime): StartShare stops the previous share; upgradeMgr read stays locked (#1787 ) (#2043 )
fix(desktop,config): impersonation three-path consistency; instance credential leak (#1815 )
fix(agent): write-integrity reads the file back from disk (#1786 case 2) (#2041 )
fix(desktop): serialize MCP config writes; compensate Remove partial failure; drop OAuth token on Remove (#1813 )
fix(tui): tool elapsed assigned before the finisher consumes it (#1785 ) (#2039 )
fix(tool): exit_worktree branch-delete gate; worktree-name path-component rejection; dirty-probe fail-safe; CJK scoring note (#1710 )
fix(plugin): MCP-disabled cold write path no longer caches failure as truth (#1782 cases 1+2) (#2037 )
fix(tool,chat): honest editor-fallback message; sibling/cross Info diagnostics; git-status R/C/U; search-count anchor (#1697 )
fix(agent): claim-verify window covers tail; fail:0 exempted; read_file culled (#1780 cases 1+2+3) (#2035 )
fix(config): real-home guard exempts the OS temp root (#2033 )
fix(agent): quota-reset family closure + registration pin (#1826 )
fix(test): fail fast when tests touch the real user HOME (#2033 )
fix(agent): token-waste family joins the guidance budget; metering tracks post-shrink length (#1819 )
test(agent): pin cancellation flatten notes (#1779 companion) (#2032 )
fix(agent): cancellation errors flattening labeled for what they are (#1779 ) (#2030 )
fix(agent): ghost comments for removed detectors; give-up+rollback re-add; overcorrection gate parity (#1823 )
fix(agent): clean-force detector gains separator truncation and git global flags (#1774 cases 1+2) (#2028 )
fix(acp): sse mounts stop failing silently; stale upstream-spec comment corrected (#1797 )
fix(lsp): unsupported rename kinds surface to the agent (#1769 ) (#2027 )
test(agent): align path-fingerprint pins with #1486 case-D semantics (#2025 )
fix(tui): slack auto-enable rides configMutationMsg; knight spinner tick kept (#1758 cases 1+2) (#2023 )
fix(agent): spawn/warp mutation channels join mixed-batch pre-exec guard (#1829 )
fix(tool): xargs segment-scoped match; sort/prefix anchoring; SSRF pins (#1703 )
fix(tui): stdout probe uses unix.Poll - no shared-fd writes (#1753 case 2) (#2021 )
fix(tui): stdout-health probe uses unix.O_NONBLOCK (#1753 case 1) (#2018 )
fix(tool): truncation annotation gaps - element cap, of-N, rune split (#1835 )
fix(agent): undo-blind charter scenario live; checkpoint tail-anchor regression (#1518 )
fix(im): twitch mention strip matches the gate's tokenization (#1747 ) (#2016 )
fix(im): openai-whisper download bound + feishu STT validation pins (#1743 )
fix(im,tui): feishu STT strict contract; clearing a limit stays session-level (#1743 cases 1+2) (#2014 )
fix(util): reject WSL bash entry in Windows shell fallback (#1842 )
fix(agent): verification debt partial repayment, code-actions grounding, bare-path scopes (#1784 )
fix(tui): model panel visible rows track the current height (#1742 case 2) (#2011 )
fix(tool): bounded output head-cut rune straddle (#1820 )
fix(agent): empty-result anchors for all 8 search members (#1796 )
fix(tui): vi tone marks; 5 missing catalog keys; stopped adapters stay stopped (#1734 c1, #1735 c1+2) (#2008 )
fix(config): active endpoint/vendor removal falls selection back (#1517 )
fix(agent): undo-blind pre-execution wiring + retrospective guidance (#1799 )
fix(tui): imEnsure pre-built; inspector loadErr surfaces (#1737 cases 1+3) (#2005 )
fix(desktop,config): OAuth status truth and silent renewal (#1805 )
fix(agent): invalidation extractor learns notebook_path and file_ops source (#1733 case 1) (#2003 )
fix(tool): kitty ctx threading, key modifiers, kg tags/slug (#1692 )
fix(desktop,im): bind stop-first, rebind rollback, surfaced failures (#1811 )
fix(tool): Android @en ref resolution + mobile error surfacing (#1694 )
fix(extract): OOXML template family registered; zip preview snaps to rune boundary (#1727 cases 1+3) (#1999 )
fix(agent): fingerprint sibling separation; failed-edit gate (#1486 )
fix(tui): tmux hook restore gets a 3s deadline (#1722 case 1) (#1997 )
fix(tui): replay keeps whitespace reasoning separators (#1808 )
fix(agent): normalized strategy signatures; stagnation threshold 3 (#1498 )
fix(cron): tombstone-first migration; one-shot drop log (#1531 )
feat(tool): browser screenshot optional output_path saves a real file (#1993 )
fix(agent): skip succeeded read-only commands in causal attribution (#1528 )
fix(tui): diff file headers not colored as add/remove; mentions need boundary (#1718 cases 1+2) (#1991 )
fix(im,agentruntime,desktop): multi-pending approval index disambiguation (#1657 )
fix(agent,tool): drop bare oldest/最近的 entries; word-boundary term scoring (#1710 cases 2+3) (#1989 )
fix(lanchat): sender-side presence response bound (#1627 )
fix(im,memory,cmd): /diff allowlist; atomic SaveMemory; daemon LoadKey (#1752 )
fix(tool): skill #import blocks private targets and redirect bounces; xargs -r token match (#1703 cases 1+2) (#1986 )
fix(tool,tunnel): clipboard read UTF8/write fallback; zero-expiry guard (#1822 )
fix(tui): MCP browser-flow OAuth URL via global banner (#1790 )
fix(tool): streaming range read records and conflict-checks (#1698 case 2) (#1983 )
fix(util): WrapTransport proxy/staged timeouts; Truncate clamp (#1849 )
fix(tui): five panels auto-enable on Update loop (#1794 )
fix(tool): warp rejects unknown modifiers; spam filter honors allowed_domains (#1709 cases 1+3) (#1980 )
fix(tui): twitch bind enable on Update loop; guarded ensure chain (#1767 )
fix(agent): irreversibility gate pre-exec wiring; no self-grounding (#1798 )
fix(tool): SIGKILL outcome authoritative; save_memory rejects blank keys (#1700 cases 1+2) (#1977 )
fix(util): IsProcessAlive zombie handling via procfs (#1839 )
fix(agent): logging-intel JS path Go-parity (#1800 )
fix(tui,knight): signal panel esc during install; Windows lock error surfacing (#1757 )
fix(tool): knowledge_graph tags filter implemented; slug-collision overwrite disclosed (#1692 cases 3+4) (#1973 )
fix(agent): concurrent-map detector pkg-level/var-make/compound coverage (#1533 )
fix(tool): iOS pre-tap error message carries the result text (#1970 nit) (#1971 )
fix(tool): mobile typeText pre-tap fails loud on both backends (#1694 case 1) (#1970 )
fix(tool): notebook_edit stale/read contract; four low fixes (#1696 )
fix(agent): remove dead recordFirings wrapper (#1534 )
fix(tool): notebook_edit records its write (#1696 case 1) (#1967 )
fix(util): symlink fallback copy checks Close error (#1845 )
fix(agent): precompact retry cancel chain; atomic cancelled; locked manager capture (#1828 )
fix(chat,tool): error path line cap; exit_plan_mode plan-mode guard (#1697 cases 1+3) (#1964 )
fix(tui): tmux menu availability gate; bare setup sole-arg alias (#1764 )
fix(provider): simple probe aligns with tier classifier (#1788 )
fix(permission): switch_mode escalation to bypass/autopilot asks (#1705 case 1) (#1961 )
fix(agentruntime): swarm tunnel reasoning forwarding; nil-replay guard (#1497 )
fix(tool): TodoWrite implements Cloner (#1707 case 1) (#1958 )
fix(im,tui): inner-flush test reaches fixed path; output-mode persists (#1736 )
fix(tui): provider i18n module slim to live keys; n-key hint 7 langs (#1732 )
fix(tui,lanchat): no runCanceled poisoning on uncancellable windows (#1768 )
test(checkpoint): pin agent-sourced revert vs user wrapper (#1708 companion) (#1955 )
fix(context,config,tui): 1525 pins; lanchat dead-else (#1714 )
test(agent): reconcile #1855 pin with #1843 case-2 semantics (#1954 )
test(tool): darwin build tag for the iterm2 1691 companion test (#1952 )
fix(tool,desktop): scaffold CI configs; scan_todos honest errors; bounded blame (#1701 )
fix(config): protocol default on creation; key persistence surfaced; keys.env deletion (#1706 )
fix(#1944 ): make the 1691 pin compile on non-darwin - shared pure helper, darwin-only escapeAS test
fix(tool,agent): staging binary/rename harvest; orphan removal; fuzzy ranking (#1704 )
fix(tui): discovery clamps model cursor to filtered list (#1748 )
fix(tool): tool_suggest deterministic tie-breaking (#1708 )
fix(checkpoint): agent self-reverts record source=agent (#1708 case 1) (#1946 )
fix(tool): im_tool health-wait honesty + menu escapeAS; adopt upstream 1691 semantics
fix(tool): iterm2 input reports escape-stripped control runes (#1691 case 2) (#1944 )
fix(agent,config): claim-verify exemptions tightened; Copilot guards (#1695 )
fix(agent): detector reset semantics per-turn quotas (#1843 )
fix(desktop): config file sync poller; IM adapter write serialization (#1847 )
fix(tui,toolreplay): per-submission retry budget; json.Number tape keys; missing-todos not clear (#1713 c1-2, #1711 c1-2) (#1940 )
fix(agent): plan drift tool evidence; error-strategy candidates unmasked (#1850 )
fix(tool): unmerged-first conflict classifier; git_tag rev guard; glob pattern sandbox (#1690 cases 1-3) (#1937 )
fix(config,tui,agent): mainstream default endpoint; freeform cursor keys; mixed-question spaces (#1712 )
fix(desktop): Linux notifications ride the shared unix queue (#1852 )
fix(tui): cmdpane tail -n 0 + close/write lock pairing; /pin list rune clip (#1715 cases 1/2/4, #1716 case 1) (#1935 )
fix(tool): send_team toRole follows sender identity (#1693 )
fix(tool): git_reset/git_show refuse dash-prefixed args; reset files get -- separator (#1689 cases 1-3) (#1933 )
fix(agent): detector cooldown arithmetic - honest single-shot, adjacent-iter cooldown, per-mode clocks (#1855 )
fix(tui,cmd): dingtalk bind auto-enable rides configMutationMsg; pipe Close surfaces stderr (#1719 ) (#1931 )
fix(tool,commands,agent): search_files pathspec parity; rune-count bounds; truncation marker; locked RMW (#1702 )
test(agent): pin YAML list block-scalar edge shapes (#1721 companion) (#1928 )
fix(tui): translate 4 Chinese leftovers in the German catalog; CJK scan guard (#1725 )
fix(agent,tui): YAML list block-scalar edge shapes; extpane DCS/APC/PM stripped (#1721 ) (#1927 )
fix(agent): prompt-injection guard self-defense exemption (#1481 )
test(swarm): pin panic rollback at unit level; extract helper (#1688 companion) (#1925 )
fix(provider): idle-read watchdog cuts streams wedged by dropped proxies (#1924 )
fix(agent): self-correction gate exposure-neutral wording; session-timeout warnings reach LLM (#1492 B/C/F)
fix(swarm,tool,provider): panic rolls the task back; git_log clamps; blind-spot redacts (#1688 case 1+4, #1720 case 2) (#1922 )
fix(agent): cap-proof spiral snapshots; green resets both (#1726 ) (#1920 )
fix(tui): approval/diff-confirm options re-derive from current language (#1741 )
fix(tui): hook editor validates before persisting (#1724 case 1) (#1918 )
fix(tool): git_add directory-staging sensitive scan; checkout trim-copy mismatch; blame ref validation (#1687 )
fix(agent): sensitive_json untagged-field blind spot; file_ops guard shapes; LSP serial-chain exemption (#1492 A/D/E)
fix(agent): command cache excludes substitution/background/redirection forms; failures never enter the cache (#1717 )
ci(windows): add windows-process workflow for OpenProcess liveness verification (#1913 )
fix(agent): anchor guard-state path keys to the workspace root; clear the exploration window on fire (#1559 )
fix(util): OpenProcess ERROR_INVALID_PARAMETER means dead (#1723 case 1) (#1911 )
fix(tool): checkout executes the trimmed ref; sensitive match anchors to segments (#1687 cases 2+3) (#1912 )
fix(tui): pt provider hint advertises the n key (#1732 case 2) (#1909 )
fix(agent): files-present git_reset ignores mode - tier Low, not HIGH-IMPACT (#1621 side note)
test(agent): pin the #1646 right-tracker compaction reset (verifDebt + overcorrection) (#1646 )
fix(agent): strict verify mirror splits on the pipe separator too (#1564 case C)
fix(agent): logging-intel side notes - remove JS-default strip wrapper and dead counters; pin word-boundary final verdict (#1623 )
fix(hooks): stripContentValues recurses into nested structures (#1730 case 1) (#1905 )
fix(agent): close the 56-item post-compaction quota reset gap (#1651 )
fix(tool,codehealth): review-diff ++ content lines, global MaxFiles, 200-byte isGenerated window, GUI OnPostExec, git stderr, quoted untracked paths (#1699 )
fix(agent,memory): detector accuracy quartet - version context, JSON5, authoritative YAML dup keys, ident scope (#1773 )
fix(tool): iterm2 non-darwin stub matches the ctx-threaded signatures (#1901 )
fix(extract,tui): pdf marker off-by-one + null-page placeholder; ja i18n (#1729 ) (#1900 )
style(tool): gofmt ghostty + iterm2 files (#1899 )
fix(tool): iterm2 threads Execute ctx to every AppleScript call (#1894 )
fix(agent): read-path recorder isolates url/directory/source keys; failed tools never record reads (#1619 case C)
fix(swarm): DeleteTeam re-entrant lock deadlock (#1895 )
fix(tool): ghostty ctx propagation; linux size-99 hint parity (#1686 )
fix(tui): drop the nonexistent q-show-QR hint from the IRC panel (#1728 )
fix(lsp,tool): stale-push guard checks the document version; not-ready is no longer clean (#1654 )
fix(agent): partial-success written files rejoin the revert list (#1762 case 1)
test(config): pin DOCKER_TAGS non-injection and npm fill-don't-overwrite (#1523 companion)
fix(config): deterministic wizard endpoints; ws-aware MCP patch; npm fill-don't-overwrite; knight scoped fallback (#1523 )
test(mcp): pin the well-known OAuth probe HIT path (#1806 )
test(subagent,swarm): pin normalized Delete and shutdown result cleanup (#1633 companion)
fix(mcp,swarm,subagent): runner guard on the option-transport path; shutdown frees result; DeleteTeam waits; Delete compares normalized (#1633 )
test(tool): pin partial-output-on-error for code execution (#1645 companion)
fix(tool): code-index dirty set survives lock contention; execution errors keep partial output (#1645 )
fix(im,desktop): bound feishu local reads; surface desktop persist failures (#1893 )
test(plugin): pin disabled-refusal in connectOne; error-returning SetMCPDisabled (#1740 )
fix(tui): capture shell-run ownership before clearing it (#1781 )
fix(im): bound local-path attachment reads across all adapters (#1739 )
fix(plugin,tui): reconnect keys respect disabled; persist failure surfaces (#1740 )
test(webui): pin unknown-api 404 JSON + double-Start refusal (#1856 /#1857 companion)
fix(webui): restore read deadline after legacy round; map reasoning/system events; WS statics (#1858 )
fix(webui): terminal WS frames block instead of dropping; Start lock discipline (#1857 )
fix(webui): unknown /api/ paths 404 instead of SPA HTML; auth fails closed; query token is WS-only (#1856 )
fix(webui,tui): webchat images ride into the TUI; gate ONLY rule; unsub drain out of lock (#1860 )
fix(sdk): plugin Execute recovers panics into IsError responses (#1863 )
test(agent): pin sed multi-expression exemption verdicts (#1685 )
fix(tui): onboard sentinel guard on every path; cleared on discovery success (#1892 )
fix(agent): strip the s-command prefix from later sed expression chunks (#1891 )
fix(agent): sed multi-expression escape; isNoOp respects composed commands (#1685 )
fix(tui): knight hint matches proposed status; lanchat popup self-clears; nick sanitize on leave/rename (#1738 )
fix(tui): knight task events count in-flight runs; start no longer clears loading (#1890 )
fix(a2a): example store clones tags in-bound and on read (#1746 )
fix(tui): nostr enable rides configMutationMsg; onboarding refuses sentinel models (#1745 )
fix(mobile): P2P ICE grace window; disconnect disposes the peer; offer failure cleans up (#1876 )
fix(a2a,tui): push allowlist re-resolves hostnames on miss; PC bind prefetches adapter name (#1889 )
test(tool): pin cross-device error recognition incl. Windows text (#1684 )
fix(mobile): snapshot replace unions anonymous messages; merge interleaves them by time (#1870 )
fix(vcs,tool): svn externals P lines, errno cross-device, dotfile stems (#1684 )
fix(tui): remote-entry idle gates include loading; interrupt drain keeps images (#1744 )
fix(mobile): connection store merges loads; bg connect in-flight guard; honest unconfirmed status; room-identity idempotency (#1869 )
fix(tui): snapshot endpoint resolution on the Update loop; bind ensures runtime (#1750 )
fix(a2a): allowlist host/bare-IP entries survive the dial-time check (#1751 )
fix(tui): resume gate keeps its key - inequality covers both completion orders (#1887 )
fix(mobile): connect() detaches the live socket before reconnecting; images factory skips malformed elements (#1867 )
test(tool): pin exit-code windows blindness and FS-fold guards (#1683 )
fix(mobile): ask_user submit/cancel joins the #1023 guard trio; workspace-name padding modulo (#1873 )
fix(tool): windows signal-blindness; case-aware protected patterns (#1683 )
fix(agent): discard-all detector covers --worktree long flag, semicolon chains; -b excluded (#1886 )
fix(tui): gate stale resume completions (#1755 )
fix(tool): wire Start's ctx into non-detached jobs; tool path opts out explicitly (#1756 )
fix(scripts): dedup rank keeps vision; defaults skip non-chat modalities (#1862 )
test(image): pin the DPI snippet's false-return fallback (#1754 )
fix(agent,image): discard-all ref forms; DPI false-return fallback (#1754 )
fix(agent): secret-redaction guard covers lsp_rename; index-splice keeps trailing quotes; sk- dash family (#1682 )
fix(mobile): own the QR scanner controller in a StatefulWidget (#1871 case 4)
fix(mobile): subagent cleanup defers while the card is expanded; resumed probes socket liveness (#1874 )
test(tui): pin the shared toggle's mutation flow (#1763 )
fix(tui): follow-view rebuild skips on unchanged current task (#1761 )
fix(tui): shared toggle joins configMutationMsg; http(s)-only system URLs (#1763 )
fix(tui,agentruntime): stream panel selection-sync joins visiblePresets; taskfile comments and CRLF (#1885 )
test(tui): pin stream panel visible-preset mapping (#1759 )
fix(agent): container-store handoffs recognized; body consumers are not transfers (#1884 )
fix(agentruntime): taskfile block-scoped targets, tab-separated module path (#1681 )
fix(tui): stream panel visible-preset index mapping, cached probes, custom dedup (#1759 )
fix(knight): scope-qualify staging notification dedup keys (#1883 )
test(agent): pin read-only table membership against #1859 drift recurrence
fix(agent): ownership transfer requires an actual handoff, not a reference (#1680 )
fix(knight): scope-qualify staging fail counts and eval cooldowns (#1760 )
fix(agent): align read-only tool tables - 11 additions across three consumers (#1859 )
fix(lsp): normalize both same-directory skips; exclude unspecified severity (#1881 )
fix(mobile): last-write-wins arbitration for degraded-window edits; separate history fallback key (#1872 )
fix(tui): extend project-memory gate to tunnel, webchat, and cron entries (#1882 )
test(agent): pin green-line fingerprints and tree-mutation reverify bumps (#1679 )
fix(tui): remote entries queue behind project-memory loading (#1762 )
fix(agent): green-line filter in error fingerprints, tree-mutations bump reverify (#1679 )
fix(agent): delta-gate python-indentation; skip bracket/triple-quote continuations (#1865 )
fix(agent): route post-write detector warnings through the guidance budget (#1864 )
fix(tui): delete tool label and empty-target git activity keys (#1765 , #1766 )
fix(lsp): surface cancellation from slice and call-hierarchy retries (#1766 )
fix(mobile): no-op wakelock on ohos at runtime; swallow plugin failures (#1872 )
fix(tui,agent): session-cycle guard delegates to hasActivePanel; terminal gate on spiral wait-attribution (#1880 )
fix(agent): wait-command verify attribution, impact-gate flag on real output (#1773 )
fix(tui): session-cycle keys yield to open panels (#1772 )
fix(desktop,image): pixel ceiling for pasted clipboard images (#1866 )
fix(agent,checkpoint): clear expired-read ledger for every reverted file; anchor bgorphan not-found to the error channel (#1879 )
fix(desktop): non-blocking macOS toast enqueue with rollback, per-event recover, drain on disable (#1866 )
fix(agent): evidence-typed causal wording, evicted-job orphan cleanup (#1771 )
fix(agent): clear expired-read ledger on undo_edit revert (#1770 )
fix(mobile): dispatch ohos to the manual-input scanner stub at runtime (#1871 )
fix(agent): exempt /dev/* sinks and quoted targets from shell-mutation detection (#1875 )
test(memory,agent): pin #1777 polarity gate and #1778 suppression guards
fix(memory,agent): make the #1777 polarity gate and #1778 dart mapping actually fire (#1878 )
fix(agent): detector accuracy - uncapped fingerprints, comment-guarded suppression counting, vue/svelte coverage, rust inline tests, dart layout (#1778 )
fix(permission,memory): atomic rules snapshot, tight polarity-conflict gate (#1777 )
fix(desktop,config): close MCP tombstone gaps in RemoveMCPServer failure paths (#1868 )
fix(mobile): guard appendSessionEvent against relay replay below cursor (#1871 )
fix(plugin): compare OAuth client fields in mcpServerConfigEqual (#1868 )
fix(tui): gate pastes under questionnaire/tmux menu, sync tmux exit save (#1775 )
fix(agent): wire irrevGate recordOutcome after recordAction (#1877 )
fix(permission,agent): lock the deny fast-path snapshot, revoke failed grounding (#1776 )
fix(agent,agentruntime): shell-mutation surfaces and elicitation required-field decline (#1678 )
fix(agent): query-converge glob exclusion + race-hint aliased-import resolution (#1483 )
You can’t perform that action at this time.