Peter Steinberger
1bfd207a54
refactor(doctor): split legacy model migrations ( #113717 )
2026-07-25 08:52:43 -07:00
Peter Steinberger
1a11f5394e
refactor(ui): split workboard view ( #113730 )
2026-07-25 08:29:39 -07:00
Peter Steinberger
bab4b2973a
refactor(ui): split config view panels ( #113715 )
2026-07-25 08:28:40 -07:00
Peter Steinberger
f808147f62
refactor(ui): split chat thread projection ( #113714 )
...
* refactor(ui): split chat thread projection
* refactor(ui): tighten chat thread module boundaries
* refactor(ui): type chat stream grouping locally
2026-07-25 08:28:02 -07:00
Peter Steinberger
589f28b57a
refactor(plugins): split manifest normalization ( #113720 )
2026-07-25 08:27:03 -07:00
Peter Steinberger
22226bf2f6
refactor(agents): split CLI runner execution ( #113716 )
...
* refactor(agents): split CLI runner execution
* refactor(agents): keep CLI log helper private
2026-07-25 08:07:41 -07:00
Peter Steinberger
bd8277c248
refactor(agents): split subagent lifecycle ( #113711 )
2026-07-25 07:29:42 -07:00
Peter Steinberger
1dcb35b204
refactor(agents): split main session recovery ( #113687 )
2026-07-25 13:39:15 +00:00
Peter Steinberger
46a1338918
refactor(infra): split heartbeat runner ( #113668 )
...
* refactor(infra): split heartbeat runner
* refactor(infra): keep heartbeat helpers private
2026-07-25 06:37:26 -07:00
Peter Steinberger
4aa4ff7250
refactor(matrix): split CLI command groups ( #113664 )
...
* refactor(matrix): split CLI command groups
* refactor(matrix): keep CLI helpers private
* refactor(matrix): retain profile result type contract
2026-07-25 06:37:08 -07:00
Peter Steinberger
e52222cdef
refactor(agents): split code mode execution ( #113669 )
...
* refactor(agents): split code mode execution
* refactor(agents): keep code mode bridge type private
2026-07-25 06:22:25 -07:00
Peter Steinberger
9a7a5791c7
refactor(memory): split QMD manager by domain ( #113659 )
...
* refactor(memory): split QMD manager by domain
* refactor(memory): keep QMD base types private
2026-07-25 06:18:05 -07:00
Peter Steinberger
71e8f6a925
refactor(infra): split session cost usage accounting ( #113670 )
2026-07-25 06:15:19 -07:00
Peter Steinberger
43c608e5fd
refactor(agents): split native hook relay ( #113626 )
...
* refactor(agents): split native hook relay
* refactor(agents): preserve native relay API
* refactor(agents): keep relay state private
* refactor(agents): break relay type cycles
2026-07-25 05:37:54 -07:00
Peter Steinberger
3d1369ff4f
test(telegram): consolidate bot test harness ( #113571 )
...
* test(telegram): consolidate bot test harness
* test(plugin-sdk): expose isolated test state
Promote the isolated OpenClaw test-state lifecycle through a narrow published Plugin SDK subpath so extension tests no longer import private core helpers. This intentional SDK surface addition is maintainer-approved.
* test(telegram): use public test-state seam
* test(plugin-sdk): keep test state local-only
Match the existing channel test-helper boundary: bundled extension tests can import the focused SDK source entrypoint, while ordinary builds and the published npm package exclude it. The earlier public classification existed only on this unmerged PR branch and was never a shipped contract.
* test(plugins): map test-state in package boundaries
2026-07-25 05:28:26 -07:00
joshavant
f153858045
fix(onepassword): make SecretRef setup production-safe
2026-07-25 06:03:30 -05:00
Peter Steinberger
64daf8dd23
refactor(slack): split message dispatch ( #113602 )
2026-07-25 03:43:24 -07:00
Peter Steinberger
6c39503161
refactor(gateway): split reload handlers ( #113557 )
...
* refactor(gateway): split reload handlers
* refactor(gateway): keep reload contracts private
2026-07-25 03:12:51 -07:00
Peter Steinberger
55d66fbf98
chore(scripts): remove resolved investigation tools and orphans ( #113532 )
...
* chore(scripts): remove orphaned wrappers
* chore(scripts): remove resolved investigation tools
* refactor(code-mode): remove orphaned plugin namespaces
* test(code-mode): remove stale namespace import
2026-07-25 02:47:40 -07:00
Peter Steinberger
aba0b12014
refactor(browser): split Playwright session manager ( #113585 )
2026-07-25 01:58:10 -07:00
Peter Steinberger
b0525e1a70
refactor(ai): split OpenAI Responses transport ( #113569 )
2026-07-25 01:23:28 -07:00
Peter Steinberger
2942678214
refactor(memory): split retained state migrations ( #113542 )
2026-07-25 01:03:35 -07:00
Peter Steinberger
4f1b5da9d8
refactor(codex): split app-server config ( #113552 )
...
* refactor(codex): split app-server config
* refactor(codex): keep config helper types private
2026-07-25 00:36:50 -07:00
Vincent Koc
bcf71e27e6
ci(env): ratchet production variable count ( #113519 )
2026-07-25 14:07:02 +08:00
Peter Steinberger
d6971f46ca
fix: make filesystem publication crash-durable ( #113453 )
...
* fix(fs): centralize directory durability
* chore: keep release notes in PR body
* test(sqlite): canonicalize read-only race paths
* test(fs): clean durability fixtures
* chore(lint): prune sqlite snapshot baseline
* fix(backup): reject unsupported commit sync
* fix(fs): enforce strict durability outcomes
* refactor(tls): flatten preserved-output failures
* fix(reef): require durable journal commits
* fix(fs): route durability through policy boundaries
* fix(reef): preserve Windows journal compatibility
* fix(fs): bind publication to canonical directories
* fix(ci): align durability boundary fixtures
2026-07-24 20:58:17 -07:00
Peter Steinberger
3e44b5f5dd
refactor(ui): split chat pane ( #113406 )
...
* refactor(ui): split chat pane
* refactor(ui): keep chat pane entrypoint local
2026-07-24 14:25:20 -07:00
Vincent Koc
c0c12da9f2
fix(qa): separate provider plans from runtime calls ( #113399 )
...
* fix(qa): separate provider plans from runtime calls
* fix(claws): keep profile limit outside env ratchet
* refactor(qa): remove obsolete capture comparators
* chore(release): leave notes to release workflow
2026-07-24 20:55:54 +00:00
Vincent Koc
663c4fba10
fix(sqlite): repair canonical indexes before database use ( #113390 )
...
* fix(sqlite): recover canonical indexes before open
* chore(sqlite): keep index contract types internal
* test(sqlite): keep unsafe index corruption fail closed
2026-07-25 04:18:06 +08:00
Peter Steinberger
9c2ae380bc
refactor(ui): split chat message rendering ( #113363 )
...
* refactor(ui): split chat message rendering
* refactor(ui): tighten chat message exports
2026-07-24 09:41:53 -07:00
Peter Steinberger
049a17860c
refactor(ui): split chat composer ( #113338 )
...
* refactor(ui): split chat composer
* refactor(ui): align composer split ownership
* test(ui): clarify custom combobox inventory
2026-07-24 08:11:54 -07:00
Peter Steinberger
6235ea55ac
refactor(codex): split command handlers ( #113335 )
...
* refactor(codex): split command handlers
* refactor(codex): keep helper types private
2026-07-24 07:29:44 -07:00
Peter Steinberger
4cd327e31f
refactor(agents): split subagent registry internals ( #113297 )
...
* refactor(agents): split subagent registry
* fix(agents): defer registry restore until exports initialize
2026-07-24 04:44:37 -07:00
Peter Steinberger
050475b9de
refactor(agents): split tool search internals ( #113296 )
2026-07-24 03:04:14 -07:00
Vincent Koc
e3636852ba
refactor(normalization): reuse trimmed list helpers ( #113295 )
2026-07-24 17:43:22 +08:00
Peter Steinberger
b233faa057
refactor(tasks): split task registry internals ( #113279 )
...
* refactor(tasks): split task registry internals
* test(tasks): align registry ownership boundary
2026-07-24 02:09:04 -07:00
Peter Steinberger
21f0cef5d5
refactor(matrix): split monitor handler pipeline ( #113269 )
...
* refactor(matrix): split monitor handler pipeline
* refactor(matrix): align extracted handler types
* refactor(matrix): make missing context explicit
* style(matrix): order extracted handler imports
2026-07-24 01:02:56 -07:00
Peter Steinberger
eac10a01d5
refactor(cli): split config command implementation ( #113248 )
...
* refactor(cli): split config command implementation
* refactor(cli): keep split helpers private
* style(cli): format private unset result
2026-07-24 00:27:00 -07:00
Peter Steinberger
a7d2f0bd68
refactor(memory-core): split short-term promotion ( #113223 )
2026-07-24 00:02:05 -07:00
Peter Steinberger
07e625dac3
refactor(telegram): split outbound send operations ( #113222 )
...
* refactor(telegram): split outbound send operations
* refactor(telegram): keep test handle in send barrel
2026-07-23 23:38:37 -07:00
Peter Steinberger
bb657eec93
refactor(config): retire redundant settings ( #113174 )
...
* refactor(config): retire redundant settings
* style: apply current formatter
* chore: update plugin sdk baseline
* fix: keep Codex tool caps context-aware
* chore: remove stale imports
* test: align WhatsApp QA debounce config
* fix(config): clean up retired config checks
* fix(ci): align config cleanup checks
2026-07-23 17:45:02 -07:00
joshavant
090bdab5b8
fix(ci): register iOS release script entries
2026-07-23 19:08:40 -05:00
Peter Steinberger
127b78142b
refactor(auto-reply): split config dispatch pipeline ( #113154 )
...
* refactor(auto-reply): split config dispatch pipeline
* refactor(auto-reply): keep phase result types private
2026-07-23 15:31:02 -07:00
Peter Steinberger
06776e707b
refactor(cron): split timer lifecycle ( #113141 )
2026-07-23 14:14:58 -07:00
Peter Steinberger
be815ae5c9
refactor(gateway): split session utilities ( #113118 )
...
* refactor(gateway): split session utilities
* fix(gateway): privatize thinking row projection
2026-07-23 12:26:10 -07:00
Peter Steinberger
13176b446a
refactor(plugins): split gateway startup planning ( #113129 )
2026-07-23 11:50:17 -07:00
Peter Steinberger
1f051da39d
refactor(browser): split Chrome MCP lifecycle ( #113114 )
2026-07-23 10:45:21 -07:00
Peter Steinberger
6f6c2acec3
refactor(infra): split outbound delivery services ( #113099 )
...
* refactor(infra): split outbound delivery services
* fix(infra): preserve outbound compatibility surface
2026-07-23 10:01:28 -07:00
Peter Steinberger
b09dd1fec9
refactor(auto-reply): split reply agent runner ( #113072 )
...
* refactor(auto-reply): split reply agent runner
* fix(auto-reply): keep split contracts acyclic
* fix(auto-reply): isolate result contracts
2026-07-23 09:58:29 -07:00
Peter Steinberger
c440ae3e86
refactor(sessions): collapse legacy JSON store ( #113075 )
...
* refactor(sessions): collapse legacy JSON store
* chore(sessions): ratchet legacy importer boundary
* fix(sessions): align cleanup checks
2026-07-23 09:36:48 -07:00
Peter Steinberger
dedf85a34d
refactor(ui): split chat-send.ts along ack/request/drain/lifecycle seams ( #113052 )
...
* refactor(ui): split chat-send.ts along ack/request/drain/lifecycle seams
chat-send.ts was ~2,330 lines under a grandfathered max-lines
suppression, mixing ack normalization, wire requests/routing, the
stored-outbox drain scheduler, retry/steer actions, and the send
lifecycle. Mechanical extraction into owned modules:
- chat-send-contract.ts absorbs ack normalization (it owns the ack shape)
- chat-send-request.ts: wire requests + session routing
- chat-outbox-drain.ts: drain lanes, retry timers, head reconciliation —
colocated with the outbox ownership boundary from the composer split
- chat-send-actions.ts / chat-send-queue-state.ts / chat-send-submit.ts:
retry/steer actions, queue-state helpers, submission routing
- chat-send.ts keeps the send lifecycle (719 lines); its max-lines
suppression and baseline entry are removed
No compatibility re-exports; cycles broken by hoisting ChatHost into the
contract module and injecting the drain's two lifecycle callbacks.
Closes #112742 .
* fix(ui): extract chat-send ack shapes into a leaf module to break the madge type cycle
2026-07-23 08:51:29 -07:00