Commit Graph

6613 Commits

Author SHA1 Message Date
Peter Steinberger
674dd37cd0 refactor(deadcode): privatize core test seams (#108325)
* refactor(entry): privatize compile cache internals

* refactor(logging): privatize diagnostic test seams

* refactor(plugin-state): privatize store test seams

* refactor(skills): privatize lifecycle test seams

* refactor(node-host): privatize invoke test seam

* refactor(system-agent): privatize turn test seam

* chore(deadcode): shrink core test seam baseline
2026-07-15 06:37:40 -07:00
Peter Steinberger
4c667aac88 fix(release): harden frozen target validation (#108296)
* fix(release): harden frozen scenario planning

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(release): omit unsupported scenario-only lanes

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(release): fail closed on malformed target scenarios

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(release): report unsupported frozen lanes

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(release): defer frozen survivor inspection

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(release): report partial survivor omissions

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(ci): fetch shard fallback from workflow commit

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(release): gate frozen scenario omissions

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* test(release): auto-clean frozen target temp dirs

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(ci): satisfy frozen validation workflow lint

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

---------

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-07-15 06:31:07 -07:00
Peter Steinberger
e38cd62e0d refactor(state): move managed image records to SQLite (#108290)
* refactor(state): move managed image records to sqlite

* refactor(state): narrow managed image store exports

* fix(state): preserve managed image media roots

* test(state): track managed image temp directories
2026-07-15 06:14:10 -07:00
Peter Steinberger
3ea45589ba refactor(agents): trim CLI and transport export seams (#108309)
* refactor(agents): trim CLI and transport export seams

* chore(deadcode): shrink agents CLI transport baseline
2026-07-15 14:02:29 +01:00
Peter Steinberger
2808507c3b refactor(agents): privatize runtime test seams (#108295)
Shrinks the dead-export baseline from 156 to 151 entries.
2026-07-15 05:36:35 -07:00
Peter Steinberger
855659a1dd refactor(agents): privatize state reset seams (#108285)
* refactor(agents): privatize state reset seams

* chore(deadcode): shrink agents state seam baseline
2026-07-15 05:09:45 -07:00
Peter Steinberger
d49e12eb36 refactor(agents): privatize CLI runner and live auth helpers (#108282)
* refactor(agents): internalize live auth helpers

* refactor(agents): privatize CLI runner test seams

* chore(deadcode): shrink CLI runner export baseline
2026-07-15 04:50:35 -07:00
Peter Steinberger
44a0c093cf fix(docs): expose generated taxonomy links 2026-07-15 07:28:58 -04:00
Dallin Romney
043e4d1ec4 fix(release): validate frozen targets with current workflows (#108189)
* fix(release): support frozen validation targets

* fix(release): filter frozen-target upgrade scenarios
2026-07-15 04:28:17 -07:00
Peter Steinberger
20d6ddc4c7 refactor(agents): privatize models config test seams (#108275)
* refactor(agents): privatize models config test seams

* chore(deadcode): shrink models config export baseline
2026-07-15 04:27:39 -07:00
Peter Steinberger
d223409c88 fix(ci): run all compact test bins serially (#108266) 2026-07-15 04:16:53 -07:00
Peter Steinberger
0393189243 chore(plugins): gate deprecation hygiene in CI and purge internal deprecated usage (#108261)
* chore(plugins): gate deprecation hygiene in CI and purge internal deprecated usage

* fix(agents): migrate auth-profiles oauth import to OAuthProviderId

* fix(whatsapp): use durability param in delivery-recovery test

* chore(scripts): declare shouldRunDeprecationHygieneChecks in check-changed types

* test(plugins): update runtime-api guard for ssrf policy rename
2026-07-15 04:15:23 -07:00
Peter Steinberger
ddc9ec3f36 feat(discord): opt-in Discord Activities widget support (#107442)
Adds a Discord Activities integration so an agent can show a self-contained
HTML widget to Discord users, opened as a sandboxed Activity inside the client.
Off by default: routes, the discord_widget tool, and the launch handler register
only when channels.discord.activities is configured. OAuth identifies the user
and gates on the account allowlist; widget lookup is capability- or
instance-validated; token exchange is rate-limited; widget HTML runs in a
no-network sandboxed iframe.
2026-07-15 04:07:46 -07:00
Peter Steinberger
968c6581b6 refactor(agents): privatize auth test seams (#108260)
* refactor(agents): privatize auth test seams

* chore(deadcode): shrink auth export baseline
2026-07-15 04:00:58 -07:00
morluto
1a34950d9c fix(commitments): keep heartbeats responsive with large queues (#105780)
* fix(commitments): migrate store to sqlite

Replace steady-state JSON persistence with typed shared-state rows and a doctor-only verified import for shipped legacy data.

Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>

* fix(commitments): satisfy migration gates

* fix(commitments): type sqlite counts defensively

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-15 03:58:03 -07:00
Peter Steinberger
c490117a9f fix(pr): harden coordinator hosted gates (#108153)
* fix(pr): route hosted gate reads through cache

* test(control-ui): stabilize process readiness

* fix(ci): stabilize startup memory sampling

* fix(gateway): route OpenClaw approval listing

* fix(state): reuse schema repair transaction

* test(agents): assert host authority scope

* chore(plugin-sdk): refresh API baseline

* test(agents): assert delegate tool fixture

* test(sessions): stabilize concurrency worker startup
2026-07-15 03:45:37 -07:00
Peter Steinberger
54f70c5d8c fix(release): unblock plugin bootstrap recovery (#108243) 2026-07-15 03:34:08 -07:00
Peter Steinberger
99c43b1647 fix(ci): run 4vcpu compact bins serially to stop spawn-starvation flakes (#108239) 2026-07-15 03:32:53 -07:00
Peter Steinberger
de8c904577 refactor(agents): privatize subagent owner surfaces (#108248)
* refactor(agents): privatize subagent owner surfaces

* chore(deadcode): shrink export baseline
2026-07-15 03:30:21 -07:00
Peter Steinberger
9c8a006d0c perf(ci): gate QA smoke by smoke-visible changes and isolate the prompt snapshot lane (#108202)
* perf(ci): diff-gate QA smoke by CLI import graph and isolate prompt snapshots lane

* fix(ci): run prompt snapshot lane unconditionally

* fix(ci): treat QA lane orchestration files as QA-impacting
2026-07-15 02:51:19 -07:00
Peter Steinberger
580938097f refactor(agents): privatize internal helper surfaces (#108219)
* refactor(agents): privatize internal helper surfaces

* chore(deadcode): shrink unused-export baseline
2026-07-15 02:47:05 -07:00
Peter Steinberger
dfa246e6fd fix(release): complete protected publish tooling 2026-07-15 10:43:00 +01:00
Peter Steinberger
ce2bc379a3 refactor(deadcode): repair system-agent export ratchet (#108201)
* refactor(agents): privatize delegation tool factory

* refactor(state): privatize approval migration helpers

* refactor(ui): privatize approval event parsers

* chore(deadcode): remove system-agent baseline growth
2026-07-15 02:11:42 -07:00
Peter Steinberger
69595af402 refactor(sessions): trim internal exports (#108191)
* refactor(sessions): trim internal exports

* chore(deadcode): shrink sessions export baseline
2026-07-15 02:03:06 -07:00
Peter Steinberger
ea1b524d8d fix(state): fail-closed operator-approval migration
Review P2: the doctor repair only checked operator_approvals column NAMES, so
a look-alike table with different constraints/defaults would get its rows
copied under today's schema, silently discarding those semantics. Gate the
destructive replacement on the exact prior canonical DDL (the two-kind
constraint before system-agent). Test proves it refuses a same-columns table
with a different kind constraint.

Refs #107237
2026-07-15 01:56:31 -07:00
Peter Steinberger
b1f4aac349 feat(agents): OpenClaw system-agent delegation
New openclaw delegation tool relays to openclaw.chat in-process; persistent
writes surface through the existing durable operator-approval registry as a
third system-agent kind (no parallel store), armed only by a human operator
in the Control UI — a delegated agent can never self-approve. Setup wizards
(channel/model/open-setup/open-tui) are refused in delegated mode so a
machine agent cannot complete setup or persist credentials unattended.
Vendor-neutral inference fallback ladder (requester route first, then other
authed providers by provider id). update.run removed from the gateway tool.
Caveman system-prompt fragment steers config/channels/plugins/agents/updates
to the openclaw tool. Doctor-owned state migration widens the approval-kind
constraint; runtime stays canonical-only.

Refs #107237
2026-07-15 01:56:31 -07:00
Peter Steinberger
75db23f3fc fix: prevent stale rescue approvals from executing (#108147)
* fix(system-agent): persist rescue approvals in sqlite

Co-authored-by: Yung-Chen Tang <46495124+yungchentang@users.noreply.github.com>

* fix(system-agent): narrow rescue expiry clock

* test(system-agent): isolate rescue docker inference

* test(system-agent): align rescue docker doctor contract

* test(system-agent): accept canonical model shape

* fix(system-agent): refuse remote doctor repairs

* fix(infra): break rescue migration import cycle

* test(system-agent): lock rescue publish ordering

* test(system-agent): align rescue harness assertions

---------

Co-authored-by: Yung-Chen Tang <46495124+yungchentang@users.noreply.github.com>
2026-07-15 01:53:00 -07:00
Peter Steinberger
e50263b7ce perf(test): defer SQLite reliability runner import (#108173) 2026-07-15 01:52:49 -07:00
Peter Steinberger
40dd08a0a6 refactor(context-engine): trim internal registry exports (#108179)
* refactor(context-engine): trim internal registry exports

* chore(deadcode): refresh export baseline
2026-07-15 01:52:20 -07:00
Peter Steinberger
bb1a7e5069 fix(release): pin publish workflows to protected tags 2026-07-15 09:52:01 +01:00
Peter Steinberger
9c0adbf93a fix(ci): run spawn-timing tooling suites at plan concurrency 1 (#108171) 2026-07-15 01:51:52 -07:00
Dallin Romney
e9c8cad99e fix(ci): support frozen Codex binding sidecars (#108158) 2026-07-15 01:38:30 -07:00
Peter Steinberger
3bd9e280e4 refactor(acp): trim internal dead exports (#108170)
* refactor(acp): trim internal dead exports

* chore(deadcode): refresh export baseline
2026-07-15 01:37:08 -07:00
Dallin Romney
ad34552473 refactor(qa): migrate Matrix scenarios into QA Lab (#103589)
* refactor(qa): migrate Matrix scenarios into QA Lab

* fix(qa): build Matrix boundary declarations

* fix(qa): preserve Matrix preview boundaries

* fix(qa): preserve Matrix hot reload semantics

* fix(qa): harden Matrix destructive scenario failures

* fix(qa): harden Matrix scenario isolation

* fix(qa): close Matrix negative scenario blind spots

* fix(qa): isolate Matrix substrate state

* fix(qa): harden Matrix transport substrate

* fix(qa): preserve Matrix profile and event parity

* fix(qa): preserve explicit scenario models

* fix(qa): align Matrix scenario coverage taxonomy

* fix(qa): format Matrix allowlist cleanup

* fix(qa): satisfy migrated Matrix CI contracts

* fix(qa): reconcile Matrix migration with current main

* fix(qa): break scenario flow import cycle

* fix(qa): reconcile Matrix max-lines ownership

* fix(qa): address Matrix review boundaries

* fix(qa): remove stale Matrix lint suppression

* fix(qa): adopt split Matrix E2EE flows

* fix(qa): export Matrix scenario record guard

* fix(qa): align Matrix migration with privatized helpers

* refactor(qa): finish Matrix QA Lab ownership

* fix(qa): preserve Matrix suite defaults

* fix(qa): reconcile Matrix cleanup with current main

* test(qa): follow canonical Matrix profile size

* fix(qa): guard stale Matrix QA package output

* docs(qa): redirect retired Matrix QA pages

* refactor(qa): finish Matrix runner rename

* test(qa): assert Matrix defaults through profile resolver

* docs: refresh QA cleanup map

* fix(qa): privatize Matrix storage discovery
2026-07-15 01:22:20 -07:00
Peter Steinberger
3e4b3b370f test(hooks): isolate Gmail setup module cache (#108150)
* test(hooks): isolate Gmail setup module cache

* chore(deadcode): refresh export baseline
2026-07-15 01:18:23 -07:00
Peter Steinberger
57761ebe8c perf(ci): balance node test shards and gate heavy CI lanes by changed scope (#108091) 2026-07-15 01:16:47 -07:00
Leon-SK668
9b6361a50c fix(android): preserve emoji in voice error status (#108101)
* fix(android): preserve emoji in voice error status

* chore(android): sync native i18n inventory

* fix(android): align voice status i18n allowlist
2026-07-15 01:16:27 -07:00
Peter Steinberger
a7456edf94 refactor(proxy-capture): privatize server helpers (#108139)
* refactor(proxy-capture): privatize server helpers

* chore(deadcode): refresh export baseline
2026-07-15 01:07:57 -07:00
Peter Steinberger
f3c191039a refactor(music-generation): privatize mode resolver (#108132)
* refactor(music-generation): privatize mode resolver

* chore(deadcode): refresh export baseline
2026-07-15 00:59:15 -07:00
Peter Steinberger
fda08e26de refactor(gateway): privatize terminal shell quoting (#108125)
* refactor(gateway): privatize terminal shell quoting

* chore(deadcode): refresh export baseline
2026-07-15 00:50:01 -07:00
Peter Steinberger
46393fb3dc refactor(status): privatize session cost line (#108118)
* refactor(status): privatize session cost line

* chore(deadcode): refresh export baseline
2026-07-15 00:41:45 -07:00
Peter Steinberger
85963a2d58 fix(pr): preserve signed merge commits (#108112) 2026-07-15 00:41:18 -07:00
Peter Steinberger
658fdaea5b refactor(audit): remove internal test exports (#108111)
* refactor(audit): remove internal test exports

* chore(deadcode): refresh export baseline
2026-07-15 00:30:16 -07:00
Peter Steinberger
666a907316 fix: preserve updates across pnpm and Bun lifecycle checks (#108090)
* fix(update): validate lifecycle runtimes

* fix(update): verify Bun lifecycle path

* fix(update): reject drive-relative Node paths

* test(update): align lifecycle argv expectations
2026-07-15 00:26:41 -07:00
Peter Steinberger
723c2f81ad refactor(llm): privatize provider internals (#108099)
* refactor(llm): privatize provider internals

* chore(deadcode): refresh export baseline
2026-07-15 00:11:43 -07:00
Peter Steinberger
6beb726be7 fix(docs): preserve inline code literals 2026-07-15 03:10:11 -04:00
Peter Steinberger
732fb5f9e6 fix(release): bind Telegram proof artifact identity 2026-07-15 08:02:17 +01:00
Peter Steinberger
5779422283 refactor(packaging): remove unused inventory override 2026-07-14 23:56:09 -07:00
Dallin Romney
f0109f430c fix(release): retry transient live provider failures (#108015) 2026-07-14 23:55:32 -07:00
Peter Steinberger
92d06e51bb refactor(mcp): trim internal server exports (#108076)
* refactor(mcp): remove dead internal exports

* chore(deadcode): refresh export baseline
2026-07-14 23:47:38 -07:00