Peter Steinberger
40b119f57a
refactor(build): run generated formatter through oxfmt bin
2026-07-13 11:44:28 -07:00
Peter Steinberger
59003634ad
refactor(cron): retire cron_run_logs; ledger-owned retention and cancellation
...
Stops the legacy run-log dual-write, auto-imports remaining rows and drops
the table at state-DB open (table-presence guard: self-heals downgrade
round-trips), keeps the newest 2000 terminal runs per job in the ledger,
retires cron.runLog config via doctor, and moves live-run cancellation to
src/cron behind the shared task control seam.
Part 2 of 2 for #106041 .
2026-07-13 11:41:27 -07:00
Peter Steinberger
cdf4f2208b
chore(deadcode): move resolveCronRunEndedAt baseline entry to event codec
2026-07-13 11:32:57 -07:00
Peter Steinberger
b1f765ae8b
fix(cron): baseline transitional cron-ledger exports; drop dead migration re-export
...
check-dependencies (knip) flagged run-log read exports left unused after the
reader flip plus test-only ledger/migration exports. Baseline the genuine
test-only/transitional exports; remove the redundant state-migrations barrel
re-export (state-db imports the migration from the sibling module directly).
2026-07-13 11:32:57 -07:00
Peter Steinberger
b842be157a
chore(cron): decompose oversized modules for the changed-file LOC ratchet
...
Extracts startup-run repair, timer outcome finalization, task record
normalization, legacy task-sidecar row codec, and state-schema helpers
into focused modules; exempts .generated.d.ts files from the ratchet
(policy gap: schema evolution regrows generated Kysely types).
2026-07-13 11:32:57 -07:00
Peter Steinberger
bfe2786957
refactor(ui): remove dead exports ( #105979 )
...
* refactor(ui): remove dead exports
* chore(deadcode): refresh export baseline
* refactor(gateway): privatize chat media fields
2026-07-13 11:32:00 -07:00
Peter Steinberger
db02a96c4c
refactor(process): route bounded commands through Execa ( #106495 )
...
* refactor(process): centralize bounded command execution
* refactor(process): migrate core one-shot commands
* refactor(plugins): migrate one-shot commands
* fix(process): await Windows tree termination
* chore(plugin-sdk): refresh process runtime surface
* refactor(process): migrate remaining bounded commands
* refactor(process): normalize command result handling
* refactor(process): split execution responsibilities
* chore(plugin-sdk): refresh API baseline
* chore(process): remove release-owned changelog entry
* fix(process): narrow binary command input checks
* fix(process): cap sandbox command output
* fix(qa-lab): preserve exact node probe env
* chore(ci): refresh dead export baseline
* fix(process): preserve force-kill command deadlines
* fix(process): avoid post-exit timeout reclassification
* test(process): update scp staging wrapper mock
* test(process): update remaining wrapper mocks
* refactor(qa-lab): preserve Execa tar execution
2026-07-13 11:07:35 -07:00
Peter Steinberger
4c7efd2673
refactor(agents): privatize session state types ( #106672 )
...
* refactor(agents): privatize session state types
* chore(deadcode): shrink agents export baseline
2026-07-13 11:04:21 -07:00
Peter Steinberger
e30cc79b81
ci: remove redundant extension oxlint lanes
2026-07-13 11:02:51 -07:00
Vincent Koc
ee2efed993
refactor(commands): remove duplicate session target export ( #106620 )
2026-07-14 01:49:36 +08:00
Peter Steinberger
9544937b22
refactor(auto-reply): trim test facade exports ( #106639 )
2026-07-13 10:43:41 -07:00
Peter Steinberger
4f2553be5f
fix(test): bound extension test inventory query ( #106632 )
2026-07-13 10:30:27 -07:00
Peter Steinberger
2b9991c748
refactor(agents): privatize native hook relay internals ( #106634 )
...
* refactor(agents): privatize native hook relay internals
* chore(ci): shrink dead-export baseline
2026-07-13 10:27:34 -07:00
Peter Steinberger
8d9950d8ae
refactor(agents): split embedded runner orchestration ( #106552 )
...
* refactor(agents): split embedded runner orchestration
* test(agents): fix skill startup fixture type
* style(agents): format runner imports
* refactor(agents): remove stale attempt import
* refactor(agents): reuse attempt result slot type
* fix(test): avoid truncating extension test inventory
2026-07-13 10:22:38 -07:00
Peter Steinberger
edbcf11451
refactor(auto-reply): privatize reply helpers ( #106600 )
2026-07-13 10:12:17 -07:00
Peter Steinberger
8814e75cd6
perf(ci): start long node shards first ( #106522 )
2026-07-13 09:56:30 -07:00
Peter Steinberger
5d12f6bfb5
refactor(policy): remove remaining unused exports ( #106591 )
...
* refactor(policy): remove unused exports
* chore(deadcode): regenerate policy export baseline
2026-07-13 09:47:31 -07:00
Vincent Koc
1708faf85b
refactor(cli): remove obsolete gateway call options export ( #106549 )
2026-07-14 00:38:14 +08:00
Peter Steinberger
dd4f36690a
refactor: replace remaining worker pools with p-map ( #106489 )
...
* refactor: replace remaining worker pools with p-map
* test(tui): retry session rollover until accepted
2026-07-13 09:37:55 -07:00
Peter Steinberger
a13796bcfd
fix(docs-i18n): recognize isolated indented fences
2026-07-13 12:26:18 -04:00
Peter Steinberger
8867a9da0b
refactor(extensions): remove unused Discord and QA Lab exports ( #106286 )
...
* refactor(extensions): remove unused major-plugin exports
* refactor(qa-lab): preserve existing test seams
* chore(deadcode): regenerate export baseline
* refactor(qa-lab): share evidence environment resolver
2026-07-13 09:25:45 -07:00
Vincent Koc
9619585e85
refactor(cli): collapse npm pinning helpers ( #106499 )
2026-07-14 00:12:02 +08:00
Peter Steinberger
f0fe068da7
refactor(agents): trim MCP runtime exports ( #106520 )
...
Related: #105595
2026-07-13 08:49:16 -07:00
Peter Steinberger
9f546e2645
refactor: clear remaining plugin dead-export baseline ( #106488 )
...
* refactor: clear remaining plugin dead-export baseline
* refactor: expose plugin runtime type consumers to knip
2026-07-13 08:26:12 -07:00
Peter Steinberger
11f6247618
refactor(commands): privatize doctor helpers ( #106478 )
2026-07-13 08:16:29 -07:00
Peter Steinberger
2c8306a5be
improve(android): make gateway QR pairing prominent in Settings
...
Mirror the iOS gateway settings ordering: nav-bar QR scan action,
Scan QR to Pair hero while unpaired, one Add Gateway panel (scan,
setup code + connect, discovered gateways with per-row connect),
paired gateways below, manual host/credential plumbing at the bottom.
Add facts rows (Discovered, Default Agent, Agents, Instance ID) and a
Diagnose action, plus a deterministic 'gateway' screenshot scene.
Closes #106186
2026-07-13 08:02:56 -07:00
Peter Steinberger
d323e421c8
refactor(agents): trim fast-mode re-exports ( #106463 )
2026-07-13 08:00:58 -07:00
Peter Steinberger
ab7f6dd3c9
refactor(deadcode): trim policy private exports ( #106290 )
2026-07-13 07:58:12 -07:00
Peter Steinberger
2ab8cbc66b
refactor(config): simplify channel schema loading ( #106462 )
2026-07-13 07:57:23 -07:00
Vincent Koc
69554995c1
refactor(logging): privatize timezone validation helper ( #106459 )
2026-07-13 22:55:27 +08:00
Peter Steinberger
96522b9fce
refactor(commands): trim internal helper exports ( #106455 )
2026-07-13 07:49:09 -07:00
Peter Steinberger
f167089d61
feat(nodes): continue Claude catalog sessions on paired nodes via streaming CLI agent runs ( #105833 )
...
* feat(gateway): stream node.invoke progress with idle timeouts and cancel
* feat(node-host): opt-in approval-gated claude cli agent run command
* feat(agents): run node-placed claude-cli turns through streaming node invoke
* feat(anthropic): continue claude catalog sessions on advertising nodes
* docs(nodes): document paired-node claude agent runs and continuation
* chore(plugin-sdk): admit spawn-invocation helper into surface budget
* fix(nodes): harden streaming invoke and node run policy from review findings
* test(node-host): prove multi-token tool-policy argv fails closed
* fix(nodes): allowlist cancel event for apps and break node-host type cycle
* chore(protocol): regenerate Swift gateway models for node invoke progress
* chore(node-host): drop test-only export surface flagged by deadcode ratchet
* style(node-host): merge invoke-types imports
* refactor(nodes): split node agent run modules to satisfy the LOC ratchet
* chore(protocol): regenerate android gateway models and sync export baseline
* chore(plugin-sdk): admit spawn-invocation helper and inherited deprecated drift into surface budget
* chore(plugin-sdk): tolerate inherited agent-core deprecated export
* fix(anthropic): drop node param parser orphaned by upstream catalog split
* ci: sync unused-export baseline with healed main
* test(agents): adopt renamed cli backend prepare helper
* style(node-host): format claude run spawn invocation
* ci: retrigger checks
* chore(plugin-sdk): pin surface budgets to healed-base counts
* fix(protocol): restore untyped lazy validators after upstream style change
2026-07-13 07:39:22 -07:00
Vincent Koc
1b43d71440
refactor(channels): privatize approval channel list ( #106447 )
2026-07-13 22:35:26 +08:00
Peter Steinberger
0e96fc7e10
refactor(agents): trim bootstrap test exports ( #106427 )
...
* refactor(agents): trim bootstrap test exports
* test(agents): isolate bootstrap cache cases
2026-07-13 07:24:33 -07:00
Peter Steinberger
458746e1c2
chore(ci): enforce changed-file TypeScript LOC ratchet ( #106387 )
...
* ci: enforce changed-file TypeScript LOC ratchet
* ci: derive release-gate LOC base from PR
* test(ci): exclude repository test helpers from LOC ratchet
* ci: validate LOC ratchet on PR merge tree
* style: format release maintainer skill
* ci: run LOC ratchet for fast-only changes
* fix(ci): harden LOC ratchet comparisons
* fix(ci): cover native TypeScript in LOC ratchet
* fix(ci): compare LOC against tested merge tree
* test(ci): cover LOC manifest routing
2026-07-13 07:20:32 -07:00
Vincent Koc
60e8d4f021
refactor(queue): remove dead summary reset ( #106440 )
2026-07-13 22:14:37 +08:00
Vincent Koc
c45553089a
refactor(slack): trim private reply exports ( #106431 )
2026-07-13 21:53:34 +08:00
Peter Steinberger
a965d28e04
refactor(cli): trim internal command exports ( #106426 )
2026-07-13 06:47:02 -07:00
Peter Steinberger
b76a7f453b
refactor(auto-reply): trim internal export surface ( #106409 )
...
* refactor(auto-reply): trim internal export surface
* chore(deadcode): update auto-reply export baseline
2026-07-13 06:17:20 -07:00
Peter Steinberger
2a7132a43f
refactor(agents): trim exec approval exports ( #106401 )
2026-07-13 06:03:41 -07:00
Vincent Koc
194ed5d34c
refactor(acpx): privatize internal helpers ( #106394 )
2026-07-13 21:01:52 +08:00
Peter Steinberger
df3fe6a4f2
feat(worktrees): configurable cleanup limits (max count, max total size) with Settings UI ( #106224 )
...
Config surface worktrees.cleanup.{maxCount,maxTotalSizeGb} (0/unset disables),
enforced by hourly gc, worktrees.gc RPC, and openclaw worktrees gc: least
recently active session/Workboard worktrees are snapshotted and removed until
count and total size fit. Manual worktrees, live locks, run leases, and active
session owners are never limit-evicted. Settings -> Worktrees gains a Cleanup
section with debounced, quota-aware stepper controls. Closes #106213 .
2026-07-13 06:00:33 -07:00
Peter Steinberger
370b5150c2
fix(docs-i18n): preserve nested list prefixes
2026-07-13 08:52:13 -04:00
Peter Steinberger
26312fd0b0
refactor: remove gateway and channel dead exports ( #106038 )
...
* refactor: remove gateway and channel dead exports
* style: format config reload test
* refactor: remove newly dead gateway exports
* test: preserve approval audience coverage
* refactor: preserve gateway contracts while pruning exports
* test: retain gateway regression coverage
* test: restore gateway policy coverage
* test: close dead-export CI gaps
* fix: reconcile dead exports with latest main
* refactor: remove newly dead gateway runner export
* test: remove private worker verifier coverage
* test: preserve weak secret docs coverage
* fix: avoid gateway health import cycle
* fix: preserve node pairing type contract
* style: format talk relay test
* fix: preserve gateway protocol generation contract
* chore: refresh dead export baseline
* fix: preserve loaded target compatibility exports
* fix: preserve plugin SDK declaration resolution
* chore: refresh dead export baseline
* chore: refresh dead export baseline
* test(gateway): derive private worker service options
2026-07-13 05:47:05 -07:00
Peter Steinberger
5ca0e634bc
fix(ios): connect iPhone and Watch to protocol v3 gateways ( #106294 )
...
* fix(ios): support gateway protocol v3
* chore(i18n): refresh native source metadata
* fix(watchos): keep direct transport on protocol v4
* chore(i18n): refresh Watch source metadata
2026-07-13 05:44:49 -07:00
Vincent Koc
9f3d3b5672
refactor(oc-path): privatize internal types ( #106317 )
2026-07-13 20:37:08 +08:00
Peter Steinberger
253f4a33e0
refactor(agents): trim exec runtime exports ( #106358 )
2026-07-13 05:32:23 -07:00
Peter Steinberger
35fb5ee81a
fix(ci): sort Control UI assets explicitly ( #106377 )
2026-07-13 05:20:27 -07:00
Peter Steinberger
8aab4ff94d
refactor(state): split migration modules ( #106356 )
...
* refactor(state): split migration modules
* fix(state): relocate migration guard baselines
2026-07-13 05:13:42 -07:00
Peter Steinberger
200103a72b
fix(ci): remove chat test export debt
2026-07-13 13:11:35 +01:00