Gustavo Madeira Santana
fca8880968
Tests: reuse QMD availability mock type
2026-03-30 00:59:26 -04:00
Vincent Koc
ec13f6d73e
refactor(tasks): route subagents through executor ( #57481 )
...
* refactor(tasks): add executor facade
* refactor(tasks): extract delivery policy
* refactor(tasks): route acp through executor
* refactor(tasks): route subagents through executor
2026-03-30 13:59:23 +09:00
Vincent Koc
126f77315f
refactor(tasks): route acp through executor ( #57478 )
...
* refactor(tasks): add executor facade
* refactor(tasks): extract delivery policy
* refactor(tasks): route acp through executor
2026-03-30 13:58:51 +09:00
Gustavo Madeira Santana
0e078e8bc0
Runtime: dedupe typing lease logic
2026-03-30 00:58:04 -04:00
Gustavo Madeira Santana
73b128e37d
Tests: trim channels add registry imports
2026-03-30 00:54:41 -04:00
Gustavo Madeira Santana
16b452040b
Memory: fix QMD doctor contract typing
2026-03-30 00:54:41 -04:00
Gustavo Madeira Santana
b33a18e280
Runtime: remove dead telegram typing lease
2026-03-30 00:52:57 -04:00
Vincent Koc
c842ca0166
fix(test): trim channel account registry imports
2026-03-30 13:50:39 +09:00
Vincent Koc
6a3c68d470
fix(test): trim channels add registry imports
2026-03-30 13:47:25 +09:00
Gustavo Madeira Santana
9d05db7be7
WhatsApp: move heartbeat recipient test into plugin
2026-03-30 00:46:50 -04:00
Gustavo Madeira Santana
6a37ecad82
Supervisor: unblock waits after forced child kill
2026-03-30 00:45:22 -04:00
Gustavo Madeira Santana
6c66d1009b
BlueBubbles: move status-issue test into plugin
2026-03-30 00:45:22 -04:00
Vincent Koc
817ac551b6
refactor(tasks): extract delivery policy ( #57475 )
...
* refactor(tasks): add executor facade
* refactor(tasks): extract delivery policy
2026-03-30 13:44:59 +09:00
Vincent Koc
8623c28f1d
fix(memory): warn when qmd binary is missing ( #57467 )
...
* fix(memory): warn when qmd binary is missing
* fix(memory): avoid probing cached qmd managers
* docs(memory): clarify qmd doctor probe behavior
* fix(memory): probe qmd from agent workspace
2026-03-30 13:44:41 +09:00
Vincent Koc
69793db948
fix(test): trim acp context registry imports
2026-03-30 13:39:29 +09:00
Vincent Koc
b26092cf01
fix(test): close task registry sqlite after reset
2026-03-30 13:38:22 +09:00
Gustavo Madeira Santana
c389b05d3c
Tests: force-reset session cleanup state between runs
2026-03-30 00:36:43 -04:00
Vincent Koc
20e4d42db3
fix(test): trim onboarding post-write registry imports
2026-03-30 13:36:02 +09:00
Vincent Koc
5b2d9b6505
refactor(tasks): add executor facade ( #57474 )
2026-03-30 13:35:39 +09:00
Kris Wu
6b255b4dec
fix(agents): prevent unhandled rejection when compaction retry times out [AI] ( #57451 )
...
* fix(agents): prevent unhandled rejection when compaction retry times out
* fix(agents): preserve compaction retry wait errors
* chore(changelog): add compaction retry timeout entry
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-30 13:30:13 +09:00
nimbleenigma
aee61dcee0
fix: finalize android notification forwarding controls ( #40175 ) (thanks @nimbleenigma)
...
* android(gateway): always send string payloadJSON for node.event
(cherry picked from commit 5ca5a0663ad8fbd9f9f654c52a72b423e1e19605)
(cherry picked from commit bce87e7493e52b0e5959548b410500db8d545a50)
* android: restore notification forwarding controls
(cherry picked from commit 98c4486f83d165919d7f8f1d713ff79ec8126ce7)
* android: restore notification picker discovery UX
(cherry picked from commit 276fbe3f80e036b666070a636c89ee073cdaa934)
* android: enforce notification forwarding policy in listener
(cherry picked from commit 502fb761e05ff911ebde2771eebb1e175ec4dbeb)
* fix(android): harden notification quiet hours inputs
(cherry picked from commit 717d5016f52e98601e6b6d678c991c78fa5ca429)
* fix(android): polish notification forwarding settings
(cherry picked from commit ad667899dea45af70fabfd43f43fa38024def23f)
* test: normalize talk config fixture API key placeholders
* fix(android): use persisted recent packages and wall-clock policy time
* fix(android): keep notification forwarding settings editable
* fix: finalize android notification forwarding controls (#40175 ) (thanks @nimbleenigma)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-30 10:00:00 +05:30
Vincent Koc
6af52b4ce3
fix(test): trim outbound session registry imports
2026-03-30 13:29:10 +09:00
Vincent Koc
2849e613ee
fix(test): trim target parsing registry imports
2026-03-30 13:19:50 +09:00
Gustavo Madeira Santana
d8ad72bf8d
Tests: stabilize session-state cleanup mocks
2026-03-30 00:15:59 -04:00
Vincent Koc
c91f6944cb
docs(changelog): add memory session indexer credit
2026-03-30 13:14:42 +09:00
Vincent Koc
ab43bbd62b
fix(test): use minimal outbound binding registries
2026-03-30 13:08:13 +09:00
Vincent Koc
fa5827079f
refactor(tasks): split delivery state from task runs
2026-03-30 13:03:54 +09:00
Gustavo Madeira Santana
ca2a67e07e
Slack: keep auto-thread test context local
2026-03-29 23:56:32 -04:00
zijiess
dca7969b2e
fix(agents): classify Anthropic "unexpected error" api_error as transient ( #57441 )
...
* fix(agents): classify Anthropic "unexpected error" api_error as transient (#57010 )
Anthropic sometimes returns api_error payloads with message "An unexpected
error occurred while processing the response" during mid-stream failures.
This was not matched by API_ERROR_TRANSIENT_SIGNALS_RE, causing the error
to surface as terminal instead of triggering retry/fallback.
Add "unexpected error" to the transient signal regex. This follows the
same pattern as prior fixes for "Internal server error" (#23193 ) and
overloaded_error 529 (#34535 ).
Closes #57010
* chore(changelog): add anthropic failover entry
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-30 12:56:07 +09:00
Gustavo Madeira Santana
91ea844cc0
Slack: move auto-thread coverage into plugin tests
2026-03-29 23:53:48 -04:00
Vincent Koc
dd23e744f4
fix(test): bypass slack facade in message action params test
2026-03-30 12:51:02 +09:00
Vincent Koc
b7d59f7831
fix(memory): export archived qmd session transcripts ( #57446 )
...
* fix(memory): export archived qmd session transcripts
* test(memory): separate qmd session listing describe
2026-03-30 12:50:21 +09:00
Vincent Koc
c7106c4285
refactor(tasks): replace generic task mutation api
2026-03-30 12:49:36 +09:00
wangchunyue
16df3de098
fix: stabilize config default-leak landing tests ( #56834 ) (thanks @openperf)
...
* fix(config): prevent AJV schema defaults from leaking into persisted config
Fixes #56772 . Ensures that channel and plugin AJV validations respect the applyDefaults option, preventing runtime defaults from being written to openclaw.json during doctor/update flows.
* test: address review feedback on #56772 fix
- Split validation.channel-metadata.test.ts into applyDefaults true/false cases (fixes CI)
- Update io.write-config.test.ts regression test to use a mock plugin registry, ensuring it actually exercises the AJV default injection path
* fix(config): revert applyDefaults passthrough to prevent required-field regression
Codex-connector correctly identified that BlueBubbles channel schema marks
enrichGroupParticipantsFromContacts as both default:true and required.
Passing applyDefaults:false during write validation would cause required
checks to fail, breaking writeConfigFile entirely.
Reverted validation.ts to always use applyDefaults:true for channel/plugin
AJV validation. The protection against default leakage into persisted config
is fully handled by the persistCandidate change in io.ts (cfgToWrite uses
the pre-validation merge-patched value, not validated.config).
Updated validation.channel-metadata.test.ts to reflect this architecture.
* fix(config): apply legacy web-search normalization to persistCandidate
* fix: stabilize config default-leak landing tests (#56834 ) (thanks @openperf)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-03-30 09:19:17 +05:30
Vincent Koc
22f56433e0
fix(perf): bypass matrix facade for core helpers
2026-03-30 12:43:55 +09:00
Vincent Koc
c142a396f4
fix(memory): rebind qmd collections on pattern drift ( #57438 )
2026-03-30 12:43:44 +09:00
Gustavo Madeira Santana
313fdf5adf
Memory Host: make backend-config path tests portable
2026-03-29 23:41:42 -04:00
Vincent Koc
8c163c14bc
feat(tasks): harden maintenance repair paths ( #57439 )
...
* feat(tasks): harden maintenance repair paths
* fix(tasks): address follow-up maintenance review comments
2026-03-30 12:37:31 +09:00
Gustavo Madeira Santana
aaf47ca54b
WhatsApp: align deliver-reply test mocks with imports
2026-03-29 23:36:38 -04:00
Gustavo Madeira Santana
8b0cbebe43
Telegram: align channel test with runtime probe precedence
2026-03-29 23:34:03 -04:00
Gustavo Madeira Santana
0fe193db6a
Discord: restore message utils media-runtime mocks
2026-03-29 23:21:34 -04:00
Gustavo Madeira Santana
3efcc90034
Tests: read packed manifest without shell tar
2026-03-29 23:21:24 -04:00
Gustavo Madeira Santana
1482afae57
Status: keep fast JSON off task audit runtime
2026-03-29 23:17:28 -04:00
Gustavo Madeira Santana
e86a2183df
Tests: type package contract npm pack helper
2026-03-29 23:10:58 -04:00
Vincent Koc
c52fac836c
feat(tasks): add status health and maintenance command ( #57423 )
...
* feat(tasks): add status health and maintenance command
* fix(tasks): address status and maintenance review feedback
2026-03-30 12:10:44 +09:00
Vincent Koc
d28349c48e
fix(test): align channel mocks with runtime exports
2026-03-30 12:08:27 +09:00
Vincent Koc
da35718cb2
fix(memory): add qmd mcporter search tool override ( #57363 )
...
* fix(memory): add qmd mcporter search tool override
* fix(memory): tighten qmd search tool override guards
* chore(config): drop generated docs baselines from qmd pr
* fix(memory): keep explicit qmd query override on v2 args
* docs(changelog): normalize qmd search tool attribution
* fix(memory): reuse v1 qmd tool after query fallback
2026-03-30 12:07:32 +09:00
Gustavo Madeira Santana
e7984272a7
Tests: make package contract guardrails Windows-safe
2026-03-29 23:07:27 -04:00
Vincent Koc
1421fced04
Update CHANGELOG.md
2026-03-30 12:06:19 +09:00
Yauheni Shauchenka
a6bc51f944
feat(openai): forward text verbosity ( #47106 )
...
* feat(openai): forward text verbosity across responses transports
* fix(openai): remove stale verbosity rebase artifact
* chore(changelog): add openai text verbosity entry
---------
Co-authored-by: Ubuntu <ubuntu@vps-1c82b947.vps.ovh.net >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-03-30 12:04:35 +09:00