Peter Steinberger
0a6de42292
test: isolate live model switch suite ( #107738 )
2026-07-14 13:41:52 -07:00
Peter Steinberger
e2ad943ebd
refactor(media): trim internal exports ( #107756 )
...
* refactor(media): privatize internal parsing helpers
* chore(deadcode): refresh unused-export baseline
2026-07-14 13:41:04 -07:00
Peter Steinberger
f6653d1127
fix(macos): keep Connect Your AI choices in CLI order ( #107642 )
...
* fix(macos): align AI connection choices
* refactor(crestodian): extract setup auth options
2026-07-14 13:19:32 -07:00
Peter Steinberger
4f0e131cd2
feat(ui): run sessions on cloud workers ( #107670 )
...
* feat(ui): add cloud session targets
* test(ui): cover cloud session attachments
* test(ui): use recovery token fixture
* test(ui): record cloud locale fallbacks
* fix(ui): harden cloud session recovery
* fix(ui): track cloud handoff phase
* fix(ui): close cloud recovery escape paths
* fix(ui): finish cloud recovery hardening
* fix(ui): recover ambiguous cloud session creation
* fix(ui): isolate stale cloud creation recovery
* test(ui): preserve cloud recovery literals
* fix(ui): complete cloud session release artifacts
* chore: move cloud release note to PR body
* docs(ui): name cloud session menu exactly
2026-07-14 12:44:11 -07:00
Peter Lee
f972c69151
fix(agents): validate cacheRetention values ( #94494 )
...
* fix(agents): map cacheRetention 'standard' to 'short' for Bedrock Claude models
* fix(agents): scope standard cacheRetention alias to Anthropic cache family only
* fix(agents): validate prompt cache retention
* chore: keep changelog release-owned
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 12:37:55 -07:00
Peter Steinberger
4f40f46a08
docs(shared): clarify ignore anchoring
2026-07-14 12:19:39 -07:00
Peter Steinberger
661e6a62e9
test(shared): cover escaped trailing spaces
2026-07-14 12:19:39 -07:00
Peter Steinberger
ada729b74e
test(shared): compact ignore fixtures
2026-07-14 12:19:39 -07:00
Peter Steinberger
a7f4e72216
test(shared): preserve tabbed ignore anchoring
2026-07-14 12:19:39 -07:00
Peter Steinberger
bfa72f8dab
fix(shared): classify trailing-space ignore rules
2026-07-14 12:19:39 -07:00
Peter Steinberger
21515ae808
refactor(deps): reuse ignore matcher construction
2026-07-14 12:19:39 -07:00
moguangyu5-design
45395c2fd1
fix(shared): match nested gitignore semantics for unanchored patterns and escaped !
2026-07-14 12:19:39 -07:00
Peter Steinberger
c2e0ce7b68
fix(ci): restore main validation gates ( #107697 )
...
* fix(ci): allow Unreleased notes for main validation
* test(ci): cover release smoke changelog intent
* test(ci): require release changelog policy propagation
* docs(agents): require review init after pushes
* chore(ci): prune stale max-lines baseline
* refactor(system-agent): split operation modules
* refactor(bonjour): keep ciao classification type private
* fix(bonjour): remove stale local classification alias
2026-07-14 12:11:25 -07:00
Peter Steinberger
992b4cfc5b
refactor(deps): use native web-push types
2026-07-14 11:37:40 -07:00
Peter Steinberger
0571e0ecff
fix(proxy): share canonical no-proxy matching
2026-07-14 11:23:32 -07:00
Peter Steinberger
f20324cd3e
improve: cut CLI supervisor test startup time ( #107673 )
...
* test: isolate CLI execute test support
* test: keep CLI execute support discoverable
2026-07-14 11:05:56 -07:00
Peter Steinberger
8c68b9d0ec
refactor(agents): trim embedded runner exports ( #107706 )
...
* refactor(agents): trim embedded runner lifecycle exports
* refactor(agents): privatize transcript maintenance helpers
* chore(deadcode): refresh embedded runner export baseline
2026-07-14 11:04:48 -07:00
Peter Steinberger
6e500d3248
chore(rename): reconcile with main #102197 plugin-install trust + regen baselines
...
Rebase onto main pulled in the ClawHub plugin-install trust check (#102197 );
ported it into the renamed system-agent operations/tool/tests, refreshed
native i18n, deadcode, and max-lines baselines for the renamed paths.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
69e9254e0e
fix(ci): regen rename-affected generated surfaces and fix e2e entrypoint
...
native i18n inventory + per-locale artifacts resynced for the OpenClaw
strings; Kotlin gateway protocol enum regenerated instead of hand-edited;
deadcode baseline re-sorted; lint suppression allowlist entries moved to
sorted position; setup TTY check drops redundant boolean compares;
ring-zero first-run e2e calls the real 'openclaw setup' subcommand.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
6fdbe9a02a
fix(system-agent): adopt retired pending key and re-enter shell on bare /openclaw
...
Review findings on the rename: macOS resume store now migrates activation
leases persisted under the retired crestodian UserDefaults key so an app
upgrade cannot orphan a live activation; open-tui results carry
returnToShell so bare /openclaw re-enters the OpenClaw shell instead of
exiting the CLI.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
d7f3229f74
refactor(system-agent): rename grammar TOKEN constant to ARG_WORD
...
Identifiers ending in TOKEN false-positive secret scanners on every diff
touching this file; ARG_WORD also describes the grammar role better.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
eaaeeef19b
refactor(cli): type-safe option reads in setup command
...
Replace blind string casts with an optionalString reader and rename the
options record; blind token/password casts also false-positived secret
scanners on every future diff of this file.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
bc4d2eb8c7
refactor(system-agent): keep LOC ratchet flat after rename
...
Shorten resolvePersistentApplyInference (SystemAgent prefix redundant in
module), drop duplicate non-interactive workspace guard in agents add
(inner check keeps narrowing and message precedence).
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
985a13ba3a
chore(i18n): prune retired crestodian strings and polish setup docs
...
android:i18n sync drops orphaned entries for the renamed key; wizard zh
locales reference openclaw setup; docs title disambiguates the system
agent from the product.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
a6a0716486
feat(setup): rename Crestodian to OpenClaw system agent
...
User-facing name is now OpenClaw (the system speaks); internal code name is
system-agent. Gateway methods crestodian.* -> openclaw.chat/openclaw.setup.*,
agent tool -> openclaw, reserved agent ids openclaw + retired crestodian.
openclaw setup routes: onboarding flags -> onboard, -m/--yes -> system agent,
bare configured interactive -> OpenClaw chat, unconfigured -> onboarding.
Hidden crestodian CLI and /crestodian TUI aliases kept; docs moved to
docs/cli/openclaw.md with redirect stub. macOS/Android strings in lockstep.
Refs #107237
2026-07-14 11:03:02 -07:00
Peter Steinberger
96eaf2be80
fix: restore recent native, browser, and audio behavior ( #107631 )
...
* fix: repair recent landed regressions
* chore: keep release changelog owned
* test(macos): align CLI fixtures with Node floor
* fix(macos): document Node runtime floor contract
* style(auto-reply): restore runtime mode formatting
2026-07-14 10:47:33 -07:00
Peter Steinberger
0b409a0348
refactor(gateway): split session handlers ( #107677 )
...
* refactor(gateway): split session handlers
* chore(gateway): drop obsolete max-lines suppression
* test(gateway): preserve session boundary ratchets
* test(gateway): update session boundary fixtures
* style(auto-reply): restore formatter compliance
2026-07-14 10:41:36 -07:00
Peter Steinberger
4ed28c3559
refactor(agents): trim shell and tool-loop exports ( #107695 )
...
* refactor(agents): trim shell and session exports
* refactor(agents): trim loop and model exports
* chore(deadcode): refresh unused export baseline
2026-07-14 10:34:39 -07:00
Shakker
3976ec47d3
fix: default skill workshop approvals to auto ( #107690 )
...
Skill Workshop lifecycle actions now run without an additional Gateway approval by default, while explicit `approvalPolicy: "pending"` keeps the operator approval gate.
Prepared head SHA: 06e907797e
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-07-14 18:31:51 +01:00
Jesse Merhi
00364ee777
improve: warn before non-ClawHub plugin installs ( #102197 )
...
Merged via squash.
Prepared head SHA: e08d9e737d
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Reviewed-by: @jesse-merhi
2026-07-15 03:25:36 +10:00
Peter Steinberger
9daef57c85
refactor(auto-reply): trim internal dead exports ( #107678 )
...
* refactor(auto-reply): trim internal exports
* chore(deadcode): refresh unused export baseline
2026-07-14 10:06:14 -07:00
Peter Steinberger
214e7957dc
test(plugins): use native tar recursion
2026-07-14 10:02:50 -07:00
Peter Steinberger
bea48db878
refactor(command-explainer): use native tree-sitter contracts
2026-07-14 09:59:20 -07:00
SunnyShu
b857fec2ee
fix(skills): log ClawHub skill verification errors instead of swallowing ( #107143 )
...
* fix(skills): log ClawHub skill verification errors instead of swallowing (#P2)
catch {} in fetchInstallVerificationLock silently swallowed all network
errors (timeout, DNS, 5xx, JSON parse) from the registry verification
request. Callers could not distinguish verified from failed verification.
Pass logger through and log a warning on failure so transient errors
are visible in the operator log.
Co-Authored-By: Claude <noreply@anthropic.com >
* fix(skills): surface ClawHub verification failures
Co-authored-by: SunnyShu0925 <shu.zongyu@xydigit.com >
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 09:55:35 -07:00
Peter Steinberger
60a3b16dc5
fix(ci): keep LSP tests stable in non-isolated shards ( #107625 )
...
* fix(ci): stabilize main release checks
* fix(ci): keep LSP runtime under LOC ratchet
* fix(ci): disambiguate LSP config dependency
* refactor(test): inject LSP dependencies per runtime
2026-07-14 09:53:10 -07:00
Peter Steinberger
ecb6eac684
refactor(sessions): split SQLite session accessor ( #107653 )
...
* refactor(sessions): split SQLite session accessor
* fix(sessions): keep extracted helpers module-private
2026-07-14 09:49:42 -07:00
Peter Steinberger
084d1d9637
feat(control-ui): upload files into terminals ( #107364 )
...
* feat(control-ui): add terminal file uploads
* fix(control-ui): protect Windows terminal uploads
* fix(control-ui): satisfy terminal upload gates
* chore(ui): translate terminal upload labels
* fix(control-ui): reject unknown Windows upload shells
* fix(control-ui): harden Windows upload paths
* fix(control-ui): retry terminal upload cleanup
* chore(ui): reconcile locale translation memory
* fix(control-ui): validate terminal upload inputs
* fix(control-ui): retry failed upload cleanup
* chore(ui): refresh terminal upload locale metadata
* fix(terminal): integrate uploads with session recovery
* refactor(control-ui): isolate terminal upload transport
* fix(control-ui): keep upload helper types private
2026-07-14 09:33:39 -07:00
Peter Steinberger
4ea573edd2
refactor(agents): split embedded runner model setup ( #107646 )
2026-07-14 09:32:39 -07:00
Peter Steinberger
e323c70ada
refactor(cli): trim internal dead exports ( #107654 )
...
* refactor(cli): trim internal helper exports
* chore(deadcode): refresh CLI export baseline
2026-07-14 09:28:16 -07:00
Peter Steinberger
f81f9d8570
chore: enforce max-lines suppression ratchet ( #107315 )
...
* ci: enforce max-lines suppression ratchet
* chore: prune stale max-lines suppression
* fix: close max-lines ratchet enforcement gaps
* fix: harden max-lines ratchet checks
* fix(ci): satisfy max-lines ratchet checks
* style: format max-lines declarations
* fix(ci): match oxlint suppression grammar
* test: isolate max-lines git fixtures
* chore: prune resolved max-lines debt
* test: skip newline path fixture on Windows
* fix: harden max-lines suppression ratchet
* chore: refresh max-lines baseline
* fix: close max-lines ratchet bypasses
* fix: derive ratchet base from PR merge tree
* fix: support older Git in staged ratchet
* fix: align max-lines declarations and baseline
* chore: refresh max-lines baseline for current main
* fix: exclude generated wizard locales from max-lines
* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -07:00
VACInc
6f0326af36
fix: prevent session exports from writing outside workspace ( #104708 )
...
* fix: prevent session exports outside workspace
* fix: support aliased workspace export paths
---------
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 09:20:43 -07:00
wahaha1223
acd67cf3e4
fix(agents): reject partial fallback skip TTL env values ( #107234 )
...
* fix(agents): reject partial fallback skip TTL env values
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix(agents): tighten fallback skip TTL validation
Co-authored-by: wahaha1223 <0668001153@xydigit.com >
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 09:18:47 -07:00
SunnyShu
6de8aa6f9b
fix(skills): clean up orphaned usage rows ( #107144 )
...
Remove lifecycle and usage rows atomically when curated skill files disappear.
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 09:03:32 -07:00
Peter Steinberger
b146ef8a59
refactor(cron): trim internal export surface ( #107640 )
...
* refactor(cron): trim internal export surface
* chore(deadcode): refresh cron export baseline
2026-07-14 09:02:18 -07:00
Peter Steinberger
8251976cf6
fix(agents): normalize git package identities
2026-07-14 08:55:08 -07:00
Peter Steinberger
6d31c162f9
fix: keep root Claude live sessions usable ( #107606 )
...
* fix(agents): support Claude live sessions as root
* chore: leave release notes to release workflow
2026-07-14 08:46:58 -07:00
Peter Steinberger
2ecc6b6b6b
fix(ui): show restart banner for unapplied config ( #107577 )
...
* fix(ui): derive config apply state from gateway
* test(ui): align applied config hash coverage
* test(ui): follow config autosave flow
* fix(ui): guard applied config refreshes
* fix(ui): reconcile patched config revisions
* fix(ui): prevent stale config apply polling
* chore: leave release notes to release flow
* refactor(config): split applied revision helpers
* style(config): format gateway methods
* fix(i18n): refresh Korean native glossary hash
2026-07-14 08:43:35 -07:00
Peter Steinberger
e6cec8e124
test(agents): skip unrelated message tool setup ( #107613 )
2026-07-14 08:42:31 -07:00
Peter Steinberger
d092feaf63
refactor(commands): trim internal dead exports ( #107621 )
...
* refactor(commands): trim internal dead exports
* chore(deadcode): refresh commands export baseline
2026-07-14 08:36:41 -07:00
Alix-007
111f7cde35
fix(telegram): bound stalled diagnostic response reads ( #106035 )
...
* fix(telegram): bound stalled diagnostic response reads
* test(telegram): type timeout cancellation mock
* style(telegram): apply oxfmt to diagnostic response timeout files
* fix(telegram): share diagnostic body deadlines
Co-authored-by: Alix-007 <li.long15@xydigit.com >
* chore: leave release notes release-owned
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-14 08:27:59 -07:00