{"assets":[{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny-api_0.11.28_linux_amd64.tar.gz","platform":"linux","sha256":"5d71bc568102d8dea85598d5bcb689faa78426d53999659d2f6f17c3b8e632e5","size_bytes":45156154,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny-api_0.11.28_linux_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny-api_0.11.28_linux_arm64.tar.gz","platform":"linux","sha256":"c81a3cedfed435a006456b27cbda474e5a36e7e395fcc0baaf0cd97f93cfa2bc","size_bytes":41444081,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny-api_0.11.28_linux_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.11.28_darwin_amd64.tar.gz","platform":"darwin","sha256":"86d5ea30ec48b01202635ae1440ecdff05787726eb3e35c95ac2c3739772042a","size_bytes":59868111,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_darwin_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.11.28_darwin_arm64.tar.gz","platform":"darwin","sha256":"d51db5da4eed977c036aab779d514d388ec01ec26b45f2a8d86c01c91750766f","size_bytes":56273308,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_darwin_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.11.28_linux_amd64.apk","platform":"linux","sha256":"1662eab96dc101ab2d07f194753bd440dcc0dd4d468492868e3e1621c3b7a757","size_bytes":112465547,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_amd64.apk"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.11.28_linux_amd64.deb","platform":"linux","sha256":"93918bc49f9b37c63206bb8edfb934e90cd58cee4547b1a07bbd5ad7f8c0e1a1","size_bytes":107676418,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_amd64.deb"},{"access":"gitlab_access_required","architecture":"amd64","kind":"installer","name":"sonny_0.11.28_linux_amd64.rpm","platform":"linux","sha256":"625c7eca39405f86883f5e7050598d173803239a82f1bc3e7cb41755d8b35a8b","size_bytes":107704275,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_amd64.rpm"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.11.28_linux_amd64.tar.gz","platform":"linux","sha256":"1bba2f2a22e31cdd99a36e90f33e2c15b69569191b2c4f1ddbc221748f64cd24","size_bytes":62545322,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_amd64.tar.gz"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.11.28_linux_arm64.apk","platform":"linux","sha256":"488b868883e0c2b57b8fcc5c4a5117c75ce516a39eca7423b7500e887fce63ff","size_bytes":103101231,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_arm64.apk"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.11.28_linux_arm64.deb","platform":"linux","sha256":"d9a90888e9057610ef620fca6dd7ca1ce532436764d8912822a279a8cf54913b","size_bytes":98944732,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_arm64.deb"},{"access":"gitlab_access_required","architecture":"arm64","kind":"installer","name":"sonny_0.11.28_linux_arm64.rpm","platform":"linux","sha256":"4c8dd76525110ea2b2931e910d5923fcd9a3aee95c2175b95c6dc4672c0cd512","size_bytes":98970703,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_arm64.rpm"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.11.28_linux_arm64.tar.gz","platform":"linux","sha256":"fb8fd5b18a88651dc9b9112038ae17d7dc628e1a3efc2674eaaf613c74530ec9","size_bytes":57528572,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_linux_arm64.tar.gz"},{"access":"gitlab_access_required","architecture":"amd64","kind":"archive","name":"sonny_0.11.28_windows_amd64.zip","platform":"windows","sha256":"8f4bcc01b1c2711aaa7bc634a7601f4943414b00a4c04b75bfda0967d7b1adc8","size_bytes":59750485,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_windows_amd64.zip"},{"access":"gitlab_access_required","architecture":"arm64","kind":"archive","name":"sonny_0.11.28_windows_arm64.zip","platform":"windows","sha256":"d8424780cd7224ba18c91b356fdd559fbcb7289dd2be78979b1816b0075311d6","size_bytes":54049804,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/sonny_0.11.28_windows_arm64.zip"},{"access":"gitlab_access_required","architecture":null,"kind":"checksums","name":"checksums.txt","platform":null,"sha256":"ac4ff529a6c087501fa9d4b0a370eab1bb25124e0cf47c30c2776a5d67580aad","size_bytes":1376,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/checksums.txt"},{"access":"gitlab_access_required","architecture":null,"kind":"signature_bundle","name":"checksums.txt.bundle","platform":null,"sha256":"d9bd4ab3bca691fb5a0a8ffdc9c81a6ac2c03556b98aa6bb11b7de18c61c844c","size_bytes":9695,"url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/checksums.txt.bundle"}],"channel":"stable","notes_markdown":"## Changelog   \n### Features   \n* 3d399b379cc655190ba587830f2ec9486257e912 feat(codeindex): add the bounded structural extraction framework (SONNY-2066)   \n* 94d7f802861424291462d17f73fd804b1aa9bb48 feat(codeindex): extract Go declarations, conventions and go.mod module paths (SONNY-2066)   \n* 4d7bf34889d39fc675956f737e53538f66a6710d feat(codeindex): extract JSON keys and schema fields (SONNY-2069)   \n* 5eb9061ee3d59dc9c84cc057e054b6090f3bf965 feat(codeindex): extract Markdown headings with goldmark's block parser (SONNY-2069)   \n* 465ca69ed1daa933eaca6ecc0142a16f464847a5 feat(codeindex): extract YAML keys at their bytes (SONNY-2069)   \n### Bug Fixes   \n* d87c50e4f1f41a91e71571616fbb462aa80f3681 fix(atomicfile): address batch B review minors (SONNY-2935)   \n* cfc7b0a8a93d6d5ee63dfae2f2d8ea75a44065ae fix(atomicfile): catch *at rename/link syscalls and stop MkdirTemp from exempting file publishes in atomic-write-guard (SONNY-2935)   \n* 883a1b9b77fa6441cf89c57c79a0f56735884539 fix(atomicfile): fsync the file and its parent directory on atomic write (SONNY-2935)   \n* 4e74ef7d6d6565f8d314393f613168a02819fe80 fix(atomicfile): treat unsupported directory fsync as success and report a leftover temp link (SONNY-2935)   \n* d4ce60a91920620edd9f6e77b9098fb4bc97f5d7 fix(atomicfile): widen atomic-write-guard to every rename/link, ratchet its allowlist, fence the test seam and tolerate temp-link cleanup (SONNY-2935)   \n* a0fc47e58ec8e92543dd2e77286375321503fe08 fix(capabilitysync): fsync the store root after the self-heal drops the previous slot (SONNY-2935)   \n* 9b584a0d3e87a71929da4ff5cb5491c60b16cc26 fix(cli): give each goconst meaning its own constant after review (SONNY-2927)   \n* 07cc39ddf35d7ce6a7838362e8f39cc413999ed2 fix(cli): settle receipts write-first and let the gate verdict outrank lost provenance (SONNY-2942)   \n* 535ee4f59900e59a9d65b2f5a9acf0959c8a78d1 fix(cli): stop discarding evidence, provenance and receipt write errors (SONNY-2942)   \n* 7449a29110d636fd213259423a0ecc98c13b13df fix(cli): surface discarded llmpack Resolve{Parents,Includes} errors (SONNY-2932)   \n* 4f92fc3b2482d8781a2b493d41590a8334817e89 fix(codeindex): anchor block-form go.mod module directive spans (SONNY-2066)   \n* ba1f2f2e053980273ec93e4e436bf064c54b4a2a fix(codeindex): close review gaps in the extraction framework (SONNY-2066)   \n* 4b66fabe174de9ad56757bc8c132a38a9ee78325 fix(codeindex): combine Markdown's nesting bound across indentation and markers (SONNY-2069)   \n* 4b9d73ca4c360f746f304640d93deb6a986cbfc7 fix(codeindex): gate YAML key BOM handling and fold-safe spans (SONNY-2069)   \n* b408d89cca21b0a43a8ca41f526574f6f2012718 fix(codeindex): make YAML key spans linear and walk merge values (SONNY-2069)   \n* 42e07cc6195630011acae099ecc66e42dcdb86ad fix(codeindex): quality fixes to Go/go.mod extraction from Task 2 review (SONNY-2066)   \n* 24a1b7b51d1260da48ea64e78a60fe77e513f5c4 fix(codeindex): require a schema object before counting properties as schema_field (SONNY-2069)   \n* ae655cbf0a371d08f213076d7046b9aab5c7c2f2 fix(codeindex): test Manifest()'s own limits fields, not a hand-built copy (SONNY-2066)   \n* d3d02369f670e804ace5e6eee66ab13c09ed22a7 fix(codeindex): trust sticky writable cache ancestors owned by the euid (SONNY-3283)   \n* 908e2dcff7352c30fca944128ecb944dd086679d fix(doctest): refuse a doctest build dir that is not a private per-user directory (SONNY-3255)   \n* 59067849453459d3075bd0849b5900b45762df65 fix(isolationruntime): surface fetch-interception command errors (SONNY-2941)   \n* 5c397a66596044df98185d7a69c33b2d33b67219 fix(lint): address task 29 review on kept suppressions and path-lease corruption (SONNY-2927)   \n* aee1a870715d8421740795356721b0a6a5232469 fix(lint): keep the catalogreg install rename beside its MkdirTemp and name the scorecard percentiles (SONNY-2875)   \n* 34514cd7512c3b647f91c5def5eb461833671aa0 fix(pack): isolate activation's inheritance faults to the faulty pack (SONNY-2932)   \n* 304f9dc6c516cfaf244e239adce006493a09ac8d fix(pack): keep a user override its restored parent fixes and pin the llm version CheckInheritance assumes (SONNY-2932)   \n* 7665f974d405ab9a30eb3b354a69465f424b2463 fix(pack): resolve a --file pack's declared parent on the lock, inspect and session-eval paths (SONNY-2932)   \n* 4d7a935c834f49926aa35fea6ec76df74124787a fix(pack): resolve inheritance through one fault-isolating helper with a single policy (SONNY-2932)   \n* 41b18d4522925759a3cb98c28dda6d06f2ea010f fix(pack): restore embedded packs after an inheritance drop and sanitize the activation fault line (SONNY-2932)   \n* 6c5e3564b08299f0acd94ce711663220e197fea2 fix(pack): run the full inheritance pipeline for --file inspect and session eval (SONNY-2932)   \n* 42c4ead5afb1db95d74840012eb3f217e8513411 fix(pack): word the inheritance warning for partly-merged packs and pin the mixed-cycle strictness (SONNY-2932)   \n* 9956312b66d240825ec2eeb9e9e74822b41d864d fix(projectinit): report unreadable receipts even while a live campaign holds the lease (SONNY-2942)   \n* 196e948427ef95769275d897f1ceb4f6ba1953b2 fix(retrystore): keep published saves successful on a failed directory fsync and leave no orphan batch files (SONNY-2935)   \n* d56b6ffdd1652a2662da78f7cc8c01bbcb8e7ff1 fix(routing/shadow): keep O_APPEND on unix and build the lock on every GOOS (SONNY-2905)   \n* 36f61718ed4f06a1b8b9aa8ac2d0f9b3e7f5f54c fix(routing/shadow): keep the shadow log whole-line under buffering (SONNY-2905)   \n* 2f81f0eec4d41f11c4e5f12b4f9f9b2ed0113297 fix(routing/shadow): lock the shadow log to one writer and bound tail repair (SONNY-2905)   \n* f0b39c6a3923337b36b4cc9d01ac5cc12efd6b9a fix(runtime): close idle durable subscriptions whose session was pruned (SONNY-2898)   \n* a716c386d342ea1671bca2118646e9069d922095 fix(runtime): make the compaction gate each adapter's single source of truth (SONNY-2899)   \n* 89f9f0dcc03c6d1a406ffeb51e11a5e654890068 fix(session): order prompt history by (created_at, seq) on every path (SONNY-2897)   \n* 4ac670c1d34040213e2003dda4727ac122d2a2b0 fix(store): reject negative persisted counters instead of suppressing G115 (SONNY-2927)   \n* 445760a9881438ce61a8f0c65a99836acaef3756 fix(supervisor): add reconcile --repair for the honest offline journal crash state (SONNY-3222)   \n* 575b926af18d781c955bd58c7a6c426e1e915e5b fix(supervisor): keep the offline journal head in step with a durable append (SONNY-3222)   \n* f66dbcc17ce17cf4ca94b1397c026a3f6e3f3589 fix(supervisor): make offline journal append outcomes and missing-sidecar reopen explicit (SONNY-3222)   \n* 3ff6ab0eeac228d5dc2425ca0ae0d54060c1018e fix(supervisor): open offline journals read-only for reconcile and bound the directory lock wait (SONNY-3222)   \n* d85960e17b66a3e997cd61e527f181e6288442f7 fix(supervisor): refuse journal opens over an emptied log without a sidecar (SONNY-3222)   \n* 432072cdf55d07e57db9ef1aff36c1d8c0bd7878 fix(supervisor): scope the missing-head override, refuse mid-log corruption and lock the offline journal directory (SONNY-3222)   \n* 8e78fe341de4f5658e18b97d9b7dc07585ac1e0c fix(test): drop the unused os import that broke the cmd/sonny test build (SONNY-2786)   \n* be7b6f7d56e5ef056edff1d7435fd8d778631921 fix(test): follow the Bootstrap split in the freeze allowlist and clear the retired name (SONNY-2786)   \n* 62c26879127d505f0657761612b3e940d244dfab fix(tools): add a jailed delete_file and hold probe files back from integration (SONNY-3186)   \n* 7615c3d127061693368708aa009699962dae8a2c fix(tools): make delete_file and the scratch default follow every surface's posture (SONNY-3186)   \n* c5e550fcffc007960b0a933b22fed765064c3b26 fix(ui): consult the permission gate at the routed dispatch site again (SONNY-2786)   \n* 3fc33b8268760cac72bc124c13d9e09a43b54de9 fix(upstreamvariant): strip host paths from rename and link failures in scrubPath (SONNY-2935)   \n### Performance   \n* e56e35265949ac964847d843bbf4680fe9188b21 perf(codeindex): build a JSON key's pointer from one shared segment stack (SONNY-2069)   \n* 1925f5c737500bca0d82365f386c99f3171aeff1 perf(docker): trim the build context and add BuildKit Go cache mounts (SONNY-2906)   \n* c2c9ac23ac373a45e8c67746dd1bfb4b7d372da9 perf(postgres): bound the control-store pool and set a statement timeout (SONNY-2901)   \n* bbc7972822390b18f434233b330f41e71fd54025 perf(routing/shadow): buffer shadow records and fsync once per run (SONNY-2905)   \n* 766ae8a0b702e45a7c5d6a42386feba3c2e8176b perf(runtime): load durable head only when a poll delivers events (SONNY-2898)   \n* c1a777f88a43706c24d9c4b5cfb70b1de6acf0a0 perf(runtime): skip durable compaction envelope when no compaction is possible (SONNY-2899)   \n* 46bcac7ce977ee0aa1c4334c2f855151d2c46519 perf(runtime): structural fast path for tool-parameter clones (SONNY-2903)   \n* a8c2efcb3960c2822edeb6e3e99e3ab9bc088d90 perf(session): index global SearchMessages order by created_at, seq (SONNY-2897)   \n* 9a8a64ea133bd0e5434fee3065fefecb43a66dce perf(session): keep prompt history off a whole-index walk and retry failed search prepares (SONNY-2897)   \n* 71253425f6764c98f2e5c752cb47167a0dd32293 perf(session): walk the global index only over a recent window in SearchMessages (SONNY-2897)   \n* e6dffdee5e520538541ec831dc7fab65b51abdb2 perf(ui): reuse the PaintViewport cell buffer instead of rebuilding it (SONNY-2904)   \n### Others   \n* edbe9a779d8ce599bbbf69ead2a9024a478006b0 Merge origin/main into the EDP plan branch (SONNY-1230)   \n* 9826993cd943705c4db1bad6bebcb7b4b2c6641f Merge origin/main into the EDP plan branch (SONNY-1230)   \n* 47187b2b8429a890bfe5c72e4835e3db3ca6a2df Merge origin/main into the SONNY To-Do queue sweep (SONNY-2943)   \n* 6732a64bf77ca5e9a31d0166056d0b11cc4bb4fc Merge origin/main into the cmdContext refactor (SONNY-2937)   \n* 5e327c6a7091d22a7bd808cc6ca094770d3a998f Merge origin/main into worktree-sonny-2033-sci (SONNY-2033)   \n* 4f9d4e7e01d8676a665bf13efdcd2b6f264412a9 Merge origin/main into worktree-sonny-2033-sci (SONNY-2066)   \n* 79ce0a0179833297333ef62ca215c052b80c2b7b Merge origin/main into worktree-sonny-2033-sci (SONNY-2066)   \n* ee907734d789e884c65ae127b4a1e1c3d004e208 Merge origin/main into worktree-sonny-2033-sci (SONNY-2069)   \n* ca0c22412f70ca80cf302028142e2d44259a570d Merge origin/main into worktree-sonny-2033-sci (SONNY-2069)   \n* 2bcebc9f8e316416ad2580a43c60c189754943fe Merge origin/main into worktree-sonny-2033-sci (SONNY-2069)   \n* 8078c8b4fb0e89a97df6e3aefa6ee5e23cc97b9a Merge remote-tracking branch 'origin/main'   \n* 47107292f313349976db2faee4f70bb796167e4e Merge remote-tracking branch 'origin/main'   \n* 354a487fe9009e7e7e1099124a28a42e7742dbb8 build(deps): bump llmtools to v0.12.13 for the CPU-budgeted query-cell handshake (SONNY-3210)   \n* ab374fb37579cf8c45ee137c834cdae940a9d227 chore(init): track the project init state sonny init generates (SONNY-2189)   \n* cbc5c8e773fbe411b76396c6b1aac97432e29e4f chore(lint): lower nolint boilerplate baseline after cmd/sonny/cli and cmd/sonny/cli/envelope batch (SONNY-2927)   \n* 1120dce349b900bd561c1108b81d68055451668e chore(lint): lower nolint boilerplate baseline after cmd/sonny/ui/{dialog,sidebar,styles,sessiondiff,termsafe} + cmd/sonny/isolationruntime + isolationworker + isolationview batch (SONNY-2927)   \n* cfbb6d6a7d13d1789a30346f1d875f0695475f99 chore(lint): lower nolint boilerplate baseline after internal/analysis/** and internal/analysisjournal/** batch (SONNY-2927)   \n* 912ba2b77867019a902c2bea0783c90e3b1d9925 chore(lint): ratchet guard baselines after chat.update split (SONNY-2875)   \n* 5d73c568bd6b7563e0c6baced331f92a7f2d4351 chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* 0fc7f71b2e61956b30f792b9f5f455827dc8a2e6 chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* c745755cf431b694dcf01b08c5808bd0c11eaab6 chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* 81e72429a342541690139f4983c6e77bc759247d chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* 6cfbd08231294f4e0951a0960379276f5640afcc chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* 1682d69b3a004e10ba57b215893384109b19576f chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* 9fd0cfafc3413171e06d5ee61677c4d2c8b50103 chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* b36ccf37bccae5515d128f5fdaccce4d30f1fae8 chore(lint): ratchet guard baselines after integration (SONNY-2875)   \n* 7c37d9e42d5c1943c25966b40abd5de24799e60b chore(lint): ratchet guard baselines after rebase (SONNY-2875)   \n* 5a44317ca44829b4fa74e5c4f8ce3e55ba537ca9 chore(lint): ratchet guard baselines after rebase (SONNY-2875)   \n* 430303a0f6ca786f1cad80740c778ad4d7e2eed5 chore(lint): ratchet guard baselines after rebase (SONNY-2875)   \n* ca73842eff98c440a0c57303f7db748f534145ed chore(lint): ratchet guard baselines after rebase (SONNY-2875)   \n* c8b2261317edeebf2004ab308f544960e0d7a1ab chore(lint): ratchet guard baselines after rebase (SONNY-2875)   \n* 63df0704fdb4a880560bf737b833ab7ed421dff9 chore(lint): ratchet guard baselines after rebase (SONNY-2935)   \n* b1e75ac13608f98e5117c296bc80553579bd0492 chore(lint): ratchet nolint boilerplate baseline after PERF-020 mnd reason (SONNY-2898)   \n* 1feec2e43d72fbb12cbc519bbcc1875321405b35 chore(lint): ratchet the nolint boilerplate baseline after the journal key-size fix (SONNY-3222)   \n* b2ccf4446299be71205212e03892ae8a1be0bf95 chore(release): bump to v0.11.28 (SONNY-2786)   \n* 8af0710468f1eabb4c340c69a7730e94273167c7 chore(release): merge v0.11.27 into main (SONNY-2786)   \n* 5d2013a2be41b688f1ff46fd041db607dc2f2c48 ci(atomicfile): ratchet hand-rolled temp+rename publishes with atomic-write-guard (SONNY-2935)   \n* fc5885f136d9d0f35571356319cb821671c88c9d docs(assurance): pin the agent stream credential reader to the landed cmd_chat split (SONNY-2875)   \n* b3bce1e746c8d49f1633f255f127677d01b5095c docs(assurance): pin the models list credential reader to the landed cli nolint burn-down (SONNY-2927)   \n* cc3763a00f016b6e189960f48b7d485fb6beda32 docs(assurance): re-inventory the catalog availability probe after the runMain split (SONNY-2875)   \n* 6a6081b02cc9471ea45ede21f6f8ce540d947c5f docs(assurance): re-pin models list credential reader after nolint burn-down (SONNY-2927)   \n* 60553f831e3ad235de704faba80d0af35e34a72d docs(assurance): re-pin the agent stream credential reader after the cmd_chat split (SONNY-2875)   \n* c44643ef1258c3c36f5728a3f0cef8e8ea734676 docs(cli): clarify sessionTurnSchemaTypes doc comment (SONNY-2875)   \n* 990d5dfc082eee24418e4a1664df248596f2f478 docs(control): document control postgres pool DSN keys; close PERF-023 (SONNY-2901)   \n* 9cec387ed0ba4b04be9123237603657d6c905c8b docs(deploy): record the feedback-intake infra component handoff (SONNY-2765)   \n* 5d53062f56d32830a8ccfb9338f583ce941b749a docs(perf): cite the PERF-020 commits as landed on main (SONNY-2898)   \n* 6797cca168530fea2f1f176b3a6847a851a0d328 docs(perf): cite the PERF-025 commits as landed on main (SONNY-2903)   \n* 0e7ac9fa5469acf0f77857bb40adbfd9ae07022e docs(perf): cite the PERF-027 commits as landed on main (SONNY-2905)   \n* 54105f5797ec028c7b7126c72b13f4a1f45c22cd docs(perf): close PERF-015 global SearchMessages index (SONNY-2897)   \n* 5cd77c5541424c5f76c8a283538d853890a53a4b docs(perf): close PERF-016 durable journal per-command cost (SONNY-2893)   \n* 4b6263d54727ea9222e14f310f7abee27af0f5af docs(perf): close PERF-019 append-only history checkpoint (SONNY-2896)   \n* 007f48777a32769511bbc49fd9c373ae50fdf710 docs(perf): close PERF-020 idle subscription reloads (SONNY-2898)   \n* d2be66acf10a35ae3749fe55efb9e195b712f4f2 docs(perf): close PERF-021 no-op compaction commands (SONNY-2899)   \n* 65558ceaa305c8ebc6e3101e4f1b954833620332 docs(perf): close PERF-025 tool-parameter clone cost (SONNY-2903)   \n* 4ba7f4355c53d1c420462f52d6d704b8b470b419 docs(perf): close PERF-027 shadow recorder fsync (SONNY-2905)   \n* 713fe24cec97293646d2f1205fdbde9df47d64fe docs(perf): point PERF-021/022/024 rows at their commits as landed on main (SONNY-3178)   \n* f8e4085dd58bdb62d09cf34138e2e8406b857a0c docs(perf): record PERF-015 recent-window design and sparse-match evidence (SONNY-2897)   \n* 50f2435858c1fc67c4a7096a9a0dfc730e5cf9ac docs(perf): record PERF-020 idle liveness cadence and new evidence (SONNY-2898)   \n* 242d79c9954034d454ff46b7dbc833db4d2b7f43 docs(perf): record PERF-027 whole-line fix and latent gain (SONNY-2905)   \n* a20f10c617fd47a671d62139c93d36140585e50d docs(plan): EDP Phase 4 environments and DP implementation plan (SONNY-1236)   \n* 471971452c4e6cae6453f10d06cb33f5bb5b25c4 docs(plan): EDP Phase 4 plan, co-evolution headroom check and second-review fixes (SONNY-1236)   \n* 310d666a2d4db2057277533193eaaaee310008a3 docs(plan): EDP Phase 5 plan: typed evolution, archives and the typed-GP co-evolution re-qualification (SONNY-1237)   \n* 148049591dd6b8eff2d4bee4435b65abb2a7cbf0 docs(plan): P3 gate runs worker-release at the current version; 0.1.2 run moves after the bump (SONNY-1293)   \n* c61d228f95f9ab26910de47e0fe138fbdcdb2792 docs(plan): P3 stdlib-only gate uses go list .Standard, not a dot heuristic (SONNY-1293)   \n* e9b65df3e3ac96c97dec0d3376b07a1829af5fdb docs(plan): P4 plan corrections after the whole-phase review (SONNY-1236)   \n* 2194b36efb2483e2a0647295f5c8da38997fd2b0 docs(plan): P5 typed-GP pinned values after the operator stop-leaf fix (SONNY-1237)   \n* 2bece837ca908ee4b1b3b15b31d0834ff55c1beb docs(plan): record Phase 3 scope decisions for the C ABI and trace v0.2 (SONNY-1230)   \n* 04d5b5fc5d43ee01574d2469aee42a08872c25d5 docs(plan): record Phase 5 module, deferrals and the re-qualification label (SONNY-1237)   \n* 62363bb609e4b73b652ffb4dd2750a9a1168261e docs(plan): revise EDP Phase 4 plan after pre-flight review (SONNY-1236)   \n* b736094d00ca6edd03075ce79fb5dd9c6d8b6591 docs(plan): revise the EDP Phase 5 plan after review: forgery-proof resume, sealed training sets, channel-assigned provenance (SONNY-1237)   \n* 8d03ee7fc636aeed291e0e262a1e01d05bfe0b1d docs(plan): second EDP Phase 5 plan revision: keyed training seals, replay-verified resume, blind Phase 8 screen (SONNY-1237)   \n* 6a02d395ecd69c3133c111ff39c9578722d67844 docs(plan): third EDP Phase 5 plan revision: fromFixtures owns its models, precise training-only trust boundary (SONNY-1237)   \n* 0f0794a7848139415a6f35cff8809d4c254921b0 docs(plans): P2 campaign 200K per target, measured on the CI runner (SONNY-1263)   \n* c567ea9c39517c1fee7ddbcb01ff74bba1ca38ff docs(plans): P2 fuzz-campaign quota 500K per target, the measured feasible budget (SONNY-1263)   \n* 108b621c7796f5a9855fa44cf22ba916706870a8 docs(plans): P3 dependency pins after SONNY-2768/2763 bumps and 53 invalid contract fixtures (SONNY-2768)   \n* 187161bdf936293eeb483faf756022522ab98d32 docs(plans): P3 trace v0.2 wire rules, incomplete fixture and corpus counts in the Go tasks (SONNY-2591)   \n* 81f436efe57d91abd6d51155129e755ef41e6d0f docs(plans): SONNY-1230 EDP Phase 3 (Go boundary) implementation plan (SONNY-1230)   \n* 081f1c5048fb988bf509a3e582a6a26dc43e45cc docs(plans): SONNY-1230 EDP program, P0, P1 and P2 implementation plans (SONNY-1230)   \n* 3c7d4ec47130f82c2c6f910e7beb7e4750039ff3 docs(plans): plan SCI P06 structure extraction in 22 tasks with 44 controller decisions (SONNY-2033)   \n* a2e825d0122279c31e0e6fe319e1b9007458a897 docs(quality): cite the QR-R1-06 commits as landed on main (SONNY-2932)   \n* de369e6426673a089ecc80aa31b46a81c2b9394c docs(quality): cite the landed QR-R1-16 follow-up commits (SONNY-2942)   \n* 82b345c12e6b65104f0e249cfe08bf383cb62654 docs(quality): close QR-R1-06 (SONNY-2932)   \n* c666e69c740a761ea4e2b43ddfd25adaa6129f1f docs(quality): close QR-R1-09 (SONNY-2935)   \n* d06cefeb364accc225b504221efdb07c4ddf4a90 docs(quality): close QR-R1-11 (SONNY-2937)   \n* 19652d0818d784e2d8b51e136d6eed9eb9d3b1a6 docs(quality): point QR-R1-06 at the rebased fix and the final review-round commit (SONNY-2932)   \n* 6fca3bad2b26e9bf189baf31890c2fe7c13d5e5f docs(quality): refresh tracker summary counts after closing two rows (SONNY-2943)   \n* c369e1679929b98c0a9e943ea5d16c26d729ce0c docs(quality): regenerate tracker summary counts after the rebase (SONNY-2932)   \n* 306ea49fda46aad8e9fe073ad518bf951bb00ada docs(quality): reopen QR-R1-09 as Partial pending the atomic-write-guard baseline (SONNY-2935)   \n* 0f4e6493560d57d3ef07eed50972f654f44aabfc refactor(analysis): name every field per status-constant group and wrap bare lll lines per task 39 review (SONNY-2927)   \n* cba06c4136fdbfd907f873f578d8705ecd587981 refactor(analysis): replace boilerplate nolint reasons (SONNY-2927)   \n* 626cb3364bef3a75ed760e305b8ab1c0f2c37f28 refactor(analysisjournal): replace boilerplate nolint reasons (SONNY-2927)   \n* ac5cdd809b353f36d226b2196cf58fb7d687f0ed refactor(analysisservice): name the coupled lease-renewal divisor (SONNY-2940)   \n* 08aeccde83e482fb24dd10819dc43a571223f286 refactor(app): split functions below complexity thresholds (SONNY-2875)   \n* 437aeb5fa55676ee5296b0931b873a82e9f6de9a refactor(atomicfile): confine the crash-safe publish to os.Root and add WriteNew and ErrDirSync (SONNY-2935)   \n* fbbe186cfe58d12ad2acaeb269954b9f49f7c9ae refactor(capabilitysync): publish capability snapshot slots via internal/atomicfile (SONNY-2935)   \n* c92312fdc7b01b11553c1111f00faf716aaa57b6 refactor(catalogreg): fsync registry, change, cue and updater writes via internal/atomicfile (SONNY-2935)   \n* 249d4d9f1ab0751d4b89d90be84e209393c68ab4 refactor(cli): fix or justify the boilerplate correctness suppressions in cmd/sonny (SONNY-2927)   \n* 55c96cd3a67651ee269680d5672842cc3579407e refactor(cli): publish cmd/sonny artifacts via internal/atomicfile (SONNY-2935)   \n* c3c3bdf39e0374afa2ed87b7ff7855811eb298f8 refactor(cli): replace boilerplate nolint reasons (SONNY-2927)   \n* e42b69bd20571853e2840cedf6b578ff5b02a5bc refactor(cli): route command paths through one cmdContext helper (SONNY-2937)   \n* 4932cfbda44701d56eac7eeeb90a6b2906b3fabc refactor(cli): split ClientProtocolSchemaTypes below complexity thresholds (SONNY-2875)   \n* 0159a672721ea40033fca58a360ed6a11e2a501e refactor(cli): thread the command context through inspect, mcp list and bench replay (SONNY-2937)   \n* de72ff9a61b6b943a1f2a1809cd75fae3c5bf684 refactor(cmd): address task 23 review on the dispatch and expansion splits (SONNY-2875)   \n* cf70ce3d8ef8a786246155685bc9dc9c4b715dc3 refactor(cmd): drop unreachable row 1/2 arms from renderIsolation (SONNY-2875)   \n* e9327afa3110501b03667fe9d15faf6d825c035a refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* cc60ed9c09e71db1c32107cb2afaaf50a2979125 refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* a733fc57c1ea0324b74957af76b446535daf005f refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* 85a5136447282f82c0be23004e0468813ab08e94 refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* b82fced1ed6457978a5cdf3829bb550e4d321179 refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* 1ffcebf2bab415a575d5b8f8f09d6169c02b46f1 refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* 940b6f40219002910711e3d7b7fefc8aefc57fc1 refactor(cmd): split functions below complexity thresholds (SONNY-2875)   \n* 397a0b783fcca14bd5ddc9bc5a6e37663af2171b refactor(cmd): tighten the Q-018 task 26 split after review (SONNY-2875)   \n* 2735f47bd0459100c58b02027344ac065c0a5c9f refactor(conformance): split functions below complexity thresholds (SONNY-2875)   \n* e97d5da42cb06a29c031d5db9074ae3e3f8cac37 refactor(control): split functions below complexity thresholds (SONNY-2875)   \n* b45c040d86018e982ff8361d8fed9801019c2da1 refactor(control): split functions below complexity thresholds (SONNY-2875)   \n* be65e60882af8b0c12e66459927950d66ff29a1e refactor(control): split functions below complexity thresholds (SONNY-2875)   \n* ae5ca9b0215b75bfffbe5752774351f922c53bc1 refactor(control): type CommitAdoption step refusals and tighten adoption tests (SONNY-2875)   \n* 0286bef0d2ece55e0d2c4669866cac030d49a3dc refactor(credentials): publish the sealed credential file via internal/atomicfile (SONNY-2935)   \n* 9c82f4a6b30923abc347f573487bf4ee5981e8cb refactor(desktop): publish desktop settings, close policy and view state via internal/atomicfile (SONNY-2935)   \n* eadf86259cf493b755c9f3b3191a15d2959b52d8 refactor(dispatch): split Invoke below complexity thresholds (SONNY-2875)   \n* 4f6c786566abeef7fb83949d2d1f31c96187100c refactor(doctest): publish built test binaries via internal/atomicfile (SONNY-2935)   \n* dc66b77fd92db40d72b5f2cd2e640b5e2291c41a refactor(doctest): rename built binaries out of the private staging dir instead of copying them (SONNY-2935)   \n* 47455a69fdf455cb2daa5c482c385db4b3563b20 refactor(evidence): install encrypted blobs via atomicfile.WriteNew (SONNY-2935)   \n* 22eb3495cc4d0fcca0e7940cbade9fcac353030c refactor(internal): address complexity-split review for analysisservice (SONNY-2875)   \n* c26f17c1de379348e43ada6e1c60331b5b921951 refactor(internal): address task 35 review on the analysis diagnostic/journal splits (SONNY-2875)   \n* 2114274136b74db274dc9cbffc38bfdb737c9fc3 refactor(internal): address task 40 review minors (SONNY-2875)   \n* 41c5598a842e12153903ecf31812a92f56ff0268 refactor(internal): address task 41 review minors (SONNY-2875)   \n* 17659269089f2446d70aa26fa8fae1f4b8dd2745 refactor(internal): align protected ZIP publish with Create and tighten executor guard test (SONNY-2875)   \n* c1e24b33e07a8e8947c7798d6638040767566548 refactor(internal): split analysis diagnostic/evidence/journal functions below complexity thresholds (SONNY-2875)   \n* 7af02195e7f8e76914ed403ca601eb017130a810 refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* fe1e8e2389bca788d1b4126700afe4b1438344c4 refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* ec1c02e72c479931216f5019b91aafb5d02d2d6c refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* 9bafa08002043bb47280e18c923e84ccf88d24bb refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* b64d4140e24f888dee506ed9cbcf3093289175c8 refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* cff6c6236949d30b0d4afd5aeb732d0573fccede refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* 333e8284d1d228ac8ae3797abaed8df651aba1ac refactor(internal): split functions below complexity thresholds (SONNY-2875)   \n* ddf485d40076ba3d2ac98b965fc0229cc4b1e649 refactor(isolationruntime): publish lease, archive, view and export records through atomicfile (SONNY-2935)   \n* ec6824aab12f84e9de3e673fb2c3d9ce1761bd30 refactor(isolationruntime): replace boilerplate nolint reasons (SONNY-2927)   \n* 110d07bd498cb1eef6f9479f5af462f778240755 refactor(isolationruntime): split Bootstrap below complexity thresholds (SONNY-2875)   \n* 9903cbd240ec8cf7453a43a60e2cc95a7690e18c refactor(isolationruntime): split functions below complexity thresholds (SONNY-2875)   \n* 62974f24c6abd2dfa3039cf0eb00cc8776fe534b refactor(lint): correct funcorder reasons and name review bounds per task 34 review (SONNY-2927)   \n* 438a3cb7da83d44140faee7cd41616479424b7c5 refactor(lint): fix or justify the remaining boilerplate correctness suppressions (SONNY-2927)   \n* 11cf19b00d3085c26ba7f5296561507085ae58d8 refactor(localmodels): publish local model job state via internal/atomicfile (SONNY-2935)   \n* dda0b9ded23720b4d050b62e3e74e243a6748848 refactor(localprofile): publish the device name and personal root bundle via internal/atomicfile (SONNY-2935)   \n* b4b8479e03978c2dbc7c8d4c86cae5c7f55dffbc refactor(mesh): address task 42 review on the mesh startup and pairing splits (SONNY-2875)   \n* 3d23d7bb864426a521c830a10754f0e3da6d1c85 refactor(mesh): read protobuf fields through getters and drop dead helpers (SONNY-2927)   \n* 20e7e9a029f69af3685094ae4d3f8a5df0eb476e refactor(mesh): split functions below complexity thresholds (SONNY-2875)   \n* f4eea7efa52d44e8808e3e31b6a9ffcd996ef857 refactor(mesh): split functions below complexity thresholds (SONNY-2875)   \n* c0ed024258d59969c2f207011d6b8a9e05932a2a refactor(meshengine): split functions below complexity thresholds (SONNY-2875)   \n* 88167c774d8957928bad92f36e32094cbebdf7d0 refactor(pack): fold the warn-only resolver path into the one inheritance policy (SONNY-2932)   \n* 38dd0212c6b2ef3a46fe4ddccb381dfc5a74b9c6 refactor(projectinit): publish private, history and dataset files through atomicfile (SONNY-2935)   \n* 404c2a00f99e1e12fbd621137417c78fcc5e0293 refactor(projinit): publish Root.WriteFileAtomic through atomicfile.WriteIn (SONNY-2935)   \n* d94abdee49568a31081c5280ad4ebc59f16eb2c0 refactor(regressionrecovery): alert from the recoverRun state in Recover (SONNY-2875)   \n* 5132328b1f6a8294c946c13344f7288c0f1679b1 refactor(retrystore): publish batches and desktop saves via internal/atomicfile (SONNY-2935)   \n* a38e2a2e36ac110866debc6009c75af4ced95bca refactor(runtime): restore the saved git index via internal/atomicfile (SONNY-2935)   \n* 44c24f5a915adaaf3b4d0f98f275d684bde8cbb4 refactor(sessioneval): publish experiment journals and immutable objects via internal/atomicfile (SONNY-2935)   \n* 875807328186c6ab5795bb844e52a944d2c26134 refactor(sonny): build the base mesh settings in runTUIFrontend, not startMeshSelf (SONNY-2875)   \n* be8b2b703d70fb3f58749893ad4ef9b32b194860 refactor(sonny): give the cmd_chat split files their own headers (SONNY-2875)   \n* d20eaa49e3b92350d9aa13f468e9826790b00bc0 refactor(sonny): move batch-2 complexity helpers into topic files (SONNY-2875)   \n* f0317e54cd23e9ddeb8cc82511847d768cd4b80f refactor(sonny): split cmd_chat functions below complexity thresholds (SONNY-2875)   \n* 0f95bcb56a11d683660a6dcdc1dc86a064f56f14 refactor(sonny): split functions below complexity thresholds (SONNY-2875)   \n* 35ce38180b54e6b1449f77da60a2361ba6e3eb68 refactor(sonny): split functions below complexity thresholds (SONNY-2875)   \n* ff384e826e01da34a39a505832d360e7ed2b3098 refactor(sonny): split runMain and resolveSessionID below complexity thresholds (SONNY-2875)   \n* e8a4bf67ec551980be3f4a33a16fd05f70ee9204 refactor(sshkeyref): publish identity references via internal/atomicfile (SONNY-2935)   \n* cb6eff7e96d4fcc587d5e8b91a7e52dd02fb60fa refactor(supervisor): add offline journal append fault seams and recovery API surface (SONNY-3222)   \n* 9afe3317a06aeb12bafa8bf9ea6bb75494ed38ee refactor(supervisor): add offline journal directory lock and scoped head-acknowledgement surface (SONNY-3222)   \n* 042e800db4ed58202f1dd42d1007d6ec0f8fd597 refactor(supervisor): publish the tenant marker and offline journal via internal/atomicfile (SONNY-2935)   \n* 1257ee9657f39ed5b3f3404752ef34cefeb4d673 refactor(supervisor): split functions below complexity thresholds (SONNY-2875)   \n* b1aeb9e51c52dc076e8677d6985c57b363143270 refactor(target): publish compatibility assessments via internal/atomicfile (SONNY-2935)   \n* b4165177af5a245a15d41f514f2de4f9ba01af65 refactor(ui): address Task 11 review minors (SONNY-2875)   \n* 54a8727ca26a0c31e9788df67df8ddea9924b388 refactor(ui): address task 13 review on the truncate/stream splits (SONNY-2875)   \n* dace7033c2d3204d2b3bdfedffcb9ace83e36bb9 refactor(ui): name session kinds and pin eager wiring by behavior (SONNY-2875)   \n* 345b6a7ba8f50845504393c55b9740b7d518ab7e refactor(ui): publish tab, sidebar, recent-remote and theme state through atomicfile (SONNY-2935)   \n* 0e715dc619318723e51a194118fdc402d9f64de9 refactor(ui): replace boilerplate nolint reasons in ui subpackages (SONNY-2927)   \n* d7a44ffdb8d3957aebf3c9a082867f296c542062 refactor(ui): restore Update case rationale comments after the split (SONNY-2875)   \n* aca237a758063e751d3347f9b8c4553b9371ce2e refactor(ui): split DefaultCommands below complexity thresholds (SONNY-2875)   \n* 9dbdcf61b299bc64958a89416602a51ecb7bda00 refactor(ui): split Update below complexity thresholds (SONNY-2875)   \n* d1956a733223a8ea917558da1be22afd9de3eddf refactor(ui): split closeActiveTab below complexity thresholds (SONNY-2875)   \n* 537313504a933a259a35bd49eacdc776ff32a24a refactor(ui): split functions below complexity thresholds (SONNY-2875)   \n* aa0ecadad6cd30171e4eaf5fe5c09b15ce8db8fe refactor(ui): split functions below complexity thresholds (SONNY-2875)   \n* 3b83fb073bb9091df557e6eaca1ddecad04fc0ea refactor(ui): split functions below complexity thresholds (SONNY-2875)   \n* 83dc020f863ae52ed7d5a30a09783c0eb893718a refactor(ui): split functions below complexity thresholds (SONNY-2875)   \n* fe9761f504ca965dae00dfb5f2c1ccd23af76802 refactor(ui): split functions below complexity thresholds (SONNY-2875)   \n* 8574ba543df03715e4cbf6239cf645ffd5b93471 refactor(ui): wrap /expand description and point shape test at golden order (SONNY-2875)   \n* 0b2ffb68e0ffc9d37866fa9ff67011347ee36c75 refactor(upstreamsync): publish outbox and dead-letter items via internal/atomicfile (SONNY-2935)   \n* 2ab6c1121d47b789b1ca6daec67f01162e333831 refactor(upstreamvariant): publish the active pointer and revocation record via internal/atomicfile (SONNY-2935)   \n* a25c454487bd3b6213847a1ef440000072db7579 style(codeindex): fix goimports grouping in !linux source files (SONNY-2929)   \n* f85cc15d55d4aff1cbcc19c24452afe0e7c7d054 test(agents): give waitForUpdate a 30 s bound for loaded runners (SONNY-2786)   \n* 3d64f408ea214b6ba1a7dd8bb32e87dab0fcf5f0 test(analysis): address SONNY-3300 review minors on poll diagnostics and budgets (SONNY-3300)   \n* 431e0cfd55d26c99936e3139615332831e8b923a test(analysis): give CLI source-finish fixtures loaded-host IO and drain budgets (SONNY-3300)   \n* ef9b4232587f40b453f55ff61454d622a6301292 test(analysis): give expansion and source polling waits a loaded-host budget (SONNY-3300)   \n* 0f29a0ffe2a3cccdbafec03491961460be7aacd4 test(analysis): settle remaining analysis activations on the maintenance slot (SONNY-2786)   \n* bd19f5687d6f83f839fdb25179c39d43c4c868c7 test(analysis): settle the receipts directive and binding-fixture activation on the maintenance slot (SONNY-3300)   \n* df4514167e8cf84456ace6406769d6d200009aa1 test(analysis): widen expansion capture Git budgets for loaded hosts (SONNY-3300)   \n* 233027cb9aef17f0b78f6f5554f3adf242f622e7 test(analysis): widen fixture harness bounds that expired under CI load   \n* d20892a9288fba721fdf9c80a5598b48049a223a test(analysisjournal): gate the finding-latch setup read on owner readiness (SONNY-3275)   \n* 121e9ce5daa856c5956c86fc5868fd8ddd10f3dd test(analysisservice): make the physical-cancellation wait deterministic (SONNY-2939)   \n* 420dce78e7a6e61c8ebd319b69b54ff9f0767790 test(analysisservice): tie two waits to observed state, not wall clock (SONNY-2939)   \n* 1eb3acdc76986e2eab84679919d8e4b3eeb33817 test(analysissnapshot): give exactly-once terminal recovery a pass budget that survives load (SONNY-3274)   \n* 935042eb49ac1e3276d13a98d16fc9352b93b885 test(app): pin projection effect success arms and polish complexity-split helpers (SONNY-2875)   \n* b99ed32f27c28ac15b116ba0c04d667393b9c246 test(app): tighten complexity-split tests and commit ordering from review (SONNY-2875)   \n* a282be8bf005dff1ccd70fbee8d979b27de6c26d test(canarybridge): give producer recovery indexes the hang-detector budget (SONNY-2786)   \n* ccdc93eddec68e007664f0bc42d002831232433a test(cli): resolve named constants in the apply_status vocabulary scan (SONNY-2927)   \n* 0c0edc1ee5432e48f53b9099d2aba040b32d7456 test(cmd): pin CUE comparison mode contract via Validate and trace_next empty list (SONNY-2875)   \n* 089348d21a667c62bf0635bd8f36757dab569d49 test(cmd): pin allowlist miss-path audit contract and document untestable teardown (SONNY-2875)   \n* e0b03e5e4ef3f2c0f7264ed9a6bdda176f9ee688 test(cmd): pin cross-turn watcher exit and nested scan skip dirs (SONNY-2875)   \n* e8bedc97bfb59ce7a34aef1563c4c2713738e623 test(cmd): pin sonny-api middleware and route guard order after the main split (SONNY-2875)   \n* 82ba9cf13185808069f51241b637759b10e53c8d test(cmd): settle the compiled-conversation activations on the maintenance slot (SONNY-2786)   \n* d5f88501b5634e007e158c7d277620fad2dba660 test(cmd): settle the protected fixture's maintenance read and widen load-bound waits (SONNY-2786)   \n* 67cde8a319e3dd136f70a823c23275486fd979e6 test(codeindex): arm sparse-checkout before reset so git-shaped trees stay sparse (SONNY-2938)   \n* 0fd83b4fb91faf0a370008dd31a48ff27af4a301 test(codeindex): cover remaining cache ancestor admission cases (SONNY-3283)   \n* a03988c24af6cfbfaf52ec1dcb91c7f96763fc03 test(control): assert which guard fires in contribution and list validation cases (SONNY-2875)   \n* 6d3ec112bb0004592e549aa4028d5e66e4d4c3ca test(control): document lock-unreachable CommitAdoption branches (SONNY-2875)   \n* 75ddd36f90d0cc2238625746ccb82c544409cc24 test(eval): drop the skipped compaction envelope from the production fixture goldens (SONNY-2786)   \n* 26e9bcfb22da8d419a4b84d4fec7a9106f2c0f82 test(internal): pin split review and critic helpers in-package (SONNY-2875)   \n* 1d8a10386813ecd478b7031fdf3bcef109436a2d test(isolationruntime): pin GitLab connector error wrappers from review (SONNY-2875)   \n* 6e693d2e4a1d10908b44950d853a052d8963463a test(isolationruntime): pin the lease-store stage of the relative state directory bootstrap failure (SONNY-2875)   \n* 98fb10e0b9e52cfa688d02b4cd6068a5c5c91cdd test(isolationruntime): reacquire executed-journey evidence after an unretained-generation refusal (SONNY-3277)   \n* 6bc1e01edbcfd1f720c63a1b72ccec3251f7a439 test(isolationruntime): size source-session fixture windows for loaded -race hosts (SONNY-3298)   \n* 739020c759c5137eee010c09c7b2c7e695a6fecc test(mesh): give three-node convergence a one-minute polling deadline (SONNY-2786)   \n* 2722c55b5cbe801c8043bfaf067a66a9bdc9bc90 test(meshengine): pin SpawnFor's isolated fail-closed leg and release order (SONNY-2875)   \n* df97e66fb4eb16a194808f6398f6974b19ef072e test(runtime): differential and fuzz guards for tool-parameter clones (SONNY-2903)   \n* 5cda1c4d7cf67892981c1c375134de9aaa255d0c test(sonny): cover the cmd_chat split helpers below 60% (SONNY-2875)   \n* d121e3e01cfd9f7972ea4acbc19b29f98fa394fd test(sonny): pin cmd_chat phase call order and the runExits defer (SONNY-2875)   \n* 743bff7b62b23d50a587da35c2ec18ed20f76ec1 test(sonny): pin headlessEmit console lines and critic submissions (SONNY-2875)   \n* bea31cee32817a1a3f41bb89f42b353d90da3c2b test(sonny): pin headlessEmit tool-failure bookkeeping (SONNY-2875)   \n* 2c4da811886cef83235efa18c6786fb1adb9e07a test(supervisor): cover offline journal append fault points and sidecar refusals (SONNY-3222)   \n* d004059ee78277569d822dd75e6d0b9591678954 test(supervisor): pin parent refusal before entry sequence and name dispatch subtests (SONNY-2875)   \n* 661aa75d6542207cbe7ccbbd8c63eccdbc7f9967 test(supervisor): pin read-only journal opens, bounded lock waits and the acknowledgement write order (SONNY-3222)   \n* 2f5b1142cf54ce3823b10ac154b64ad8adf72379 test(supervisor): pin reconcile --repair for the honest journal crash state (SONNY-3222)   \n* ad395d5956f9b4153a2241ea65e8b6aecf5e22ea test(supervisor): pin scoped head acknowledgement, mid-log corruption refusal and directory ownership (SONNY-3222)   \n* e3ba4d6e98c4b8268ed28b5f0962437bada3ab0b test(supervisor): pin task 43 gate precedence and moved replay/Ensure paths (SONNY-2875)   \n* c5b14276276633d2cb68d8bddfc58209e9b9216a test(supervisor): reproduce the offline journal head-sidecar wedge (SONNY-3222)   \n* 4496bb666303eb8026fc8d493096c866f4b0f080 test(tools): pin delete_file and the scratch default to each surface's posture (SONNY-3186)   \n* b9e5b1deb02964d3035229dbc50be68dc2347db2 test(tools): reproduce undeletable child scratch files and probe files leaking through integrate (SONNY-3186)   \n* eccd9581c18d7f3c5d98eb5611134e278fa58277 test(toolscope): track the eager TUI tool cap at its new main_phases_tui.go call site (SONNY-2875)   \n* 4d23b1805f02e2f799e33f08dc77900c77ddf409 test(toolscope): track the tab builder's capped BuildTools call in main_phases_tab.go (SONNY-2875)   \n* d633e29ba46e9312f2a03f9418dee49ab0b67e99 test(ui): assert render flatness and the reload split on work, not wall-clock (SONNY-3229)   \n* f5ec6a7433919d87be5da8715dd84a864355a487 test(ui): widen and shrink the chat.update characterization golden (SONNY-2875)   \n* 1e84c1149f1abea971e0f62a557039198826cf0a test(ui): widen the reported-window guard to every turn-adapter file (SONNY-2875)\n\n","product":"sonny","published_at":"2026-09-29T00:29:36.735Z","schema":"sonny-release/v1","source_commit":"b2ccf4446299be71205212e03892ae8a1be0bf95","tag":"v0.11.28","verification":{"checksums_url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/checksums.txt","historical_archive":{"checked_at":"2026-10-26T04:26:26.273859+00:00","newer_released_at":"2026-10-25T16:41:03.251Z","newer_source_commit":"eaf885551c5834f4bee56ea48be7b9eff768c66d","newer_stable_tag":"v0.12.8"},"scope":"Historical release: file hashes match the authenticated release checksum manifest and GitLab package metadata. Only assets with a separate anonymous streamed proof are classified as public. GitLab links require project access; neither anonymous availability nor signature verification is claimed for them.","signature_bundle_url":"https://gitlab.com/devnw/codepros/sonny/sonny/-/releases/v0.11.28/downloads/checksums.txt.bundle","signature_verified_by_importer":false},"version":"0.11.28"}