Peter Steinberger
4cbbb86d5e
refactor(zalouser): share offset-preserving text chunk ranges ( #105842 )
...
* refactor(zalouser): share text chunk ranges
* chore(plugin-sdk): refresh combined API baseline
2026-07-12 23:46:16 -07:00
Ben Badejo
be7241b656
fix: deliver completed replies when post-turn compaction fails ( #105156 )
...
* fix(agents): preserve final replies across compaction failures
* test(agents): normalize nullable pending final
* chore(deadcode): drop used outbound payload export baseline
* refactor(agents): clarify pending final compaction delivery guard
* fix(agents): preserve media in pending final recovery
* fix(agents): require persisted final marker before compaction
* fix: keep pending final marker result internal
* test: update plugin SDK surface budget
---------
Co-authored-by: Benjamin Badejo <ben@benbadejo.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 23:46:04 -07:00
Jason (Json)
9c94864746
docs(coding-agent): require fresh project worktrees ( #105993 )
...
* improve(agents): require fresh canonical worktrees
* fix(agents): scope fresh worktrees to project coding
* chore(agents): preserve prompt LOC baseline
* fix(skills): exempt scratch Codex scaffolds
* docs: refresh agent template map
* fix(agents): scope worktree policy to prepared workers
* fix(skills): require launcher-prepared worktrees
* fix(skills): sandbox untrusted contributor refs
2026-07-13 00:39:56 -06:00
Peter Steinberger
adf6b08ab4
refactor: consolidate duration parsing and formatting ( #105988 )
...
* refactor: consolidate duration handling
* docs: leave release notes to release workflow
* fix: preserve build timing precision
* ci: align plugin sdk surface budgets
2026-07-12 23:38:22 -07:00
Peter Steinberger
8a1201aa7b
fix(docs-i18n): restore nested postprocess masks
2026-07-13 02:37:54 -04:00
Vincent Koc
bfa2eff32a
fix(ci): refresh plugin SDK API baselines ( #106108 )
...
* fix(ci): refresh plugin SDK API baselines
* fix(ci): refresh plugin SDK API baselines
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 23:37:29 -07:00
Vincent Koc
4ea758dcf9
fix(sqlite): keep plugin index reads read-only ( #106103 )
2026-07-13 14:37:18 +08:00
Peter Steinberger
24ad2484e4
refactor(gateway): split websocket message handler ( #106030 )
...
* refactor(gateway): split websocket message handler
* chore(gateway): refresh dead export baseline
* fix(gateway): satisfy websocket handler checks
* fix(gateway): keep transcript read target internal
* fix(gateway): refresh plugin surface budget
2026-07-12 23:36:32 -07:00
Colin Johnson
6242842722
fix(ios): focus missing gateway credentials ( #98189 )
...
* fix(ios): focus missing gateway credentials
Co-authored-by: Colin <colin@solvely.net >
* test(macos): let main actor polling suspend
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 23:36:29 -07:00
Peter Steinberger
82d53fd91d
fix(ci): stabilize CLI startup memory gate
2026-07-13 02:31:44 -04:00
Peter Steinberger
71295851d7
docs: refresh config baseline
2026-07-12 23:29:02 -07:00
Peter Steinberger
ab8cbfd73c
fix(ui): allow manual folders on exec-only nodes ( #106012 )
...
* fix(ui): allow manual folders on exec-only nodes
* test(ui): type exec-node request params
* style(ui): format exec-node request assertion
2026-07-12 23:23:06 -07:00
Peter Steinberger
404651d9e8
docs: add HealthKit glossary terms
2026-07-12 23:15:20 -07:00
Peter Steinberger
8a375c4500
docs: document HealthKit summaries
2026-07-12 23:15:19 -07:00
Jason (Json)
3375e30d9c
chore(ci): remove TypeScript LOC ratchet ( #106096 )
...
Remove the hard 500-line TypeScript LOC ratchet from CI and local check planning, along with its package commands, implementation, baseline, and dedicated tests. Keep the remaining pull-request temp-creation report on its own pr-base fetch.\n\nVerification: 99 focused tooling tests; actionlint; zizmor; workflow guards; exact-head autoreview.
2026-07-13 00:15:00 -06:00
Peter Steinberger
16fa19cd72
improve(control-ui): compress and cache bundled assets ( #105890 )
...
* perf(control-ui): compress bundled assets
* chore(control-ui): remove release-owned changelog edit
* fix(control-ui): release assets before compression
* refactor(control-ui): split static response helpers
* perf(control-ui): precompress bundled assets
* refactor(control-ui): keep encoding internals private
* chore(control-ui): refresh LOC baseline
2026-07-12 23:13:04 -07:00
NIO
70b3467484
fix(media): bound hung remote downloads in media store ( #104624 )
...
* fix(media): bound remote download lifecycle
Co-authored-by: hugenshen <hu.genshen@xydigit.com >
* fix(media): keep download test seam internal
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 23:12:03 -07:00
Peter Steinberger
fcb45b4400
feat(ui): render streaming chat markdown live instead of plain text ( #106062 )
...
Streaming assistant replies in the Control UI now render markdown live: the in-flight tail is repaired with remend (zero-dep, Apache-2.0, extracted from Vercel's Streamdown) before the existing markdown-it + DOMPurify pipeline, and open code fences stream as live-highlighted code blocks. Deletes the plain-text streaming tail path (toStreamingPlainTextHtml) and extracts an uncached render core so tail deltas stop churning the markdown LRU cache. Closes #106053
2026-07-12 23:11:45 -07:00
Peter Steinberger
0633afe6a5
fix(config): reject schema-only keys ( #106031 )
...
* fix(config): reject schema-only keys
* chore(config): refresh plugin SDK baseline
* test(config): remove stale remote enabled fixtures
2026-07-12 23:10:12 -07:00
Peter Steinberger
6410e33cb0
refactor(ci): restore LOC ratchet headroom ( #106063 )
...
* refactor(ci): restore TypeScript LOC ratchet
* fix(ci): keep source reply item type internal
2026-07-12 23:09:25 -07:00
Peter Steinberger
9cdf166d2e
refactor(mattermost): trim monitor gating facade ( #106021 )
...
* refactor(mattermost): trim monitor gating facade
* chore(ci): shrink Mattermost LOC baseline
* chore(ci): refresh deadcode export baseline
2026-07-12 23:09:15 -07:00
Paul Campbell
008f04a656
feat(mxc): add Windows MXC sandbox backend ( #97086 )
...
* feat(mxc): add Windows MXC sandbox backend
Add the official MXC sandbox plugin package with Windows ProcessContainer execution, plugin-owned MXC SDK dependency packaging, host-backed filesystem bridge support, and configured MXC policy file loading via mxcPolicyPaths.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
* fix(mxc): preserve Windows binary override paths
* fix: remove stray sandbox barrel export
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Copilot-Session: 9ea19539-b8ca-44fb-93bd-b8496e3deb2c
* fix(mxc): address sandbox review feedback
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mxc): satisfy test type checks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mxc): clarify protected skill enforcement
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* test(mxc): align fail-closed expectations
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mxc): satisfy extension lint
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(plugin-sdk): narrow fs-safe remove surface
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com >
* fix(mxc): repair rebased CI failures
* fix(scripts): declare shrinkwrap override normalizer
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: Gio Della-Libera <235387111+giodl73-repo@users.noreply.github.com >
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-07-12 23:07:25 -07:00
Peter Steinberger
1cbb380f02
fix: resolve agent identity workspace ( #106087 )
2026-07-12 23:06:53 -07:00
Peter Steinberger
aa04722c5c
fix(ci): make TypeScript LOC growth reviewable ( #105952 )
2026-07-12 23:06:30 -07:00
Peter Steinberger
03d4b05593
style(ui): format tool card tests
2026-07-13 02:05:04 -04:00
Peter Steinberger
ebe69fd238
fix(ci): stabilize dead-export ratchet ( #105945 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-12 23:03:53 -07:00
Peter Steinberger
a5883c33d1
refactor: use semver package for version ordering ( #105944 )
...
* refactor: use semver package for version ordering
* refactor: centralize semver validation
* chore: keep release notes in PR body
* refactor: update semver LOC ratchet
2026-07-12 23:02:25 -07:00
Vincent Koc
2454511480
refactor(sms): consolidate webhook test hooks ( #106072 )
2026-07-13 14:02:10 +08:00
Peter Steinberger
bebcf52d23
ci: isolate Control UI tool card tests
2026-07-13 02:00:58 -04:00
Vincent Koc
f33ab243cf
fix(sqlite): reject runtimes vulnerable to WAL corruption ( #106065 )
...
* fix(sqlite): require WAL-reset-safe Node runtime
* docs(sqlite): document safe Node runtime floor
* fix(sqlite): defer runtime library validation until use
* fix(ci): align startup memory with Node 24.15
2026-07-13 13:59:00 +08:00
Peter Steinberger
4349687b9d
refactor(extensions): burn down Discord and Slack dead exports ( #106017 )
...
* refactor(discord): trim dead internal exports
* refactor(slack): trim dead internal exports
* test(discord): cover inherited streaming migration
* chore(tooling): ratchet reduced extension LOC
* refactor(discord): remove stale approval helper import
* chore(deadcode): remove reintroduced transcript baseline
2026-07-12 22:58:22 -07:00
NIO
ce990a3ad9
fix(googlechat): bound webhook cert fetch during token verification ( #102924 )
...
* fix(googlechat): bound webhook cert fetch during token verification
* refactor(googlechat): consolidate cert timeout proof
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-12 22:56:49 -07:00
Jason (Json)
30cbc1118a
fix(ui): keep restored prompts visible during runs ( #106001 )
2026-07-12 23:55:53 -06:00
Peter Steinberger
e4a17ee160
refactor(ui): split Workboard controller modules ( #105995 )
...
* refactor(ui): split Workboard controller modules
* chore(ui): track moved Workboard export
* chore(ui): avoid unrelated LOC baseline validation
* ci: refresh TypeScript LOC baseline
* ci: drop stale transcript export baseline
2026-07-12 22:55:07 -07:00
Peter Steinberger
20c5b2282e
fix: render complete HTML entity set in agent workflows ( #105957 )
...
* fix(agents): decode full HTML entity set
* fix(agents): preserve mixed-case nbsp extraction
* chore: leave release notes to release automation
* chore(ci): lower web fetch LOC baseline
* fix(agents): use literal entity radices
2026-07-12 22:54:46 -07:00
Peter Steinberger
a0e5c15988
refactor(errors): consolidate shared error formatting ( #105927 )
...
* refactor(errors): consolidate shared formatting
* fix(errors): preserve structured diagnostic details
* fix(errors): preserve nested cause compatibility
* chore(ci): ratchet reduced formatter files
2026-07-12 22:48:55 -07:00
Jason (Json)
38808a43d6
ci: remove stale transcript deadcode baseline ( #106064 )
2026-07-13 13:46:59 +08:00
Peter Steinberger
6551786a31
docs: harden Gmail hook guidance
2026-07-12 22:42:48 -07:00
Peter Steinberger
807491e0f1
ci: consolidate SMS webhook test reset ( #106070 )
...
* ci: clear stale dead-export surfaces
* ci: align dead-export baseline
2026-07-12 22:41:35 -07:00
Peter Steinberger
db252ac417
refactor: move usage cost cache into agent database ( #106051 )
...
* refactor(infra): rename usage cache lock owner field
* refactor(state): migrate usage cost cache to SQLite
* fix(state): satisfy SQLite migration gates
* refactor(state): keep usage cache access synchronous
* chore: leave release notes to release workflow
* fix(state): satisfy dependency export gate
2026-07-12 22:39:54 -07:00
Peter Steinberger
8c7f3d087f
refactor: use native abort signal composition ( #105947 )
...
* refactor: use native abort signal composition
* style(discord): preserve media module LOC baseline
* chore(ci): lower abort refactor LOC baselines
2026-07-12 22:39:43 -07:00
Vincent Koc
6a0eecdb44
fix(release): separate code and release SHA validation ( #105948 )
2026-07-13 13:38:19 +08:00
Vincent Koc
a778f891fa
fix(ci): repair main validation regressions ( #106037 )
2026-07-13 13:37:53 +08:00
Peter Steinberger
1edc8b6c27
refactor(security): centralize timing-safe secret comparisons ( #105989 )
...
* refactor(plugins): reuse safe secret comparator
* refactor(security): centralize remaining secret comparisons
* chore(ci): lower refactored file baselines
2026-07-12 22:37:21 -07:00
Peter Steinberger
f025311e1b
fix(config): preserve nested defaults across deep merges ( #105953 )
...
* fix(config): preserve deep-merge semantics with defu
* chore: keep release notes in PR body
* fix(config): avoid defu type suppressions
* chore(ci): ratchet merged helper line counts
2026-07-12 22:36:45 -07:00
Peter Steinberger
6f0072d574
improve(channels): reuse loaded plugin lookup view ( #105977 )
...
* perf(channels): memoize loaded plugin lookups
* chore(channels): update deadcode export baseline
* test(channels): preserve loaded registry mock exports
2026-07-12 22:35:23 -07:00
Peter Steinberger
5cb074ece5
refactor: dedupe small async primitives ( #105961 )
...
* refactor(sqlite): remove unused async Kysely driver
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
* refactor(media): share promise memoization
* chore(sqlite): prune stale Kysely guardrails
* chore(media): lower runner LOC baseline
* style(shared): format promise memo tests
* chore(deadcode): refresh main export baseline
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-07-12 22:34:53 -07:00
Peter Steinberger
bd7f3cffd3
fix(ci): stabilize QA and UI validation ( #106061 )
2026-07-12 22:34:38 -07:00
Josh Avant
bb75950159
fix(worktrees): normalize dashed base refs ( #104105 ) ( #106048 )
2026-07-13 00:34:26 -05:00
Peter Steinberger
b9f0246765
feat(plugin-sdk): add shared HTML escaping seam ( #105975 )
2026-07-12 22:33:53 -07:00