Sonny 0.12.5
Published .
Source commit 76c580b1dece2f50f001e6271eda7c3d775d7339.
Download release JSON for this version's installer URLs, byte sizes and SHA-256 hashes.
Downloads and verification
This is an archived release. Its download links require GitLab project access. File hashes and sizes were checked against the release checksum manifest and package metadata; anonymous availability and signature verification are not claimed.
Choose the artifact for your operating system and architecture. Links marked “GitLab access required” need access to the Sonny release project. Public installers and archives use the same download host as the release notifications.
SHA-256 checksums (GitLab access required) · Checksum signature bundle (GitLab access required). A matching hash checks file integrity. Verify the signature before relying on publisher identity; this page's metadata importer does not perform that verification.
sonny-api_0.12.5_linux_amd64.tar.gzarchive · linux / amd64 · 55644428 bytes · GitLab access required
SHA-256:7148e9b4fe84d429532acfee7bbd9e9dc23f20dd8395113445ca0d6a71835d3asonny-api_0.12.5_linux_arm64.tar.gzarchive · linux / arm64 · 51270279 bytes · GitLab access required
SHA-256:f954f9f5e4fd0ccfcf81f063b3c6ff639482b184b352c14b031bd05634289d91sonny-desktop-0.12.5-1.x86_64.rpminstaller · linux / amd64 · 28725887 bytes · GitLab access required
SHA-256:10be1ce7b4856c1ff59eae942979c69a0e8dded4b3b36b076899dcb60e97cf15sonny-desktop_0.12.5_amd64.debinstaller · linux / amd64 · 28730828 bytes · GitLab access required
SHA-256:1e209b8b06e20eb2b637ca4a4aeab6989dd50e77ee38f776f3f2dd8f35e93740sonny-desktop_0.12.5_darwin_universal.dmginstaller · darwin / universal · 226765964 bytes · GitLab access required
SHA-256:627cd48e2fc8acd2fd537a855c0baf199f9e1eb0498b2a608c532225217a0f16sonny-desktop_0.12.5_windows_amd64-installer.exeinstaller · windows / amd64 · 104599968 bytes · GitLab access required
SHA-256:18c20b75b144dd95874ad9c50478fc2c93ad003b4a8b46d3e866c62447765774sonny-desktop_0.12.5_windows_arm64-installer.exeinstaller · windows / arm64 · 95083464 bytes · GitLab access required
SHA-256:27011e8ac37631d383d27784d73e0bc03158258c5437f280c2031a6dbe21a917sonny_0.12.5_darwin_amd64.tar.gzarchive · darwin / amd64 · 75690317 bytes · GitLab access required
SHA-256:6c83fc94d083b4907d882a43ce13968c00f2dabc3dd0b075ed725854014dd61esonny_0.12.5_darwin_arm64.tar.gzarchive · darwin / arm64 · 71401158 bytes · GitLab access required
SHA-256:097fbac6d7d80bb5764f4b812b3b3a746b3765bb391ad33659f1ca1d21fd81f9sonny_0.12.5_linux_amd64.apkinstaller · linux / amd64 · 140740743 bytes · GitLab access required
SHA-256:569251774581014ae277fc07234bfda73afe3b165997fa8e1dabeeb6217a7423sonny_0.12.5_linux_amd64.debinstaller · linux / amd64 · 134437762 bytes · GitLab access required
SHA-256:fb799e8d0580354080d0928211959340fbbcd0534236fab8844b875edef8a307sonny_0.12.5_linux_amd64.rpminstaller · linux / amd64 · 134468646 bytes · GitLab access required
SHA-256:961a323be09571bca03976f58024b9ff9dba177f5e98f18d405b1919038ce603sonny_0.12.5_linux_amd64.tar.gzarchive · linux / amd64 · 78811071 bytes · GitLab access required
SHA-256:98fc0be48ee74fc412f11897f8f3968f8125f3846a349ab7a1eec0f44fd73183sonny_0.12.5_linux_arm64.apkinstaller · linux / arm64 · 129050316 bytes · GitLab access required
SHA-256:418a7b61abcd9d0757accbee08ac204377a5a13c5c2116f47f1dccdb1456e619sonny_0.12.5_linux_arm64.debinstaller · linux / arm64 · 123904866 bytes · GitLab access required
SHA-256:f0c22cb9fc1b87db4e277968f834dfa3401c6533a1a2094fa4e720ebc593b6d0sonny_0.12.5_linux_arm64.rpminstaller · linux / arm64 · 123938237 bytes · GitLab access required
SHA-256:f0d3cd7ceef89aa18d38ba3e394e4299279af186df3f4382363d85f6f88adf1esonny_0.12.5_linux_arm64.tar.gzarchive · linux / arm64 · 72673517 bytes · GitLab access required
SHA-256:fbfc815c755e842e63004e2eab44a2c0c546a562b8a8b187b9453dc597b525e5sonny_0.12.5_windows_amd64.ziparchive · windows / amd64 · 75499570 bytes · GitLab access required
SHA-256:fc3799b61549823972c88a53d2cad682ce3409bb03071fb4affb5b7ed83ae68esonny_0.12.5_windows_arm64.ziparchive · windows / arm64 · 68430768 bytes · GitLab access required
SHA-256:4a356c3b62555b72c8f8013fd72ab16ad46c1f2ef8f4b63475ef4391217d5f58checksums.txtchecksums · 2493 bytes · GitLab access required
SHA-256:062f580c297cb8d48eb63693bf59e9630b2634d46c349234f54bc70cf8e88982checksums.txt.bundlesignature_bundle · 9430 bytes · GitLab access required
SHA-256:a0f08812530a4ba208c6465d3438bfc482c73367069cbf60e4d44101de0c4912sonny-desktop_0.12.5_darwin_universal.sbom.cdx.jsonsbom · darwin / universal · 63094 bytes · GitLab access required
SHA-256:881838f7ead7127745b4dd1f61780ff8b23a902740eb3c8c6178dd343e55de1dsonny-desktop_0.12.5_linux_amd64.cdx.jsonsbom · linux / amd64 · 135787 bytes · GitLab access required
SHA-256:d99c11c018833fa32a6d249135641f1479be6f096b08adce739553552e8fcbc2sonny-desktop_0.12.5_linux_amd64.reproducibility.jsonreproducibility · linux / amd64 · 658 bytes · GitLab access required
SHA-256:fd9ecded143ec9c56f58d975cea9a63d592ffa5d6b3a97ba10f44d50e2f485basonny-desktop_0.12.5_windows_amd64-installer.sbom.cdx.jsonsbom · windows / amd64 · 125911 bytes · GitLab access required
SHA-256:17fafbc8a0482086d7bc55870c2259a67e3ee6d32adb7ef9018a3051ffbdc607sonny-desktop_0.12.5_windows_arm64-installer.sbom.cdx.jsonsbom · windows / arm64 · 125911 bytes · GitLab access required
SHA-256:f2b8d07a90dbf072c1888a292cc79c481c52d0516c706116fd0a4719659d217c
Release notes
Changelog
Features
- 8ce2a3e38c578a115fab00cf30ad61baceffdf23 feat(app): show the startup re-host retry state in sessions.recover (SONNY-4905)
- f2f5292084c9d5894c0035fb78ac92fa47a8e0ca feat(desktop): add newest-first turn history (SONNY-4746)
- 820afa97e0d51ff25fdac0a3716dd601df1845e1 feat(desktop): show live turn progress (SONNY-4745)
- e3cdf3b9930cb6b0432f4cee0e9b27341ae184ea feat(desktop): show the truncated session id with a copy button (SONNY-4927)
- a5eb1c374b98ee5dd58856b2ddda3848ac21dd73 feat(desktop): turn model providers on and off, and remove one with confirmation (SONNY-5126)
- 3e5ff393a516a79c941e0291816a55471e76557c feat(isolation): name missing cgroup delegation and its root fix in init and the isolation doctor (SONNY-5244)
- 342d95a075c80b22ed16a3a0ef02244e917365e6 feat(isolation): select and construct the native Linux realm at startup (SONNY-5018)
- 1d4eee8ed4afe3a3ecc734a12d274136374e0a83 feat(mesh): add the managed provider input-admission owner (SONNY-4942)
- 25d71174cfc02af540e6d80bb4a88512ce46dca4 feat(meshengine): bind a session primary owner to the managed lease (SONNY-4942)
- c0bc393ffcea775216a395935eb73a02f55be00e feat(packaging): delegate the io cgroup controller to user sessions from every Linux installer (SONNY-5244)
- 0d33cd97986999bc689ed714dc4b3e19dc5a989e feat(runtime): keep only the live set and a bounded applied-key index (SONNY-4926)
- 2e6acf62189ba160d6638e937c0e366cd01be93e feat(runtime): retire settled protocol history and bound re-host memory (SONNY-5014)
- 0c2005f78a8e5f5258eb51fc265c6853ed43701e feat(sessions): bind a chat to a trusted workspace from inside the chat (SONNY-4927)
- 1e25d3165efb321f84dd2747214da511fcc0c4c1 feat(trace): record approval prompts and selected answers in session traces (SONNY-5109)
- 0ac382ae6b95a099db3cb0fc171767f31d9a6f8c feat(trace): trace desktop workspace-trust prompts and audit trust grants (SONNY-5271)
- 0009c21bd155b69b1cc3772f262817098189fef0 feat(workmanagement): add portable support layer (SONNY-4812)
- 26773894cd6448cfca4dc0f9b4e3cbf86b5a449c feat(workmanagement): ship native portable PM runtime (SONNY-4812)
- 6455db9a8a9b788f1fea3822f8081eb73440d4f3 feat(workmanagement): support multiple provider connections (SONNY-4812)
Bug Fixes
- ceab3a191cc146c69100cf4a425a545ea57810d3 fix(a2a): answer native back-pressure as retryable and wait for the session after a restart (SONNY-5020)
- f12c7ba15e233063e8cd00aed4b20d896254082d fix(a2a): wait on relay backlog progress, not a fixed answer deadline (SONNY-5061)
- a73c287f1ba7037715da5d66b1555adc1befc8d5 fix(a2a): wait out a full mailbox and leave expired inputs alone in the relay (SONNY-5048)
- a2e70c6e7a1632f066040c01712ae50676a4aea0 fix(agentmail): bound live A2A protocol references and retire them with their task (SONNY-5049)
- 76e4e60fa8a0b50f407ef8c67a44e111f31dee49 fix(agentmail): bound live incoming children and release a charge when the child is terminal (SONNY-5060)
- 8f614c37678bd9df3758ca75ba2b575d68366a2a fix(agentmail): bound live remote children and release a charge when its child settles (SONNY-5059)
- e2921abf98239ff6eeac0ac9aa0fb6db1e8e6d45 fix(agentmail): bound the open native tasks a session admits (SONNY-5061)
- 09943b0b33db1d87ce99f794b9bab4ee7281613b fix(agentmail): purge settled mail early at the retained high-water mark (SONNY-5048)
- 62bd6116dd82f8d98f4fd1fa08395ee54cd1f113 fix(agentmail): wake an idle receiver for verified peer mail (SONNY-4946)
- ea7a2cf0b5348f2eee7a1d6129c4792ff264cd6e fix(agents): place write-capable children in the claimed repository of a multi-repo workspace (SONNY-5106)
- 3150bd4253ed942d0ac6bbc603a5b1e8e4bb0325 fix(agents): stop a child whose dispatch intent cannot be leased (SONNY-5264)
- 60621554309d3062428791efdaee56cdea41e8e7 fix(agents): tell agent_search callers whether a sub-pack can write files (SONNY-4829)
- 2bb825d0b866d8ff5cb3d6e708d1210e575155ff fix(analysis): stop the captured preflight fixture expiring under load (ENG-4879)
- a49f8c172bb4fd53cb7668a742604ea6ba380615 fix(app): answer an unhosted owner conversation session at once (SONNY-5020)
- d68d9576489758e58416cb133b0c8d69124a6f53 fix(app): fold restart recovery reads in bounded journal pages (SONNY-5019)
- cc77d24e24ba8d4f12496aff5f898c30c5aa4066 fix(app): read a hosted turn’s session facts without native protocol facts (SONNY-5044)
- 2263ea6880c2a08786143e8b4095185cf4f71284 fix(app): retry a failed startup re-host with a bounded backoff (SONNY-4905)
- 3938071f5bf1fadde09a138302cca68daac319e2 fix(app): retry a hosted re-host until it succeeds and audit journals in the background (SONNY-5045)
- 768a969ffcbc7de1c8b208b9cebacbf532672a7f fix(benchconformance): point merge-order coverage at the renamed embedded override test (SONNY-4756)
- 954764a444da71124fd01c101c08d9a34626799d fix(benchmarks): reseal the TCE fault report for the go1.27.2 toolchain (SONNY-4927)
- 70b13e409538ee8e095dac8e28cac37a4d277f9a fix(build): install the macOS desktop app bundle (SONNY-4921)
- 7e16436902cbe70b3aca9096d6e9c38c1b585641 fix(build): keep build-env.sh working on bash 3.2 with an empty GOFLAGS (SONNY-5279)
- 87960700e6a96b3d7062b3f796f9cdb8d4d1c282 fix(build): stop the isolation engine and remove read-only state on uninstall
- f954365d02e466ed3d094866248a880d2b7c5dd6 fix(catalog): admit tool_exec arguments against the target’s own schema (SONNY-4937)
- 2ac91ddad74c562beed0ff73fc0111bc0d939a9e fix(catalog): certify tool_exec results against the target’s own output schema (SONNY-4940)
- d29e43913880bb5eacc0c2f143d1fdc7e582bfbc fix(catalog): certify tool_search rows that carry MCP server metadata (SONNY-4945)
- 86f9d30c66c98fd50af6c18251fbf01afd8fd42d fix(catalog): certify tool_search rows that carry an input schema (SONNY-4941)
- e0dbd148e3e4e4dc35d457c8b89e29009d99c640 fix(catalog): read the host-wide file posture on every call (SONNY-5123)
- f75394983e45ddaee4409b45d6698245103c6bf6 fix(category): never seed or route the template’s placeholder sources (SONNY-4640)
- 615b38df55912cb45a3cc22c236bad40d31ac50d fix(category): rank sources this host cannot authenticate after credentialed ones (SONNY-1804)
- b810d56aaf017d77667110604be47216b840e5be fix(category): retire an unedited starter catalog once a pack registry supplies models (SONNY-4640)
- c832e2d1eedc71376ff819317c954c4fc10950fb fix(ci): canonical, admissible test TMPDIR on the build volume (SONNY-4927)
- 778528819dbd0b22a79dc7fb7d43c907b843aef0 fix(ci): classify the nativequitqualification build tag in lint-variants (SONNY-4927)
- 2660abce808c249cae65523554255b0d559af25e fix(ci): create no publication jobs for prerelease tags (SONNY-4578)
- 4a6841b978311c1a3316af3f47a1db9782393c78 fix(ci): export the test TMPDIR in the script and budget full lint runs (SONNY-4927)
- 2f5360f123adaf0e17e944ae8ae68e5ec36b654e fix(ci): give cue-handoff’s docs/user run 45m on slow kvm runners (SONNY-4578)
- 1a45c696c5a4e1491ffa7e9efd61615e7774b91d fix(ci): give docs/user 45m on slow kvm runners (SONNY-4578)
- bbcaf40cdc7835bbfd5711d3b3cc8f7c72f6d37b fix(ci): give drift-contract room to finish the shard check (SONNY-4927)
- 16039e81a336df2efc6830be7e62959f1b119a52 fix(ci): give drift-guards room to upload its module cache (SONNY-4927)
- e036c194cd68b463a82a90529d79391be4e5ea89 fix(ci): give every lint-variants run 85m on slow kvm runners (SONNY-4578)
- 28ae01e8f39f3bfa17ca09e298fb8c1c7937648b fix(ci): give go-test shards a 150m package deadline for slower kvm runners (SONNY-4578)
- 0b12664068d1f76571e4329fc36e9eee6f3e2c1c fix(ci): give the PostgreSQL control-store shards 100m on slow kvm runners (SONNY-4578)
- d4a4e53d02056439671c7150165becbb81b4e681 fix(ci): give the SQLite go-test shards 150m on slow kvm runners (SONNY-4578)
- 1b563afc6a776cf381bbb7b8cc273cd19e9e9c5f fix(ci): grandfather the unconventional doctrine commits on main (SONNY-4756)
- 5b75b1ede3461d724b68712e19badad46f51aa61 fix(ci): install the pinned pnpm with npm on node:26 images (SONNY-4927)
- c503ce2c486dff0a90320b3a7db33c7a95f07c15 fix(ci): keep superseding when one prerelease pipeline refuses to cancel (SONNY-4578)
- 8f850702e523b96adbc7f6e92314bd35b611afaf fix(ci): keep test caches out of foreign-owned build directories (SONNY-4578)
- a9feae652ac991315234fad16ff566a37f90641a fix(ci): keep the test temp dir short enough for Unix sockets (SONNY-4927)
- cba2563240f890117ed82ff8f8264a45b154f390 fix(ci): let a newer main push cancel go-build and the drift gates (SONNY-4927)
- 025a51161ff7cb8282339b645ce4c6b2a42240fc fix(ci): lint linux-prod and linux-nocgo in separate verify cells (SONNY-4927)
- 54b516c6e02ad58cd196a6bb90bf018be0f70c5b fix(ci): name the prerelease-cancel job’s HTTP client (SONNY-4578)
- a5d300f7ab7e500ff86148107896561cf157620e fix(ci): qualify proc v0.2.1 and synapse v0.3.3 in the CUE isolation gate (SONNY-4927)
- 9ef00aef31661be4d8febcc682fe3db3e3f47cac fix(ci): qualify proc v0.2.3 in the CUE isolation gate (SONNY-4927)
- 7b209e64e4f116165615e9d42c112f986656f92e fix(ci): run the production fixtures on a filesystem with O_TMPFILE (SONNY-4927)
- 9170ac49c3915c35ad2abaaba3bad26c50ce1e8a fix(ci): set the Windows Artifact Signing certificate subject (SONNY-4575)
- d31b7c56949a89ec0865c2227e01459c24b6c295 fix(ci): upload prerelease desktop packages under tilde-free names (SONNY-4578)
- 099fceadd6815c5481132fc794cf687d0d9adb3e fix(ci): warn instead of failing when no build directory suits caches (SONNY-4578)
- 4f891f73223e4364c558c924d22efd1ed4af1805 fix(cli): compare the product’s live heap in the federation soak growth check (SONNY-5091)
- dc0cea36c3341020b7a793f44bd4c0054045d94f fix(cli): host again a local session whose host lease lapsed (SONNY-5097)
- 05dc3f5d67aff1ed04c05181b0f79d787ec06cd3 fix(cli): onboard a gateway group through its -v1 twin when both are listed (SONNY-4829)
- d5c7ed4c8e2cb1c46c5d0b03ff435b92f434371f fix(cli): run the MCP doc_* round trips on an O_TMPFILE workspace (SONNY-4927)
- ccea2d773cacf7a312272d63d221260fbcee7bb5 fix(cli): show what each child tool call touched, without blank lines (SONNY-5253)
- d28c382bb591f9d9c6160a9de7e8ca7234b2ffd5 fix(compaction): carry findings and the files already read instead of call ids and prompt copies (SONNY-5047)
- 833f4328884e9692df146f9b68148d4d9ae110c3 fix(compaction): compact TUI and tab sessions on undeclared windows (SONNY-5047)
- 3b25f08f1defe9e872b351b9d9a1a4824c6c05b5 fix(compaction): compact sub-agents on models with no declared window (SONNY-5047)
- bc69033bf87ee95d5f03a3dd0514040b1d852236 fix(compaction): hold slow models to a working budget below window fit (SONNY-5275)
- 41b80de1a3b17109bf6290f399a9078195b12fd6 fix(compaction): scale compaction timeouts to the model and trim when forced compaction fails (SONNY-5262)
- 895e7be6adcfcfc55c70d74fe48d99e67ced04c7 fix(control): observe the newest migration in the one-behind read test (SONNY-4927)
- b27564f2da3301607d12c93b3129f466dc39715d fix(control): restate the sensitive_read effect in control/domain (SONNY-4927)
- 0425278e9ee4dbcf2d95bd50959227ede2e44701 fix(control/sqlite): keep host lease renewal and fence reads off the bulk write path (SONNY-1349)
- 297f65de26ab7d52960d099d502b67f5ebaf0945 fix(controlauth): grant managed sensitive-read tools under an explicit tenant-policy allow (SONNY-4939)
- 18756cbddfbdfbbf43d504ecec591f687045eef3 fix(credentials): refuse a keyless Anthropic request at the call, not at session open (SONNY-5119)
- 56a159f45dd3d7bcd5e5689aca4a37d44a42835c fix(credentials): send the stored Anthropic key instead of a keyless request (SONNY-5119)
- 9150d409d919f1bebba106923659195349a4213d fix(deps): bump llm to v0.46.3 for max_completion_tokens (SONNY-5120)
- 0a5bb9bf2af5ef781d8238abc5beeb4da25a70ec fix(deps): bump llm to v0.46.4 for line counts, background exec and MCP timeouts (SONNY-5276)
- 4502d9d78154360d67fb3e6dd08a9702b2943f76 fix(deps): bump llmtools to v0.16.7 for host-wide file writes (SONNY-5123)
- 541a2a1c597ef66eb9ec03bcc65e2acb4ed3a6c8 fix(deps): restore the pinned Geode digest and stop unpinned bumps (SONNY-4927)
- 391c61409fe2393ef7092909287eec86131952be fix(deps): tidy go.sum and gate untidy module files at commit
- 17eb504fc8875599ec2a24fe6b0055459df40b20 fix(desktop): Disconnect clears a provider’s stored API key (SONNY-5125)
- b7a009a8088d372e6b4522bec8b9eba8d3bd5495 fix(desktop): admit packs installed after the daemon started (SONNY-4921)
- 49693af39300cf073ce3dcf468f97579b47003f8 fix(desktop): clear the turn activity row when a hosted turn settles (SONNY-3622)
- f080ca6e28d97467f083fed07eb645da0f8297dc fix(desktop): expose archived sessions (SONNY-4747)
- 2692685afb822c2c739c4c978175bb1a56efdf79 fix(desktop): harden release qualification shutdown
- 26d195eaa58988ddd4dc30ce5438d15f4ba64df4 fix(desktop): log normal connect progress and clean child exits at info (SONNY-5121)
- d97a37ffbda379f2f8ba0e8bf76f5355904fd393 fix(desktop): readable text on danger buttons in the quit dialog (SONNY-2510)
- 1d2db49bf30ffb4610bd9c640b0909335c214187 fix(desktop): retain config across legacy snapshots (SONNY-4748)
- 172440637b9a5e17dc7042c9147d04ea6efb8888 fix(desktop): retain session approval mode (SONNY-4748)
- eec9f7002832e62b5d5dbdefb79700f6094b0a59 fix(desktop): ship the Sonny icon in the Windows build (SONNY-5100)
- 1934f3a456913d8c82e21a8bc087b70ef1970ae6 fix(desktop): show bounded tool-call details in transcript (SONNY-4745)
- 9380a355f8094a27dc3d0ad8eaf4ba26e737b5a1 fix(desktop): show live turn activity in the chat composer (SONNY-3622)
- 2796ddb1fd2d90047fe12dbcc40f400e6db701a9 fix(desktop): show the model a turn is waiting on instead of a stall (SONNY-5273)
- c1b3f118da38f5768a775e77b0f0746fadb1b35d fix(dispatch): name the remedy in the unexposed-tool refusal (SONNY-5260)
- 1bed1fc9cb59b1f51986e6be443a21928cc1e534 fix(dispatch): refuse an unserved mesh.* name as not a mesh tool before the gate (SONNY-5267)
- c2505d29b5fdddd24307ee7f17400dcdadd37b4e fix(dispatch): tell the model who denied a call, why, and what to do (SONNY-5265)
- ba87e11d980f8a4daec37701c01950061469314d fix(exec): give the macOS daemon the user’s login-shell PATH (SONNY-5068)
- 7378fe9d04be108368274c8cc7a68fa1db04bb5c fix(exec): read a mis-scaled exec timeout as milliseconds and tell the model (SONNY-5047)
- 0080c821801afa2e77c20fd76dcf269fc99bf2d9 fix(exec): run every exec child with git’s optional locks off (SONNY-5047)
- 98b58b1206c13a042b0e7dc3adcc839a3e4dc9cb fix(executionroute): stop refusing read-only work and refuse batches consistently
- 183703391ac72089f1bfa0590d7a985aa3d604bd fix(executionroute): treat host-granted external reads as discovery (SONNY-5102)
- bc21d80ddc685f3d2bdad79515681bec67825dab fix(find): treat a partial find result as a notice and never reuse it (SONNY-5105)
- a1dee079e487f38bb30db68e51578aaec1099d1a fix(gitfetch): name git authentication failures and retry with GITLAB_TOKEN (SONNY-5130)
- f988ae1565c8bd655f07655cc009fc5fce6d485f fix(gitfetch): say who holds a repo lock and never prompt while holding it (SONNY-5128)
- 53100d6407d876e0a61b40e862cf88cc50b134c7 fix(hosted): a tool error no longer fails the turn as a raw-payload system message (SONNY-4050)
- 18badb62ed6de86e19ca1346befd9d625ba13f23 fix(hosted): commit the reply of a turn that fails after answering (SONNY-5058)
- ad7b10386dfd011500d54e5ba974fe218c3d31f0 fix(hostlease): keep host leases through transient store stalls and continue fenced TUI turns (SONNY-5312)
- a5883955a57e873a0e894a2abb68e91a827e950f fix(isolation): bind managed cells through the session’s verified realm lineage (SONNY-4932)
- 018b33099daa968d1edacb1e2f1224e776c42631 fix(isolation): bind managed execution authority to the verified managed identity (SONNY-4934)
- c5b7ab6854012d46ec3160ada5fbc14bf64b9170 fix(isolation): enable delegated controllers on the user service before creating the native cgroup root (SONNY-5244)
- 962a0cc8649ae4cc11885065d0db5ee6f68ff4ec fix(isolation): hold a busy day in Sonny’s default Docker journal (SONNY-4938)
- e767f7f5c36487efbf9bd16f0b99d4e1d2a3d780 fix(isolation): pin realm runtime facts in managed session dependencies (SONNY-4928)
- 1c610951af2c253844d82494639a39ee984f3967 fix(isolation): re-verify live managed realms against recorded history (SONNY-4925)
- 76fdda3844ebe9a49ed0f84cd4f9e907a0f5bce4 fix(isolation): renew managed realm freshness with signed realm renewals (SONNY-4930)
- e8667f2f4be2fa8c66027247a37367321f0a4d34 fix(isolation): verify managed realm lineage incrementally and lift the 4096-record proof cap (SONNY-4936)
- 516a627d2ab5e4b4d60a7d549235872abdfdc541 fix(isolationruntime): refuse a revoked structured capability before dispatch (SONNY-4927)
- ee2fbd170581774b61844fd971bd1d9c56455512 fix(lint): name the project tier and capability result key (SONNY-4578)
- 898224a8bb44592977c7bdca145ab7487f66fd9a fix(localprofile): stop digesting the whole control database on every start (SONNY-5098)
- 59545c0544b362483c24058b9e8c5713c2c6f333 fix(mcp): always admit Sonny’s own sonny-internal server without an allowlist entry (ENG-5221)
- 509b43e5a7d9222da965280016e83e398569cb32 fix(mcp): name failed MCP servers in tool_search and retry cut-off connects (SONNY-5250)
- d343bc4ecbc612fc67103ec2e477236d7a732eb3 fix(mesh): answer a peer for a closed recipient as closed (SONNY-4943)
- 1dd7e88af284ff2a84a1085f5099ba656b88df4b fix(mesh): back off agent mail resends and stop them on a received receipt (SONNY-4944)
- f83d0a2e4eddbc66b0bb69134083a399ea700246 fix(mesh): fail a hosted turn whose output copy falls behind (SONNY-5013)
- 6722a449b1a93b0738bcdb2ef5f74af22aa208df fix(mesh): give each session stream its own copy of the output (SONNY-5012)
- b6e3a9e3a18212b60f9a3749d106fa4d8bb422ca fix(mesh): give the managed peer-wake tests slow-runner headroom (SONNY-4578)
- e35d35b5bb3b7b6798fa550e1b24ecf69bda851f fix(mesh): interrupt a managed session whose host lease is lost (SONNY-4943)
- 256adf660dcdcc133705b1fd024d9e94fd35e744 fix(mesh): issue a real control-plane grant for every managed catalog call (SONNY-4935)
- f38cb60c9ac51da5093b091b99bfdc8aadf1fc63 fix(mesh): keep sealed turn prompts out of the turn run aggregate (SONNY-4947)
- ba1d20929722a842c2cde1db3ff8fe11d7fe775f fix(mesh): re-host a Desktop session whose lease lapsed with no competing holder (SONNY-4943)
- 7ef53db0decae8b5ba7533561dc63a2de06351b9 fix(mesh): re-observe a peer grant until its mirror is observed (SONNY-4929)
- e57a9a0d2fb81211f1b124c660cffdf7d3ff9f01 fix(mesh): record managed operator turns and wake idle receivers (SONNY-4942)
- 279366b49e4a725c6d501e05e5b1d3d171d409bd fix(mesh): revoke a human-attach key id that begins with ‘-’ (SONNY-5113)
- 5f227babc7bcfae3ad5b5346fe584ce445f4e9fa fix(mesh): seal the reply and tool results of sealed turns in their run aggregate (SONNY-5010)
- 63d8c3b84574832268857e973edb113ac400d751 fix(mesh): settle a managed node’s sessions as INTERRUPTED at restart (SONNY-4931)
- 851b704dbccdf1de3664655eb67e7aea54937206 fix(mesh): settle terminated managed sessions and cancel turns (SONNY-4948)
- 98ea0a8427f994c8d61f70cfd799c34c3e3a82a6 fix(mesh): stop resends to a closed recipient and cancel the sender copy (SONNY-4944)
- c2ed7d972a9c104671050a19e33376c487b19d34 fix(meshengine): apply the refused-provider notice only after the route fallback
- 81e3ecdf8029f4ce9ca8aae0c3e40c5f6fb5e584 fix(meshengine): record a canceled outcome for hosted turns on daemon shutdown (SONNY-5047)
- 95b4f7129823cf979a38ce662a24098f9250f5e3 fix(meshengine): record a lost host lease before a hosted handle is done (SONNY-5239)
- cb324cfc4a354240d8197db065f6f63dd3ebba35 fix(packaging): make fresh-install work and repeat on macOS
- 45c980c6d608b73acc3db322abb2b424d7acfc22 fix(packaging): retire supervisors on every endpoint before an install (SONNY-1349)
- d65cab91c5a81a39abb158736e6c11e0e4fd57e1 fix(packaging): say the reload delegates io to running sessions and name only stale ones (SONNY-5244)
- 36a6e7a9d1f664ec0a1fae83255c07f69cbbc825 fix(packaging): terminate a supervisor the protocol cannot stop on install (SONNY-1349)
- a453b709ae020f6fb47580ab488b178e402a8562 fix(packload): record llm v0.46.4 as validated for parent-merge inheritance (SONNY-5276)
- 5672d5374cdb1f13268e4d636d0bdf1bb097c843 fix(packload): validate CheckInheritance against llm v0.45.0 (SONNY-4927)
- 80aae863a0e10dd7cc3146d42f7b4a6421cf48d4 fix(packload): validate CheckInheritance against llm v0.46.0 (SONNY-4578)
- 280ff41e887c75ef65a8029662d25b28519813f7 fix(packs): opt in to unsigned embedded overrides in the restored-parent test (SONNY-4756)
- 51d17241e5b3a06632c463656a7fce2b9561c815 fix(packs): stop startup pack fetches blocking startup or dying silently (SONNY-4829)
- c7a9395097a63287f15dd1698e6ff9c7bfb37935 fix(packsources): add a local directory as a pack source (SONNY-5127)
- 6433a7f86057da0f3bde01c031db68433cbfd155 fix(packsources): register a pack source only after it clones (SONNY-5124)
- 521c3a74eab5a0ef147f2872ca9e156b8ff3324f fix(parity): disposition ClientTurnsSource and re-pin the daemon and client inventories (SONNY-4746)
- c409b4d12166ca773c8e77cc8b81aba7253a9032 fix(permission): auto-approve read-only forge MCP calls such as read_tool_output (SONNY-5107)
- ca415257814da56eecc9f958f49d736fb3a39923 fix(permission): lift every per-call approval class in dangerous mode (SONNY-5255)
- bfa0f241f27f7ad5d56beb26367fbee314c49e98 fix(permission): place absolute effect paths against the checkout root (SONNY-5261)
- 59a943545b9ab85646181be5b503ab1537cf0e83 fix(permission): require direct approval for go clean -modcache (SONNY-5307)
- 9478720a2b4ee38cdf5054434252916a025d53e6 fix(permission): require direct approval to overwrite uncommitted work outside a worktree (SONNY-5118)
- 1d67fa2507a84bac8141d6ee884232e302d2c031 fix(permission): require direct approval to read stored credentials (SONNY-5266)
- 1b933b18546a8677f60487f6a307d43a4ba89f8d fix(permission): run workspace-free tools in a chat with no trusted folder (SONNY-4927)
- cab700787f1dec86b3b6bc850e2d9fd1df951c79 fix(permission): treat repos nested in a child worktree as isolated (SONNY-5257)
- a975de0900a58b5d841f15ddebbc2f3d9c5e6a35 fix(planbaseline): let the recovery report settle journal records (SONNY-4927)
- d28c27e3638dcf64f3d9dfb0b4355e46b5e4cb66 fix(planmode): grant GitLab reads before planning and in Plan mode (SONNY-5102)
- 3c78b2558b67c35caa61d071555982e4174ed1c2 fix(projection): name the live turn progress kinds in the reducer switches (SONNY-4745)
- 197c694cdf7552e4639cb9a2cc168c5c0b32ff8b fix(projection): settle session state from an external writer’s turn activity (SONNY-4113)
- 5fdbc78657f6b59d9d00f6d194ee807e735a1aef fix(projinit): reuse an identical generation on disk and keep the title checkout-independent (SONNY-5047)
- 405c6b376e4ccd3ecc046e2e3084f25a7728569c fix(promptcache): send a stable per-conversation prompt_cache_key on OpenAI-wire requests (SONNY-5047)
- b195cd335cbd4e8c7cb1ef34e75272ced1fd85c9 fix(provider): send a catalog row’s api_model and params from every session binding (SONNY-4829)
- d1276c69782952c282db6e773eb5774509f163ab fix(provider): send the catalog row’s api_model and params from hosted sessions (SONNY-4829)
- 35b2d1dcc05bcd383eae4a5b8f881bd14200dbbf fix(release): give Linux and Windows desktop builds a two-hour job budget (SONNY-4578)
- 3bb991a9050d56950d8012388f12336af5411335 fix(release): name and depend on prerelease desktop Linux packages by their deb/rpm version (SONNY-4578)
- b2e59bd77ecc1bf390d221aa730aa1105f30f012 fix(release): publish prerelease desktop deb/rpm assets under the release version’s dash (SONNY-4578)
- aac88ad4bf4e21b76fae573c490bfaf703989a16 fix(release): put the macOS signing keychain on the search list (SONNY-4578)
- 47f437a3d10d52920631fce8aee611fe3ce4d785 fix(release): sign the NSIS plug-in DLLs the Windows installer loads (SONNY-5101)
- a603b6eae6cc942aacf816748f31a93dd7ad9978 fix(release): unblock the desktop signing candidate on macOS and Windows (SONNY-4578)
- cf57ec852b788ef666e8247bbe3699e80d2bff58 fix(release): verify the WebView2 bootstrapper against pinned Microsoft roots (SONNY-4575)
- cfb086a77a7c66bf02a59faa6db71660742c0bf3 fix(replicated): bound undelivered replication intents on the local profile (SONNY-5062)
- 5552ca2bf9a6103947b6af8b38d69413bb3f1590 fix(replicated): forward acknowledged outbox pruning to the inner store (SONNY-5070)
- 7a749f3a8c506fd8743cc29822a8d6f6de0ba446 fix(resourcereuse): a read the result cap reduced never backs a full replacement (SONNY-5117)
- 2afde15138272079dca922bd96c60d2acc4cdcc8 fix(resourcereuse): accept a chained edit naming the session’s own after_digest (SONNY-5093)
- d606648f7898407fb8da274e16d35e3e519e71c8 fix(resourcereuse): build the line-anchor observation with the complete-only constructor (SONNY-5117)
- 2b42243f07f6c44ad7a326dc0d1f93c9356a7eb7 fix(resourcereuse): canonicalize the model’s expected_digest before judging it (SONNY-5263)
- 0cf861f4cd9bc7ae98e8a94481e088455d8ffcbb fix(resourcereuse): keep the observation when a failed edit left the file untouched (SONNY-5090)
- 7547fdba28603ba1c8423a78944b89b548a93461 fix(resourcereuse): name the untrusted basis when a recorded digest is refused (SONNY-5246)
- 360021cd313c7686ff42948cbaa6ca68793ed7e4 fix(resourcereuse): only a delivered read body may be a reuse source (SONNY-5089)
- 3838b0d11195dc39768764280ca2175f8c06955c fix(resourcereuse): refuse line-range edits on lines the session has not seen numbered (SONNY-5112)
- b90b95623cd00bd8c997ff9703f74942e33bf3c5 fix(routing): classify a local param refusal as policy and say what to change (SONNY-4640)
- 484c1b6e2e0c9184156d40ec6b32463935bb0100 fix(routing): classify a provider that never answers as a retryable timeout (SONNY-5092)
- d2e1e08190f58c0fa2a8582edbd762aed8f8377f fix(routing): fail over to the next candidate on a capability rejection
- d6895598ea9276440f327b6479bde993a56eb745 fix(routing): fit routed primary requests to the dialed target’s window (SONNY-5047)
- 286670d0ef00e1a9795088ee3f7570bb0c97e00c fix(routing): retry an undelivered provider hang on the same target and bound inactivity, not age (SONNY-2290)
- 84b747594c2b203db059a5abaf14ff02a8713734 fix(routing): settle an overrun hold and keep the paid response (SONNY-5047)
- bbfaa9a1ea381129bf9388ab2d7aede51b64aece fix(routing): shape reasoning effort for tool-bearing calls per deployment
- 6477b684d5b34b510540550ef52a7d940bd486ec fix(routing): stop fallback targets inheriting the primary route’s reasoning effort
- fe200b192b929779d7e74439be6424bcd29cb8de fix(runtime): a parent cancel after workspace-lease expiry still stops the child (SONNY-5047)
- 2d4323cdc659480643bea78e11407421b6c51afa fix(runtime): a split-admission refusal fails the call, not the turn (SONNY-5261)
- fae6a5af2038859062c06ff76fd0ca1a9b14d0c4 fix(runtime): bound goal completion review loops (SONNY-4744)
- 6ffafcdad100650fa99d7ba1e744ef5fb679ee92 fix(runtime): bound how long child reconciliation yields and retries (SONNY-5047)
- b215ea7f45785e213eeed27b38058ed38f63c50d fix(runtime): bound the goal completion review’s input (SONNY-5274)
- b80eb25460b8ffd90439e478717e09d6f86114bb fix(runtime): calibrate the compaction estimate from the provider’s own prompt count (SONNY-5047)
- c824acd9ec6a736860c1cf11ae5da9baf929f0f1 fix(runtime): check each fact detail once instead of on every append (SONNY-5061)
- 61f7b028d33548531a8b36d45e86e158607d1bb0 fix(runtime): create delegated child worktrees in the per-user cache, not beside the checkout (SONNY-5047)
- cac98af30a45411b5252e162937bc21f03af34df fix(runtime): end a blocked goal as a turn waiting for the user, not a failure (SONNY-4927)
- 22edc37c29ac4b2e8e6c8484c27d313e77ef8167 fix(runtime): end a workspace-less policy denial with an actionable outcome (SONNY-4927)
- 3a967a5236937ba67e2e261e950ef03f98154ae3 fix(runtime): find child worktrees in the per-user cache as well as beside the checkout (SONNY-5047)
- 4095b04deb515c2f30cd7009af83e565f99f5715 fix(runtime): fit the retry after forced compaction instead of deferring it again (SONNY-5047)
- b630047ae3dcef088058d9ca7f8dd4cd246eca7c fix(runtime): fit the retry after forced compaction instead of deferring it again (SONNY-5047)
- 3c36fc32797972bc44cf6ff2ce989854f602a70f fix(runtime): give the goal completion review its own output budget (SONNY-4927)
- e4a3e97be474aefc3cfe3991ef8f9883e2d5e8d3 fix(runtime): give turn finalization writes the store’s lock-wait budget (SONNY-5047)
- ba1467e5b5be0222e5f953f82969c06d72efbee2 fix(runtime): ignore timing fields when the no-progress guard compares results (SONNY-5111)
- 863326ad0127cc9471a1af513908652a1eb9a5ab fix(runtime): ignore tool_search timing in the no-progress guard (SONNY-5111)
- 4dabb131b629509efcfc512db3d06183885577ec fix(runtime): integrate only a pulled child’s own change (SONNY-5306)
- 92c9f6324437e83eb6e59b013289fd76637821ad fix(runtime): keep a discarded child’s work under refs/sonny/preserved before removing its worktree (SONNY-5047)
- 5daed221e630e542143d6d03c781d84279d65e9d fix(runtime): keep a running child whose workspace-lease renewals the parent missed (SONNY-5047)
- 2a3f97315d9a100e5d83a8ab6aeae6426942cbc2 fix(runtime): keep child reconciliation from starving the live turn’s writes (SONNY-1349)
- 8a27b06658b87c9034b4b74b0037e43b42bfe59b fix(runtime): leave untracked nested repos out of child snapshots (SONNY-5258)
- 794bb6ef841e24a1b4e228a83fc9e9f68d5e5b74 fix(runtime): let a canceled Sonny git delete its locks before it dies (SONNY-5047)
- 68eb18563760f48d8459cfbcc9f708394477cfc4 fix(runtime): relay sonny run children’s journal appends through the parent (SONNY-5047)
- 304f3130e91e403eb626be99c068121b8aca9550 fix(runtime): remove child worktrees that hold no work under the integration claim (SONNY-5047)
- f02542bee68b105d258b856fc3957382570e69ee fix(runtime): retry a reasoning-only review once and keep an unreadable review unverified (SONNY-4927)
- cfde30f6350e1bb2d033bace646ed6c1f0be6f57 fix(runtime): settle a relay’s conversation with the task it forwards (SONNY-4926)
- 6703653786416c87f414bc058b7258780a2ec7fe fix(runtime): stop a foreground turn that repeats identical tool calls without progress (SONNY-5069)
- 889206350285e6482aa02c8d27a3f3687a6ef2fe fix(runtime): stop a turn that keeps repeating the same file change (SONNY-5111)
- a5ec975f6368938c9dbd3255472bad618d68bb8a fix(runtime): stop capping main-loop replies at a row’s 1024-token default and recover cut-off replies (SONNY-5064)
- 0633af9451d0a4a416288e42b8643c65d039c18d fix(runtime): verify a resume from the verified head, not the whole journal (SONNY-5045)
- 17af8c9bf4a377e2999e1e448cc8a308af9c7597 fix(runtime): verify a session journal from its verified head (SONNY-4905)
- b505fe35b990a6e42627c1ce8281020266e92940 fix(runtime/hostlease): treat slow renewals as unconfirmed, not lost, until the lease expires (SONNY-1349)
- 7afa6b7b730d212e8c5376f9ed8ff950a1acb411 fix(runtimeworker): wait briefly for a session’s previous fence (SONNY-4927)
- 20601b61b2e5c865817755023bd72e27fb3de036 fix(sidebar): cap the goal to three rows with an ellipsis (SONNY-5243)
- 4eb7919c341da56870167ceae49ce1151ebfe357 fix(sonny): open a new session on a usable model, not an unreachable keyless local one (SONNY-5251)
- 11908e95f9da0de475e857b6aa5bb3642d83eb29 fix(spawn): accept spawn_agent add_dirs while the session auto-approves (SONNY-5268)
- 609edb181370d1bb33ad2aa5545ce32e129d7d51 fix(spawn): hand native sonny children the session’s MCP integrations (SONNY-5087)
- 0ca89ca1fecfe8d3680dcf5a6617901b402f1ddd fix(spawn): keep the REPL gate construction the turn-registry test pins (SONNY-5256)
- adc40242d2eb3e4a89e41c22c8680ef9de5e17cc fix(spawn): sub-agents inherit and follow the parent’s dangerous mode (SONNY-5256)
- 99a39bf5dc27365e75ffc3d654bb2169de17c9b8 fix(store): back up every event of a long runtime journal (SONNY-4905)
- 9dcdae9ff0623ac109189addca565bd296830bd8 fix(store): checkpoint and truncate control.db’s WAL in the background (SONNY-5047)
- 67170b38d77d5e93b6a169e0de7801b4bcdc16f6 fix(store): delete acknowledged replication intents from the runtime outbox (SONNY-5070)
- 67d64f481b4bc4856bc6c1cfe528868fef6629b0 fix(store): keep host lease renewals from starving under bursty write-lock contention (SONNY-5047)
- 1f42dc66b203b5f09054e752253ae66e507ad8fd fix(store): keep the re-host heap test out of race builds (SONNY-4578)
- 5f9bdc3b56a4ded51809ef6d9f607512f8907d02 fix(store): lease a runtime outbox topic through a topic index (SONNY-5062)
- 0a79de006223c42fbc26ae14e61667739e4ecee8 fix(store): read session projections without decoding native protocol facts (SONNY-5044)
- 33a1ea91f6e9f81f20089526e13e66febabc65ba fix(store): register sonny_sha256_hex in the SQLite migrator itself (SONNY-5071)
- 591ff71277c08a4e1515404bf0f3818f650c44e3 fix(store): retire settled agent mail and enqueue no unrelayed mail events (SONNY-5240)
- 524868a79418cf55a6d8d3253f9a5165ac5faad1 fix(store): retire settled protocol history in the local supervisor’s control store (SONNY-5238)
- c92e6752feb4111aa8c6b6ad72da3584a368b1fd fix(store): retry transient fixture database drops within a two-minute budget (SONNY-4578)
- cd2db395fce44ae614490ea149677dca9b5b4863 fix(store): wait for foreground writes before retiring agent mail (SONNY-5240)
- e623671da654f8dc1bf45b524c8475fafb3ab57e fix(stream): steer parent input into the running child turn (SONNY-5252)
- 8bcc9102b698dda7ac6cc6214ad7643aba8f6308 fix(subagents): ask a read-only child for file contents only when it must create or change files (SONNY-5047)
- a3bb185aa840a9d67ea9045569e958dde4beea70 fix(subagents): bound mis-scaled exec timeouts and surface why a child exited (SONNY-5047)
- 2195e4587fb446983aa34676858bddcccba7e2c6 fix(subagents): retry timed-out child reconciliation and contended budget releases instead of logging them as failures (SONNY-5047)
- 6e0ce79cd9d332184f38bda1120760f8cfa05663 fix(subagents): stop a delegated child’s no-progress loop and deliver parent input mid-turn (SONNY-5047)
- cf5bf1c9d15d790ffc48285e9eba768ebaf20b63 fix(subagents): stop the child progress guard flagging paged reads and killing a child that reported or edits (SONNY-5047)
- c66708382312e8ae45138b83f9b7669798ed1125 fix(supervisor): keep serving when a client hangs up before Accept
- d7b8d3f8e7f38c52d3e90936e39f2604c90699e6 fix(target): learn which reasoning remedy a deployment accepts beside tools, and stop on none (SONNY-4829)
- b2c68e83d9f82c844022de3e230bb8cec14c9026 fix(target): reset only after the request is read in transport-error tests (SONNY-2283)
- fa771e7f5f0326b9e8bcf37387a6136711aa6a91 fix(target): retry a tool-bearing turn with reasoning_effort none when LiteLLM rejects the pair (SONNY-4829)
- 836d8101a57c58617058dd4ad25442b2818ba987 fix(test): give expiring store fixtures 15s on slow kvm runners (SONNY-4578)
- 032dd83f2255c61f91895c565fa2ee5b33fef5b1 fix(test): give the expiring relay tasks a lifetime a loaded host can answer in (SONNY-4578)
- eacf433cf06e45d72d83a5b40fe79022a817c901 fix(test): give the wake expiry fixtures 15s on slow kvm runners (SONNY-4578)
- 6f40d81c811c36dcf9194c5e99ce75251b8d588b fix(test): leave the peer fixtures time to confirm a stalled lease renewal (SONNY-4578)
- 73231952b83b1e533f33b2b992471e0ade992d96 fix(test): reconcile drifted parity, CLI and mesh peer tests (SONNY-4927)
- 1e8d4526b540e3fb9a371e8d95296ebd2aefca24 fix(test): run the resume measurement as a smoke check instead of skipping (SONNY-4578)
- 0d23ceb952b43bdc2f62c4103fa1dfbbca394751 fix(test): stop git fixtures following an inherited GIT_DIR into the caller’s repository (SONNY-5242)
- 59e1198385aacdf2b0ed27b1f5fc0f867dfaf5de fix(tool_search): match nothing for a capability the session lacks (SONNY-5088)
- 811fe4ac71bf20831ecbf8f0b8f6a493c39d5d5e fix(tools): delete_file, headless /cd and mesh file tools read the posture per call (SONNY-5254)
- 0b0766d26385c838897181c31d027a004a2325de fix(tools): keep MCP out of the work-management model surface (SONNY-4578)
- 32838bb4b1a074adcceba8cd71c2997d49167131 fix(tools): native file tools read the host-wide posture per call (SONNY-5254)
- 514580021e63f224dc4b1daa0753f441d7d1675a fix(tools): provision private staging for in-process workspace scopes
- 7292e67745ba2882b7c7445e248df70519596396 fix(tools): report partial results as successes flagged partial, not tool failures (SONNY-5066)
- a553a740262acadc2d4ebe76f48c24c381f748ee fix(toolscope): declare the agent-process tools with spawn_agent so the tools array never grows mid-session (SONNY-5047)
- 886d308f7854db975ef820b5faba2592258aba84 fix(toolscope): keep read_tool_output reachable for restricted packs (SONNY-2338)
- bbcbc42ee9156861f76ca8b62a519fc748ad8d37 fix(toolscope): point exec git commands at the typed vcs_* tools (SONNY-5104)
- 3c2509f3d13e0c224b421c1d9a7798f283f59058 fix(toolsearch): stop the reworded tool_search loop (SONNY-5110)
- c36ccbd19a9b8e24979b89b47dd4912f8f99d64a fix(trace): count a reaped child’s events in its summary (SONNY-5245)
- 76af4c6e99857be3f093700553b1ccffa0aa818c fix(trace): name ScanError files relative to the scanned root (SONNY-4927)
- 8d432037abe32bc45b11619172bc3661bf9d1709 fix(trace): record a run’s own termination reason in its summary (SONNY-5259)
- 4a1278ff9d2c7a27afdfcd77c8791b77d3fa09c2 fix(trace): record the child’s own identity on agent_session (SONNY-3592)
- 61b846061658a062c1bbfb9da6fc32e6e4cf70d8 fix(trust): judge desktop sessions by the desktop’s workspace-trust grants (SONNY-5270)
- 309facd3cd0d9c087f052832e5e23aba9b5d45f4 fix(tui): admit picked and pinned models through canonical routing
- d66468d5f5bc5634e862f8a2d0d232eb24669058 fix(tui): authorize primary factory against served profile identity
- 281a23e06212b33185c474d5edb9a9d2ffcb4c3d fix(tui): bind picked api_model rows through canonical routing (SONNY-4829)
- afbbd4bfdbd6a39044ed28863501b2c946616916 fix(tui): fence turn activity with the host owner the turn ran under (SONNY-1349)
- 13413f10b72ebf71dccf565997e31b7c76225906 fix(tui): keep local turn activity over a stale daemon projection (SONNY-4113)
- b01535894bcf59652127579af83a365dd39d67aa fix(tui): record external-writer turn activity in the session stream (SONNY-4113)
- f6fb31d953f56055052f69b2b261205fc8339de7 fix(tui): recover a sealed external writer owner on a new lease generation at the next send (SONNY-1349)
- 562c57a713b2a83f41cac82a09f075859bd6401f fix(tui): send the TUI’s route switches to its daemon session row (SONNY-4113)
- c1d23fd01d7720e7f0e1d0a521368e2fa62dc2ee fix(ui): apply a same-id pack switch whose content changed (SONNY-4927)
- fab72c71aa83f5292d8a981da253ec5766196f5e fix(ui): filter the environment start picker by the latest running set (SONNY-4927)
- e250dc697929d70a99adb7283775aa0ab1035430 fix(ui): keep a session busy while its sub-agents run (SONNY-4113)
- 42da019f7c41773337349eda3b39af96785fc83b fix(ui): keep text streamed before a cancel in the interrupted reply (SONNY-4927)
- f223b05dcb6dc1bc6550e2511252b3103d23fa7e fix(ui): keep the shown plan revision rendered while it is re-read (SONNY-4927)
- 973eef43f49fc90163b3080caef4220253cc478d fix(ui): let an in-flight turn settle before quitting the TUI (SONNY-5047)
- 3d9405b47e16d11702e68c945867fc5b90b297c8 fix(ui): offer approve-all with dangerous commands on a publication prompt (SONNY-5108)
- 777a1de75cf78ca78b02949cc1e2614b34b89b2a fix(ui): re-list New chat models after Settings closes (SONNY-4921)
- 179ef0aff66545127289f33e315f7a692013672d fix(ui): restore the frozen ui install and the /jump and /split gates (SONNY-4829)
- 1fd052f4524b5b6713cfc44167cfdfdea65494c9 fix(ui): say “canceled by user” only for a cancel the user asked for (SONNY-1349)
- d097d13d8851e0cde31f3614ba65330206dfc10f fix(ui): say which provider refused the connection and what to do (SONNY-5251)
- c8bd4bcc7c9da0dd3fbeec3f0e5d0b4114abbd64 fix(ui): stop calling a /models selection a pinned model in the routing log (SONNY-3150)
- 701a333134fef1667e2716f2c9178b1fe0ac592a fix(vcs): bump llm to v0.46.2 and llmtools to v0.16.6 for vcs_fetch and vcs_pull (SONNY-5103)
- babe5ccfb49626962af6feb0d6bb1faaa33390fb fix(windows): stop directory fsync failing with Access is denied at supervisor bootstrap (SONNY-5099)
- c8538c06d9858a9e4499a4d7d212e1dde078a475 fix(workcoord): resolve project work claims per repository in a multi-repo workspace (SONNY-5073)
- 375bee33a766eeaa8824a9d896cf1bc4b9bb61d9 fix(workmanagement): satisfy repository gates (SONNY-4812)
- 0151981972e7a634cca54bdf74ad3b6dad00a307 fix(workspacetrust): hand a trusted multi-repository workspace’s trust to a delegated child’s worktree (SONNY-5047)
Performance
- 52baf6680dd01a8994b3ca9fe0a72c6bc969fa2f perf(ci): let precommitci-authoritative read the go-build caches (SONNY-4949)
- bc61baf7b019b0138b8bf56183b6db7d948a203c perf(ci): publish docs beside validation, only when docs change (SONNY-4950)
- 1f6d01bc616cb52e5e6d3b9885df23428ef2a6cc perf(routing): store shared route snapshot parts once, content-addressed (SONNY-5047)
- c484bc52fd844659cb8dbf3a6bca9a475f7881a7 perf(runtime): store session state in append-only rows and checkpoint periodically (SONNY-5047)
- 39a702476392dadaf8a4c54cb619e7a039392ffe perf(runtime): verify the journal once in InspectRecovery (SONNY-5019)
- 221227107e94ca2bbeb2a6e3922458a25453b29e perf(store): verify a long runtime journal within the re-host bound (SONNY-4926)
Others
- 9222cf675a3fb5306bf98b7d8ac4a6ff026a713a Merge commit ‘050a08f6d1015697f1588138bc353435761f839b’ into codex/direct-merge-197-606215
- 5b2c9a40565e35ad5a8bca8c7e2f611c7b7001c5 Merge origin/main 286d26153 into sonny-gate-c-fixes-v2 (SONNY-3411)
- 48c30b0fdeda44e02e00a717d254ec015c65f437 Merge origin/main a7f96a0fe into sonny-gate-c-fixes-v2 (SONNY-3411)
- b9bec7e1e052a4ec49cf56410836bfa896847ae6 Merge remote-tracking branch ‘origin/main’ into codex/sonny-4812-4815-support
- 050a08f6d1015697f1588138bc353435761f839b Merge remote-tracking branch ‘origin/main’ into codex/sonny-4812-4815-support
- 2adfe17f5c163155986ac78ace7d139aef3725e9 SONNY-4755 compose base doctrine for hosted sessions
- 9de2b41edc10ddefbd88cdff8b588ad49b5b1c65 SONNY-4756 protect embedded recipes from unsigned shadows
- 63e0c160dd78657d32048bb8661fea28bc4a9a41 chore(deps): bump devnw.dev/llm to v0.46.1 and llmtools to v0.16.5 (SONNY-5065)
- 0b290a166ee30a84a1ad20a0c84fc53af9d24ec8 chore(init): refresh the tracked project init state for AGENTS.md (SONNY-5047)
- 76c580b1dece2f50f001e6271eda7c3d775d7339 chore(release): bump to v0.12.5 (SONNY-4578)
- b5bf6ffd259390bb3b72465a9ae5f2872f1eef47 ci(docs): publish the support-portal KB from a child pipeline (SONNY-4950)
- a3e98449565c6c04f293cf28aa95cab4744cab99 ci(fuzz): run every Go fuzz target in extended mode on the weekly schedule (SONNY-5129)
- 63323505044793078ee6af2e626ac1ea1a648ed8 ci(release): sign Windows desktop builds with Azure Artifact Signing
- 1b404f59b18a79afbd3b485bbf974ade94e6adb4 ci(security): make local scanners the single execution (SONNY-5131)
- 371e6385d90528f6d8272e0ea0258c92e198cf25 docs(architecture): record resume verification from the verified head and its security decision (SONNY-5045)
- 5f8d4fc887f4c61997c491d59f851e9e65d966b8 docs(assurance): inventory the sonny worktrees prune command (SONNY-5047)
- c3015a52f4d6dbda7f020abde06cc7a6c52b696c docs(assurance): re-pin the models list probe after credentialed-first ranking (SONNY-1804)
- ca7ef186a728e5cf3d09a913c52255ecccf4f57c docs(codeindex): recheck the codeintel contract against llm v0.42.0 (SONNY-4927)
- 1b2c42b71b3a46d64c458d9b37d93bab06ead522 docs(isolation): document the [email protected] cgroup delegation drop-in (SONNY-5244)
- 5964001417589fc03ad44365e7733292675b7405 docs(isolation): move the architecture revalidation pin to the 03431f18 merge base (SONNY-3411)
- fa7958df5db5a4bd43060535901f67079b72b5ae docs(isolation): move the architecture revalidation pin to the 03431f18 merge base (SONNY-3411)
- 9882d4b282df8804ecaf8c7cbdb6fd0fb03eee64 docs(isolation): move the architecture revalidation pin to the 03431f18 merge base (SONNY-3411)
- 3ec83e6d267ec8ffd45b9bfe139b75b06aaf352a docs(isolation): move the architecture revalidation pin to the 03431f18 merge base (SONNY-3411)
- 0a6061b8383e73536b9c392e9665bac0c0daf2bb docs(isolation): move the architecture revalidation pin to the 139ced82 merge base (SONNY-3411)
- d42107e12189e82c65015b626e86a188f4b9c2dd docs(isolation): move the architecture revalidation pin to the 139ced82 merge base (SONNY-3411)
- 046ccc4d2cf5340eb1fd098132d3a2e2f580a1c7 docs(isolation): move the architecture revalidation pin to the 286d2615 merge base (SONNY-3411)
- 8077025347b25643dac9662f6fdef42d2ad22eb8 docs(isolation): move the architecture revalidation pin to the 286d2615 merge base (SONNY-3411)
- 20e57ece30a4b40c91ca25164e1fbbad35c0d01c docs(isolation): move the architecture revalidation pin to the 3715798b merge base (SONNY-3411)
- 383eb90d61400cf76833adec6ee4bd8a678fe247 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 3e32221eef7a93a8be3c45c94367bc5183eb7344 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 22dc7ac91c08c1eca54b83b35fde7a80f89d7521 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 93cd4d9cd45a74f4476e868973a3bf5cfe28f867 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 9f4dc30cee52a667d7e487592454b4541e0bede7 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- bf3d439d8e4d04370b9f590ca312ebfc93e6b07c docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 1d417794527ba667914aef45d84b2fd89919d1ad docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 008140537ff871476ddd27d4161d2295aa6b3757 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 955495cb516cdff6d3b96148ebffc0ef933e23c9 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 951e3e15290d820fbaf211192eb622fa0ef7b856 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 79b4b6089c227203172ba0caf5fc8a0412c7b000 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- fe8e7cce0661100577ecc64cda738a81f3965a98 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 80a2b864ad9e5faea9ba6f6531a2bee2c9b1d954 docs(isolation): move the architecture revalidation pin to the 5a53e37a merge base (SONNY-3411)
- 2905adf7c68bd0715412cb75d7cfe4640b4d47b9 docs(isolation): move the architecture revalidation pin to the 9387bf46 merge base (SONNY-3411)
- 1b3d3b30a9efc19d11ef6e5832c926a5e3fe063a docs(isolation): move the architecture revalidation pin to the a7f96a0f merge base (SONNY-3411)
- 3a4f682fb76af51a0b98795b6cc853af4fb6a010 docs(isolation): move the architecture revalidation pin to the a7f96a0f merge base (SONNY-3411)
- eb377391393bcf57d5067be2d450e3181406d547 docs(isolation): move the architecture revalidation pin to the a7f96a0f merge base (SONNY-3411)
- b64b9a86d6983cb624dd2afa325ec96a4142f9bb docs(isolation): move the architecture revalidation pin to the a7f96a0f merge base (SONNY-3411)
- 46d6474296aaa8be565aa67c3a53095e8ba3a10c docs(isolation): move the architecture revalidation pin to the a7f96a0f merge base (SONNY-5129)
- 4e015bfa921c55611312ab65f8659bca665bdb43 docs(isolation): move the architecture revalidation pin to the cfb086a7 merge base (SONNY-3411)
- d6a17601338407dd841a259c76ac7d67663495ac docs(isolation): record native backend selection and its revalidation (SONNY-5018)
- 7dc5cddea7d1ef02f72f34dd3a5510a3e30dfd10 docs(isolation): source-review through 03431f18 and record the October 16 review (SONNY-5011)
- b13828a74513c7bd4ca3112988ec7b4c74243075 docs(messaging): record the blocked stage 2 canary fourth attempt on 63d8c3b84 (SONNY-4652)
- 171fcc7a3241d6f0cae65ee7864923395adbb414 docs(messaging): record the blocked stage 2 canary rerun on e707f9e62 (SONNY-4652)
- c1e4347c462eafcce9424f8255d2dd168ca9fad0 docs(messaging): record the blocked stage 2 canary third attempt on 1c610951a (SONNY-4652)
- 23fd2abdbd27fdde43e4eb847f6dc6eb077be4a4 docs(messaging): record the stage 2 canary eighth attempt on 62bd6116d (SONNY-4652)
- cb65030f5282accbd44d5b43708c1d079b8486ee docs(messaging): record the stage 2 canary fifth attempt on f954365d0 (SONNY-4652)
- 5827d5e91de90bb6d0f6cc052a493399d32c8f57 docs(messaging): record the stage 2 canary seventh attempt on e57a9a0d2 (SONNY-4652)
- ac0efafdda892852f8af1efced73592bd05335e0 docs(messaging): record the stage 2 canary sixth attempt on d66468d5f (SONNY-4652)
- 9dc56f620a5e5d92652c6f406cc028d1f2ec563b docs(packs): require the opt-in for unsigned sonny-base overrides (SONNY-4756)
- c63e0682ad91db1735f4c997803ec59e161a535e docs(protocol): catalogue the live turn progress event kinds (SONNY-4745)
- 6f8ec0d9f0172012678c28a10ab40f56fcf157ec docs(protocol): regenerate the schema for the setEnabled owner order (SONNY-5126)
- 8024bf9a640ea266029def02c6ba5fcc72373e4d docs(runtime): describe the live set and the applied-key index (SONNY-4926)
- 8a709aacbf8481f9a7f0cbbacc1198ec7980c3ab docs(store): name the agent mail retention follow-up beside the soak’s store bound (SONNY-5238)
- 509c1da45e2c16b89aec5b6a273f048a98f53ebc docs(ui): record the npm-installed pnpm 12.11.2 on node:26 CI images (SONNY-4927)
- 8325849e0507c2f8d2c6f1398e0bbfbfbe687f23 docs(validation): record the live recheck of the session stream fan-out fix (SONNY-4652)
- 7fc4cc58b4a3a5a3197161a9b4c1668fa4c42d8b refactor(workmanagement): reuse named MCP instances (SONNY-4812)
- bd686ca0a51b3c37d20705152c765a7162392b42 style(app): fix the lint findings of the turn history merge (SONNY-5063)
- 8adbbd510ecba209de5263f01cc355ad5c74207e test(a2a): cover the native relay pump’s dispatch, retry and answer paths to restore the coverage floor (SONNY-4578)
- da34adeb11df4e2aee9a021eeaa30949daa5c095 test(a2a): keep the federation soak’s TLS certificate valid for the whole run (SONNY-4647)
- a5c6ba1916197c946caeb11384884e3836d78635 test(a2a): keep the relay’s held forward below its I/O bounds (SONNY-4927)
- bb274870f02893d09e7a161eb7384b1e29b3761f test(a2a): release each restart’s runtime in the federation soak (SONNY-4647)
- ea873941532e572ed6a9a216d792ba1af29b0295 test(a2a): report p99 and each task’s latency in the federation soak (SONNY-4926)
- b5f11891285ff221e139bd58e4cce82a08e9af6a test(a2a): report task latency in the federation soak (SONNY-4926)
- 2629c082fed08e06aea44f1196d4d94592fd8c5b test(a2a): size the restart journals for the race detector (SONNY-4927)
- 5db26985dbd2dd6da0051773f9ac05b41de03671 test(agentmail): show a parent refused remote children after 1,024 settled ones (SONNY-5059)
- 811ead35583d54d58b47a1ab573a4f8999cdecab test(agentmail): show a tenant refused incoming children after 1,024 settled ones (SONNY-5060)
- b6dc9d41c9a70dc297a682f0ac00ac9e05dfe1a4 test(agents): reproduce agent_search hiding whether a sub-pack can write (SONNY-4829)
- 0aded5bc482d8aa4a7e596802180227cb019d31a test(agents): reproduce kill_agent_process failing on an unleased child intent (SONNY-5264)
- 1463994f85980abe944b0cb6f15a328c0c3e06b9 test(app): a hosted turn must not decode native protocol facts (SONNY-5044)
- 757efa844eccacfc0d0e4a20b2f7598a3475549f test(app): allowlist the control-store compat reach in the facade guard (SONNY-4927)
- 5af412e068fdc2596aedb46a4c3470af431b7cd7 test(app): restart recovery must not decode native protocol facts (SONNY-5044)
- 3c0ad015f575c5cda071f8de10d4120a44ade7fa test(catalogruntime): cover dispatcher accessors and history recovery to restore the coverage floor (SONNY-4578)
- f50c3bcb9f1300cb86fc5102fe6e15f6a4a98297 test(category): reproduce template placeholder sources being seeded and routed (SONNY-4640)
- 9b56910dd900a6d3a896d08965eb4ec8ab036a51 test(ci): reproduce docs/user timing out on the slower Lab Servers runner (SONNY-4578)
- c1378390481af3316744f4da7994abe01a473aa9 test(ci): reproduce publication jobs created for prerelease tags (SONNY-4578)
- e63e1a376f5e870eb16a536a9ebcfcc18559364c test(ci): reproduce rc.7 go-test shards hitting the 90m package deadline on Lab Servers (SONNY-4578)
- 4e264565dc678d36969e4ee8bc17807fb5b54781 test(ci): reproduce the rc.7 release upload refusing a tilde asset name (SONNY-4578)
- f035d7cee3504338aa77ed34fa988e4a92caf3ed test(ci): restore merge-base and benchmark gates (SONNY-4949)
- 83d2d43b3cb0a1a4a3729d5b63ab6f0d7fee6e99 test(cli): a relay backlog stays bounded and drains after a restart (SONNY-5061)
- ac6ce7e7cbe8eae243e8b6ebd582f35f1c1270c3 test(cli): allow the next hop’s one-hour answers in the federation soak’s store bound (SONNY-5240)
- 55abdb67e4df87815eca5b21f8dec5fa1e1590fc test(cli): bound the split-admission git init with WaitDelay
- 6badca0da7e1eab225fe95211702da4ffcfad3e7 test(cli): ignore env-sourced accounts in the credentials delete test (SONNY-5126)
- eb1d67f31e46b43ca2f4c28b0edf6b998eb5b12f test(cli): record why federation soak sends fail and tasks stay unfinished (SONNY-5049)
- 185661c09a05cb89b5248b4c2903159f2e8754cd test(cli): reproduce Desktop onboarding binding legacy gateway groups over their -v1 twins (SONNY-4829)
- 3edbb5c6df425663f5422a2a488db05d4300080a test(cli): reproduce blank, argument-less tool rows in child output (SONNY-5253)
- 42582345ea4d5e3ab373c5a8ff8a923d32650815 test(cli): retry backlog sends until stopped, not until a 5 minute deadline (SONNY-5072)
- 32ecf094f1b6885842ef8cb1450bf9106d04472a test(cli): the federation soak’s heap check must not count the CPU profiler (SONNY-5091)
- 7e0ffe4ef96c44da79134bc178907072833397c9 test(cli): write heap profiles and goroutine dumps from the federation soak (SONNY-5091)
- 9256277a971a1321258a6d329cf90b061d701d1f test(cmd): reproduce integrate_agent_changes dead-ending on a child that pulled upstream (SONNY-5306)
- b9e42ab07d81f4480e5bc270d9ff106562c3207a test(cmd/sonny): realign release-blocking tests with intended behavior (SONNY-4927)
- 8cb794128aa7278f5f9301a2c69ea89fb41edc14 test(codeindex): review the gitenv dependency the worktree runner now uses (SONNY-5047)
- cfa924e1845d423584bcd86a9ffa6985db479c67 test(codeindex): widen the store bound for the checkpoint kill driver (SONNY-4927)
- cdc6b5eff50c97c143c7c9cb56f310b9e04bd048 test(control/sqlite): reproduce host lease renewal queuing behind bulk writes and child reconciles (SONNY-1349)
- 6620a48bd4ebb5ad6d460643f5cd44d4c6cb43ce test(desktop): assemble synthetic bearer fixture at runtime (SONNY-4745)
- 24fd2dfce9de668083841ce72880584d95f77188 test(dispatch): pin that an unserved mesh.* name is refused as not a mesh tool (SONNY-5267)
- 7bf5f777353c0842cfc38fe56011f8dba5dc5c2b test(dispatch): reproduce the unexposed-tool refusal that names no remedy (SONNY-5260)
- 948a4f755c9dc658af1c83b5134ba7827cbdfb77 test(envelope): track mesh push progress under runMeshPush (SONNY-4927)
- 85cdddb4fdda6579c25934243b102873de30f9d5 test(executionroute): reproduce read-only work refused by the route
- 41f4e43a86bc34e2c93fc4522c63ea292c9dae2a test(executionroute): reproduce the route refusing a read-only external tool_exec (SONNY-5102)
- c010c79d1289c048b78b430650970813249c5508 test(git): stop stalled fsmonitor hooks from outliving their test (SONNY-5304)
- 8f080d02ed77c79556f1372092ca3c4c24f4e2f7 test(hooks): cover ValidateYAML, BlockResult canonicalization, and UnwrapTool to restore the coverage floor (SONNY-4578)
- d8fb3dc12937ffd3eb367710ba1b9a0e45478be8 test(hosted): a denied spawn adds no system failure after the reply (SONNY-4050)
- ac6424d493d7eea673228be1d64cfa657df55673 test(hosted): an unreadable review delivers the reply instead of failing the turn (SONNY-5058)
- eaa8089547627a552b14bec995e9127b76c26d6d test(hosted): expect a denied spawn’s notice after the kept reply (SONNY-5058)
- 434720ccd0b15d7a372cf52935f01293fc461d19 test(hostlease): reproduce host lease lapses under transient store stalls (SONNY-5312)
- b7b13aa1f99881355e03db922065dda166337151 test(hostlease): wait for the owner’s renewal log lines instead of racing them (SONNY-5312)
- b3024060381ca9b731bb779014493fa1b66aa3ea test(isolation): pin cgroup delegation detection and the installer drop-in (SONNY-5244)
- 4137cae198c9fb0ec8210b19bfb147ca7e922ae4 test(isolation): pin enabling delegated controllers on the user service and the native delegation fix (SONNY-5244)
- f9312dc469d1450772862fc7ab2bf0db2907eca4 test(isolation): pin native backend selection and the native managed session lifecycle (SONNY-5018)
- 6653ae8472809e17af41c0467d85e017d6f25e68 test(isolation): pin the delegation fix in init readiness and the isolation doctor (SONNY-5244)
- 467f5e4d5eeeb37e723a969be0b0e9e2542cc2c4 test(isolation): pin the lineage contract for native and VM realm renewals (SONNY-4933)
- afdef9885033d14cf53732e62406aef769efeb05 test(mcp): reproduce Sonny’s own sonny-internal server refused by the MCP allowlist (ENG-5221)
- 0c5a0b39b07aaa77f79a934b928410154b339288 test(mcp): reproduce invisible, never-retried failed MCP connects (SONNY-5250)
- 5adcc670c9f7332b14532b4b29fd17c7ca763c93 test(mesh): read portable child mailbox results from the tool_exec envelope (SONNY-4940)
- eac54fb6d4f0ea83b4201843dc251753aa54c46e test(mesh): reproduce Desktop sessions interrupted for good when their lease merely expired (SONNY-4943)
- 44c96ff973827ee593d2f22ccebc675081a1e24a test(mesh): settle wake binding charges before checking holds (SONNY-4927)
- 52f0ce117a2f49a6b1a1220bc8e640d721ef6c39 test(meshengine): a hosted handle reports its host loss by the time it is done (SONNY-5239)
- 727ac31086b8943f14af424b468800c1042dffdc test(meshengine): call the mesh posture tools with the session context (SONNY-5254)
- 184f4bb6129c237907450ce98fb1989706874e17 test(meshengine): keep message recovery inside the receive hang guard (SONNY-4927)
- 597ab160ea4e5d3c4bdaa9acdb81d6fcfe0f1a09 test(meshengine): take a hosted lease over atomically in TestHostedOwnerReportsTakeover (SONNY-5239)
- d29f1037c44d9349808b0ffd75f63351e82a7d05 test(packcompile): route policy decision_policy packs like governance (SONNY-4927)
- 1e484a4fc5dabe8c0778161eb8769107d8bd7f4f test(packs): reproduce a startup pack fetch killed with no reason (SONNY-4829)
- 01b323a0f7827a1bed3b23ec4a20bd6403eae23c test(permission): pin that a gate denial tells the model why (SONNY-5265)
- a35ed67607b8d0364d8b8073ac27246cde1746a6 test(permission): pin that credential-store reads need direct approval (SONNY-5266)
- 16e26ed5671d88457f6b4dab614a6cb3e1a06958 test(permission): pin that dangerous mode lifts every per-call class (SONNY-5255)
- 453be44b280ef875f09009fe80eaedb50ea387da test(permission): pin that go clean -modcache needs direct approval (SONNY-5307)
- 4fa8e6d9aa2a99c2ff85eb0cc1ebaed38f259388 test(permission): reproduce the overwrite floor denying a child’s nested clone (SONNY-5257)
- d66b99c04b7a7dbf953ba6219a265641379475da test(projection): reproduce an external writer’s turns never settling session state (SONNY-4113)
- 8798ab9c3aa83c44501a9c1509e697a669c28afb test(protocol): pin the workspaces.trust source member in the schema types golden (SONNY-5271)
- fcff5a9c49c17dc00684af194123cc6807818ec1 test(provider): reproduce hosted session sending the catalog id instead of api_model (SONNY-4829)
- acd183b1d138a036037fbd50707eaa46d5851eaf test(provider): reproduce hosted sessions sending the catalog id and dropping row params (SONNY-4829)
- a9ff6a0d8dfd41b2922f65d797e9f3b771bac294 test(release): reproduce prerelease desktop Linux packages failing their contract (SONNY-4578)
- 8063325eb23dbec87d5e2e11228b6105727f36bb test(release): reproduce rc.5 desktop builds exceeding the 60m job timeout (SONNY-4578)
- 2aa05131deca238d7222222bf341b14aef42b8b4 test(release): reproduce rc.7 build-release failing to attach the tilde-named desktop packages (SONNY-4578)
- 621fff543f9a6ec386401b23af5bb931aa40c721 test(release): reproduce the v0.12.1-rc.1 desktop signing failures (SONNY-4578)
- 4319b8b99fe212056b4b1be5ac194b842ec03a5f test(release): reproduce the v0.12.1-rc.2 missing Developer ID identity (SONNY-4578)
- e288f8a687dc4fd9a7e7dd04d6c677b66a643c6d test(relverify): mirror the homebrew-publish v1.55.8 include (SONNY-4927)
- 5f06cacc0cd9305fd0bd571649ac182b1e800718 test(resourcereuse): bare-hex expected_digest after a full read must be admitted (SONNY-5263)
- 6f2488c9842f49d38af4af3e524ae5a8e4137dfc test(resourcereuse): refusal on an invalidated own-write digest names the cause (SONNY-5246)
- 0dee8caa026c4eb7f203f2793847b54cd6bb8174 test(routing): reproduce a local param refusal reported as malformed_response (SONNY-4640)
- fd688d431acea03deb5137f7c2e67ce9d6fb6bd6 test(routing): reproduce primary reasoning effort leaking to fallback targets
- 6b18eb0bf85c81c56675bb16f6743d2f5e359bf0 test(runtime): reproduce snapshot and discard failing on an untracked nested repo (SONNY-5258)
- e56dc307c12f0aca961248d3ec2dc4191d978afb test(runtime): reproduce the 01a1549f exec loop the no-progress guard missed (SONNY-5111)
- 248941cdbe4b1e9e7909ffc5b7e9a8c65bc1c275 test(runtime): reproduce the 01a15514 oscillating identical edit_file loop (SONNY-5111)
- b53e865af0aa1bd94c7b56732f5eda4f3dbfb25a test(runtime): reproduce the completion review re-sending the whole transcript (SONNY-5274)
- 2b577e73689dff4d95b0d6d427ab1690fa68a393 test(runtime/hostlease): reproduce one slow renewal permanently sealing a host owner (SONNY-1349)
- 9220cd0a84cc70efcf940a4c5699b995c670fe04 test(security): skip the proc-environ probe when the runner holds CAP_SYS_PTRACE (SONNY-4068)
- 41486ae9824347ccd867d2c286f62d0b1aea23c3 test(sessions): reproduce Desktop chats that cannot choose a workspace (SONNY-4927)
- b2bdd250bba5bd7711a51a4be60de52c2fdc07b3 test(sonny): check the bounded goal-review request on its own terms
- 9cda6837579a4e288c9ec1a20544fd68504f2916 test(sonny): give the cmd/sonny test binary a git identity for CI (SONNY-5313)
- a660a64c569ef56963b2575c2d6a179f5f7e09fa test(sqlite): run the verify measurement as a smoke check instead of skipping (SONNY-4927)
- b4cef4cbd4d5c84885ede27cd300e8753ccaed17 test(store): retire agent mail while foreground writes are in flight (SONNY-5240)
- 2bc6db212442c9baf9589cf550566e6c379e8079 test(store): retire settled agent mail in the local supervisor’s control store (SONNY-5240)
- c18f8bcb31efadccd2dbf43515acdb5d157e7030 test(store): retire settled protocol history in the local supervisor’s control store (SONNY-5238)
- 7306662f07665f213c1a6f988108d6ef864d5b96 test(store): run the fresh-process migrator check without a skipping helper test (SONNY-5071)
- 3a2e4b17b7ccf9def73a71ea7f2767d3f486eb2d test(store): verify a retired journal whose checkpoint is the base (SONNY-5238)
- 0956eb6849198cb481e5a3e4986b013da9a7ae46 test(stream): reproduce parent input never reaching a running child (SONNY-5252)
- 2b744200fad4891a29d8f4f2d3a11184304cf3cf test(supervisor): reproduce desktop startup exit status 4 on macOS
- ca4402ba6f0fb945dd92dfd3600ccdd3ab0e8c00 test(target): reproduce Desktop turns failing on LiteLLM tools+reasoning_effort 400 (SONNY-4829)
- 98479345c5df35cf18b6d71b86fb6c0e2a40e0a5 test(target): reproduce the tools/reasoning retry poisoning astra with a rejected none (SONNY-4829)
- 60023c5ac6794178fe29adceb521186ba998a995 test(toolefficiency): check the CI Geode service against the pin (SONNY-4927)
- 6e4cca85f2b361ae61a03397fc9e642e8bd9905c test(toolefficiency): reseal surface parity for the wired history stage (SONNY-4927)
- 81955fd05edec855fc07410b35412e12132e3c4d test(tools): reproduce delete_file and mesh tools ignoring live posture (SONNY-5254)
- 38269ef476d2bb0cb1586d21a1da867e6ee993c4 test(tools): reproduce native file tools ignoring host-wide posture (SONNY-5254)
- 7d59a7498d0615098ba48351a323ae92f820c1a9 test(toolscope): exempt the activation presentation schema check (SONNY-4927)
- d78cd6af439425a673d4c0865f7b7f780f51b192 test(trace): reaped child summary must count the child’s events (SONNY-5245)
- 4e3bd743575fdc2307ca89de01a2281b80472894 test(trace): reproduce agent_session carrying only the parent’s identity (SONNY-3592)
- 26b5ec9d89c3dcd616e35420aec7ac480f84f402 test(trace): reproduce the child summary that drops its own exit reason (SONNY-5259)
- e7ccb5c3b35296b79e04713dad78fe28198ecb9c test(trust): reproduce desktop workspace-trust grants being ignored (SONNY-5270)
- e9e73a9dac3fadf92ec71ed60216b6251746c3e8 test(tui): reproduce a sealed external writer owner refusing every later send (SONNY-1349)
- 4485fdbfc37b202bd96024db953e482b21a366d4 test(tui): reproduce picked api_model rows bypassing canonical routing (SONNY-4829)
- 82453e8b87960eea3a1bc20de1de3e09bcc31ea2 test(tui): reproduce picked-model bypass of tools_with_reasoning gate
- 7931994c61ea14b32ea51276e05658f0177f5213 test(tui): reproduce primary authority refusal under profile tenant
- 61c51d21b5aad4265489a6bb6c11458d694901ac test(tui): reproduce turn activity refused after host owner recovery (SONNY-1349)
- 5d49f080da9462636b2b8b1b2ef6955f9733a6d7 test(verdict): cover claim validation and signer key checks to restore the coverage floor (SONNY-4578)
- 7b18317eb25c7156248e24abff269694b243f7d9 test(workspacetrust): pin child-worktree trust inheritance across every gate (SONNY-2288)