Peter Steinberger
b58a75d726
refactor(html): share entity decoding
2026-07-14 00:00:05 -07:00
krissding
e588f2c0ce
fix(extra-params): preserve resolved cacheRetention against undefined own-property clobber ( #106069 )
...
* fix(extra-params): preserve resolved cacheRetention when options carries undefined own-property
When the proxy transport emits cacheRetention as an own property set to
undefined, JS spread semantics clobber the resolved cacheRetention value
from per-model params. Re-assert the resolved value after the spread so
it takes precedence over an undefined own-property in the caller's options.
Fixes #106014
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* test(agents): strengthen cache retention precedence proof
* refactor(agents): keep cache retention merge compact
* style(agents): format cache retention matrix
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 23:54:56 -07:00
Peter Steinberger
044392684b
test(release): repair scheduled E2E regressions ( #107173 )
...
* test(release): repair scheduled E2E regressions
* test(release): refresh generated protocol bindings
* docs(agents): harden remote proof invocations
2026-07-13 23:49:36 -07:00
Peter Steinberger
d3ac854e31
refactor(agents): extract attempt execution phases
2026-07-13 22:54:42 -07:00
Peter Steinberger
304beb22e1
refactor(concurrency): use p-map skip results
2026-07-13 22:43:26 -07:00
Peter Steinberger
b241d4a12d
refactor(agents): extract attempt session runtime setup
2026-07-13 22:32:01 -07:00
Peter Steinberger
73838101df
refactor(agents): extract attempt stream runtime setup
2026-07-13 22:01:22 -07:00
zengLingbiao
692cb8dd9b
fix(cron): reject non-string values in delivery target validation ( #106952 )
...
* fix(cron): reject non-string values in delivery target validation
assertNonBlankStringField had inverted logic — non-string values
(number, boolean, object) were silently accepted because typeof !== 'string'
was grouped with the undefined/null early return. The function name says
'assert non-blank string field' but it was bypassing validation for any
non-string type, defeating the purpose of input validation.
* test(cron): cover invalid delivery fields at entrypoints
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 21:48:15 -07:00
Peter Steinberger
352cf819bc
improve: speed up agent command tests ( #107107 )
...
* test: avoid plugin discovery in agent command suites
* style: format agent command test imports
* test: preserve agent command mock ordering
* test: classify agent mock state as test support
2026-07-13 21:46:50 -07:00
xingzhou
6b0a835116
fix(diagnostics): prevent broken emoji in long model identifiers ( #106986 )
...
* fix(diagnostics): preserve Unicode boundaries in timeline attributes
* fix(diagnostics): keep timeline truncation within LOC guard
* test(diagnostics): strengthen Unicode timeline regression
* test(diagnostics): type Unicode boundary cases
* test(diagnostics): await wrapped timeline call
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 21:41:15 -07:00
Peter Steinberger
0ecbbe2382
fix(workboard): keep dispatch inside caller workspace authority ( #107087 )
...
* fix(workboard): inherit caller workspace authority
* docs(plugin-sdk): refresh API baseline
* fix(workboard): pin restricted worker authority
* fix(workboard): avoid host git for restricted dispatch
* refactor(worktrees): extract owner matching
* refactor(workboard): reuse sdk workspace helpers
* fix(workboard): narrow cleanup owner
* refactor(workboard): clarify claim value handling
* fix(workboard): inherit caller workspace authority
* test(worktrees): use managed temp directories
* chore: keep release notes in PR body
* fix(workboard): keep internal authority helpers private
2026-07-13 21:36:26 -07:00
Peter Steinberger
f82895d416
refactor(agents): extract attempt prompt phase
2026-07-13 21:32:56 -07:00
Vincent Koc
3a55f8d800
refactor(agents): remove dead test surfaces ( #107113 )
2026-07-14 12:23:41 +08:00
Peter Steinberger
66e6923929
test: accelerate session status suite ( #107054 )
2026-07-13 21:21:00 -07:00
Peter Steinberger
37c7de0148
refactor(ai): remove redundant tool argument finalization
2026-07-13 21:17:38 -07:00
Peter Steinberger
27f2a45c54
fix(onboarding): harden live inference handoff ( #107041 )
...
* fix(onboarding): harden live inference handoff
* fix(crestodian): preserve auto runtime probes
* fix(ci): restore current main lint gates
2026-07-13 21:15:36 -07:00
Peter Steinberger
632b17618e
refactor(agents): extract attempt prompt dispatch phase
2026-07-13 21:06:46 -07:00
Peter Steinberger
ea33260491
refactor(agents): privatize prompt error outcome ( #107097 )
2026-07-13 21:01:48 -07:00
Peter Steinberger
87b2b4eaab
refactor(agents): extract session lock preparation
2026-07-13 21:01:28 -07:00
Peter Steinberger
0ab9e625c2
refactor(agents): extract stream finalization phase
2026-07-13 20:47:47 -07:00
Peter Steinberger
e79cbbfb2e
refactor(resources): use native minimatch list matching
2026-07-13 20:45:18 -07:00
Peter Steinberger
e55e3ffbdd
refactor(agents): extract attempt prompt execution lifecycle
2026-07-13 20:39:12 -07:00
Peter Steinberger
69f1da11a3
refactor(agents): privatize attempt lifecycle details ( #107055 )
2026-07-13 20:21:34 -07:00
Vincent Koc
4bff6b188e
refactor(agents): privatize computer tool helpers ( #107048 )
2026-07-14 11:13:48 +08:00
Peter Steinberger
661cf9644d
refactor(agents): extract attempt prompt observability
2026-07-13 20:09:00 -07:00
Peter Steinberger
a0cab8c1d8
refactor(agents): extract attempt abort lifecycle
2026-07-13 20:04:43 -07:00
xingzhou
ad7f849490
fix(agents): prevent local provider sidecars surviving canceled startup ( #104070 )
...
* fix(agents): prevent local provider sidecars surviving canceled startup
* test(agents): harden local service abort regression
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 20:02:13 -07:00
Peter Steinberger
2c4ccf7196
test: isolate auth planner profile lookup ( #106962 )
2026-07-13 19:59:17 -07:00
Peter Steinberger
baf519344f
perf(test): isolate auth planner provider hooks ( #107022 )
2026-07-13 19:58:54 -07:00
Peter Steinberger
b91a33d14a
fix(agents): keep timestamp override type internal ( #107020 )
2026-07-13 19:51:16 -07:00
Vincent Koc
d4ee32185c
refactor(agents): simplify image resize policy ( #107027 )
2026-07-14 10:46:01 +08:00
Peter Steinberger
9b823c6108
refactor(agents): extract attempt context guards and trajectory
2026-07-13 19:38:49 -07:00
Peter Steinberger
b9c947237a
refactor(agents): extract attempt session boundaries
2026-07-13 19:27:03 -07:00
Peter Steinberger
6e067f7662
test: restore moving-main quality gates ( #106972 )
...
* test(agents): preserve caught abort cause
* refactor(browser): privatize route handler type
* test(lint): cover browser route override
2026-07-13 19:06:30 -07:00
Vincent Koc
7df623f528
refactor(agents): inline side-question auth type ( #106973 )
2026-07-14 09:37:35 +08:00
Vincent Koc
e330e4a17d
refactor(agents): privatize system prompt helpers ( #106965 )
2026-07-14 09:27:10 +08:00
Yufeng He
8ac4a52a4e
fix(sandbox): use canonical shortenHomePath for sandbox-root escape error ( #106603 )
...
* fix(sandbox): use canonical shortenHomePath for sandbox-root escape error
The local shortPath helper shortened any path with the home directory as a
string prefix, with no separator boundary, so a home-sibling sandbox root was
mangled in the escape error: homedir /Users/al + root /Users/albert/proj
rendered as ~bert/proj. Delete the duplicate helper and reuse the canonical,
boundary-safe shortenHomePath from ../utils (the same fix already applied to the
other home-path shorteners), keeping one canonical path per repo policy.
Signed-off-by: Yufeng He <40085740+he-yufeng@users.noreply.github.com >
* test(sandbox): cover home-sibling diagnostics
* test(sandbox): make path proof portable
---------
Signed-off-by: Yufeng He <40085740+he-yufeng@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-13 18:24:42 -07:00
Vincent Koc
c80920ce09
refactor(agents): privatize provider request helpers ( #106955 )
2026-07-14 09:14:50 +08:00
Peter Steinberger
dc61172e51
refactor(agents): remove dead internal test seams ( #106956 )
...
* refactor(channels): remove dead action discovery reset
* refactor(agents): remove dead internal test seams
2026-07-13 18:14:30 -07:00
Peter Steinberger
9b9f44bf7e
test(exec): retry transient temp cleanup ( #106949 )
2026-07-13 18:04:46 -07:00
Peter Steinberger
cae29a0792
refactor(agents): share sync storage lock retries
2026-07-13 17:35:29 -07:00
Vincent Koc
8963a89432
fix(ci): restore prompt context dependency checks ( #106934 )
...
* fix(ci): privatize prompt context result types
* fix(ci): refresh plugin SDK API baseline
2026-07-14 08:34:14 +08:00
Vincent Koc
db2be35353
refactor(agents): inline embedded session creation ( #106909 )
2026-07-14 08:17:28 +08:00
Peter Steinberger
1bdb7b8535
refactor(agents): trim internal type exports ( #106925 )
2026-07-14 01:14:44 +01:00
Peter Steinberger
bab07e990a
refactor(agents): extract prompt context and cleanup phases
2026-07-13 17:12:01 -07:00
Peter Steinberger
d7f38ab678
refactor(agents): trim CLI and facade exports ( #106917 )
...
* refactor(agents): trim CLI and facade exports
* refactor(agents): privatize compaction planning helpers
2026-07-14 01:02:26 +01:00
Peter Steinberger
48817f6cea
fix(ci): stop exporting internal session helper ( #106904 )
2026-07-14 00:53:16 +01:00
Peter Steinberger
9e2a6b1269
test(agents): expose session activation mock
2026-07-13 16:36:05 -07:00
Peter Steinberger
98f603c4c4
refactor(agents): extract agent session preparation
2026-07-13 16:36:05 -07:00
Peter Steinberger
cf8b57e7d0
feat(skills): scan session history for workshop ideas ( #106766 )
...
* feat: scan past sessions for skill proposals
* feat(ui): add progressive skill history scans
* fix(ui): keep skill history scans synchronized
* refactor: split skill history scan ownership
* style: fix mock helper formatting
* style: format skill history scan
* build: refresh skill history schema baselines
* build: refresh plugin SDK baseline after rebase
* perf(ui): keep startup request budget bounded
* fix(skills): satisfy history scan integration gates
* fix(ui): bound control ui startup chunks
* build: refresh plugin SDK API baseline
* build(ui): refresh self-learning translation memory
* refactor(ui): split skill workshop state
* fix(ci): refresh skill workshop gates
* fix(ci): satisfy skill history lint
* build: refresh plugin SDK baseline after main rebase
2026-07-13 16:15:50 -07:00