Commit Graph

16017 Commits

Author SHA1 Message Date
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
8456719a90 fix(tokenjuice): preserve middleware boundaries 2026-07-14 11:00:31 -07:00
Peter Steinberger
a8bcaf9505 fix(tokenjuice): drop duplicate compacted output 2026-07-14 11:00:31 -07:00
Peter Steinberger
e20c029efd refactor(codex): split app-server event projection (#107680)
* refactor(codex): split app-server event projector

* fix(codex): preserve raw event projection ordering

* chore(codex): remove projector max-lines exemption

* refactor(codex): split stateful projector owners
2026-07-14 11:00:08 -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
433656286d refactor(ws): use native socket contracts 2026-07-14 10:35:38 -07: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
Alix-007
0c8220ebf9 fix(msteams): add timeouts to file consent upload requests (#104120)
* fix(msteams): add timeouts to file consent upload requests

* fix(msteams): share file consent upload timeout helper

* fix(msteams): size-budget file consent upload timeout

* chore(deadcode): allowlist test-only timeout constant exports

* style(msteams): format consent timeout test

* test(msteams): reject consent aborts with errors

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 10:14:23 -07:00
qingminlong
04e523a73b fix(logbook): reject invalid 12-hour analysis clocks (#107191)
* fix(logbook): reject invalid meridiem clocks

* test(logbook): cover invalid meridiem card output

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 09:43:10 -07:00
felirami
c1191cdf2f fix(memory-core): preserve canonical cache rows during legacy migration (#107243)
* fix(memory-core): preserve canonical cache rows on migration

* fix(memory-core): guard cache migration dimensions

* fix(memory-core): validate cache embedding lengths

* fix(memory-core): validate cache migration dimensions

* refactor(memory-core): keep cache guard compact

---------

Co-authored-by: felirami <felirami@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 09:40:35 -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
Peter Steinberger
cbe012ec70 refactor(matrix): use native sdk event contracts 2026-07-14 09:25:33 -07:00
Peter Steinberger
5f13921c26 fix: preserve Fable thinking on Claude CLI routes (#107636)
* fix(anthropic): preserve Claude CLI effort on root gateways

* chore: leave release notes to release workflow
2026-07-14 09:15:21 -07:00
Francisco Novella Fletcher
c188222a08 Signal: match allowlist on either uuid or e164 alias (#78022)
* Signal: match allowlist on either uuid or e164 alias

* fix(signal): route sender aliases through ingress

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 08:41:58 -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
Peter Steinberger
27d5c0339b refactor(diffs): use native preload and hydration 2026-07-14 08:22:41 -07:00
Peter Steinberger
fd1ab08d35 fix(signal): keep active-run controls responsive (#107422)
* fix(signal): keep active-run controls responsive

Co-authored-by: arduano <leonid.shchurov@gmail.com>

* test(signal): satisfy control-lane lint

* fix(signal): serialize queue mutations

* fix(signal): separate control ingress lane

* fix(auto-reply): cancel queued inbound work

* fix(signal): unblock approval responses

* fix(signal): cancel group pending lanes on abort

* refactor(signal): keep ingress lane setup scoped

* docs(changelog): note Signal control ingress fix

---------

Co-authored-by: arduano <leonid.shchurov@gmail.com>
2026-07-14 07:51:18 -07:00
tzy-17
66def08d83 feat(workboard): filter cards by persisted board (#102068)
* feat(workboard): filter cards by persisted board

Co-authored-by: 唐梓夷0668001293 <tang.ziyi@xydigit.com>

* refactor(workboard): split board filter helpers

* chore(ui): refresh Workboard i18n baseline

* chore(ui): sync Workboard locale fallbacks

* chore(ui): update Workboard locale metadata

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 07:25:00 -07:00
Peter Steinberger
21d548a7ff fix: harden cloud worker admission and remote turns (#107043)
* fix(cloud-workers): harden worker dispatch

* fix(cloud-workers): enforce Crabbox AWS admission contract

* fix(cloud-workers): sanitize inference terminals

* fix(cloud-workers): bound inference stream work

* fix(cloud-workers): reject unresolved tool deltas

* refactor(cloud-workers): isolate terminal projection

* fix(cloud-workers): satisfy extension lint

* fix(cloud-workers): reject forbidden leases before polling

* fix(cloud-workers): keep helper types internal

* fix(gateway): reject late tool call deltas

* fix(crabbox): clean invalid inspected leases

* refactor(crabbox): extract inspect parser

* style(crabbox): format worker provider

* fix(crabbox): close worker lease cleanup gaps

* docs(cloud-workers): correct runtime contracts

* docs(cloud-workers): match runtime error
2026-07-14 07:24:43 -07:00
Peter Steinberger
f59a0352b3 feat(discord): route online presence arrivals to agents (#107451)
* feat(discord): add online presence agent events

* fix(discord): harden presence event payloads

* fix(discord): satisfy presence lint contracts

* fix(heartbeat): run notification event wakes

* fix(discord): use wake heartbeat contract

* fix(discord): harden presence snapshot delivery

* chore: remove release-owned changelog entry

* fix(discord): remove unused presence type export

* fix(discord): keep presence config below loc limit

* fix(discord): reserve presence cooldown atomically
2026-07-14 07:22:11 -07:00
Peter Steinberger
2f43afbb30 test(tlon): avoid unsafe optional mock access (#107572) 2026-07-14 07:11:47 -07:00
pash-openai
cbbccb8952 Recover large Codex app-server messages (#107369) 2026-07-14 07:07:52 -07:00
Peter Steinberger
bacad95379 test(raft): guard optional runtime config schema (#107563) 2026-07-14 06:59:05 -07:00
Peter Steinberger
37b6855b0f test(acpx): drop upstream completion coverage 2026-07-14 06:57:04 -07:00
Peter Steinberger
ec5e97eb78 fix(tlon): use native S3 endpoint parsing 2026-07-14 06:55:01 -07:00
Peter Steinberger
e4aa176c82 refactor(raft): privatize config schema (#107554) 2026-07-14 06:37:10 -07:00
xingzhou
fe6e6a5072 fix(searxng): stop web search requests when runs are aborted (#104216)
* fix(searxng): cancel pending searches with parent runs

* fix(searxng): preserve parent cancellation

* refactor(web-search): isolate provider execution

* fix(web-search): use stable provider type

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 06:36:21 -07:00
Peter Steinberger
034b259799 refactor(browser): trust Playwright tab focus 2026-07-14 06:33:40 -07:00
Peter Steinberger
090cb49122 refactor(duckduckgo): privatize safe-search default (#107542) 2026-07-14 06:27:12 -07:00
Peter Steinberger
3ac26b4593 refactor(tavily): remove internal export seams (#107540) 2026-07-14 06:17:36 -07:00
Peter Steinberger
c8e94b202e refactor(firecrawl): remove internal export seams (#107485) 2026-07-14 06:08:53 -07:00
Peter Steinberger
ee416f0447 refactor(bonjour): trust ciao rejection handling 2026-07-14 05:45:37 -07:00
Peter Steinberger
9de11f098e fix(release): forward-port July guards and restore main validation (#107462)
* fix(installer): validate upgraded Windows SQLite runtime

* fix(release): lock packed AI runtime dependency

* test(mattermost): tolerate additional fallback diagnostics

* test(live): make Claude resume proof explicit

* test(plugins): repair exact-main prerelease coverage

* test(release): restore root test type coverage

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com>
2026-07-14 05:41:24 -07:00
Alix-007
1d1c1211a5 fix(qqbot): clean up token refresh sleep abort listener (#105886)
* fix(qqbot): clean up token refresh sleep abort listener

* refactor(qqbot): reuse abort-safe sleep

* test(qqbot): always restore listener spy

* fix(qqbot): preserve refresh loop yield

* chore(qqbot): retrigger CI after main fixes

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-14 05:40:34 -07:00
Peter Steinberger
b4128978cd refactor(canvas): use native websocket clients 2026-07-14 05:24:27 -07:00
Peter Steinberger
9d79d85f46 feat(workboard): refresh Control UI from live changes (#99051)
* feat(workboard): refresh control ui from live changes

* refactor(workboard): tighten live invalidation path

* chore(workboard): preserve locale catalog state

* refactor(gateway): keep broadcaster runtime object

* refactor(plugin-sdk): own gateway event types

* test(workboard): bind reconciliation mocks

* test(release): declare recovery helpers

* fix(workboard): cancel direct loads on teardown
2026-07-14 05:17:23 -07:00
Peter Steinberger
af93339752 refactor(slack): use websocket pause during relay handoff 2026-07-14 04:58:25 -07:00
Peter Steinberger
12847f26bb refactor(web-readability): use native lazy module loading 2026-07-14 04:47:06 -07:00
Ayaan Zaidi
8b66fe773f feat(mcp): deliver requester-scoped MCP to shared-thread harnesses
Requester-scoped servers never enter harness-native MCP config: Codex
thread and CLI user-MCP projections partition them out (fail-closed,
static-partition fingerprints stay sender-independent so shared threads
never rotate). Codex delivers them as per-attempt dynamic tools through
a scoped-only runtime path on the same core manager, with a
session-stable advertised catalog so authed and unauthed senders share
one spec surface; unauthed calls get a clean not-connected tool error.
New SDK seam materializeRequesterScopedMcpToolsForHarnessRun lets any
future harness consume the same contract.
2026-07-14 17:09:53 +05:30
Peter Steinberger
2b0cd2761c test(anthropic): type node invoke mock from runtime (#107421) 2026-07-14 04:39:47 -07:00
Peter Steinberger
e798a76662 refactor(schemas): use TypeBox native enums 2026-07-14 04:25:58 -07:00
Peter Steinberger
97df597688 fix(twitch): abort timed-out user lookups (#107360)
Co-authored-by: Alix-007 <li.long15@xydigit.com>
2026-07-14 04:22:34 -07:00
Peter Steinberger
5688d90bf3 fix(signal): await daemon exit before restart (#107409)
Co-authored-by: zhoukailian <2415699291@qq.com>
2026-07-14 04:21:51 -07:00
Peter Steinberger
0604903f88 fix(session-catalog): authorize paired-node reads (#107410) 2026-07-14 04:19:09 -07:00
Peter Steinberger
b911f94be7 fix(signal): reconnect receive loop after stalled container handshake (#107386)
* fix(signal): bound container receive handshake waits

Co-authored-by: NIO <hu.genshen@xydigit.com>

* test(signal): stabilize adapter mocks

---------

Co-authored-by: NIO <hu.genshen@xydigit.com>
2026-07-14 04:13:12 -07:00
Peter Steinberger
4ea1c71b88 fix(signal): keep username targets out of phone normalization (#107365)
* fix(signal): canonicalize username targets

Co-authored-by: ly-wang19 <ly-wang19@users.noreply.github.com>

* fix(signal): canonicalize username targets

---------

Co-authored-by: ly-wang19 <ly-wang19@users.noreply.github.com>
2026-07-14 04:11:46 -07:00
Peter Steinberger
c56d1bbbbb fix(reef): send through the connected gateway (#107373)
* fix(reef): route outbound through gateway

* chore: keep Reef release note in PR
2026-07-14 04:08:36 -07:00
Peter Steinberger
6ceb72d2bd refactor(memory): split QMD manager responsibilities (#107381)
* refactor(memory): split QMD manager responsibilities

* fix(memory): keep QMD helper types private

* style(memory): format QMD debug types
2026-07-14 04:07:51 -07:00
Peter Steinberger
dd42e80480 refactor(qa-lab): split mock and Slack runtimes (#107377)
* refactor(qa-lab): split mock and Slack runtimes

* refactor(qa-lab): narrow Slack helper exports
2026-07-14 04:06:48 -07:00
Peter Steinberger
236a6b815c refactor(diffs): trim internal export surface (#107400) 2026-07-14 04:02:26 -07:00