Commit Graph

71427 Commits

Author SHA1 Message Date
Peter Steinberger
ebec398543 refactor: move Telegram and iMessage config schemas to plugins (#112850)
* refactor: move telegram and imessage schemas to plugins

* test: allow bundled schema facade regression coverage

* refactor: remove orphaned command config helper
2026-07-22 23:01:47 -04:00
Peter Steinberger
099d6351b3 refactor(sessions): canonical lineage model — creation provenance, fork ancestry, generation chain, typed row contract (#111861)
* fix(sessions): preserve spawn/fork lineage across implicit daily/idle rollover

* refactor(sessions): canonical creation model with forkSource ancestry and generation chain

* feat(sessions): stamp creation provenance across all creation paths and emit created events

* refactor(gateway): lock lineage patching, split control from navigation, add typed session-row contract

* docs(gateway): document creation provenance stamping and lineage patch tightening

* fix(sessions): keep provenance proof-only on wire fallbacks and strip node-local lineage from cron continuations

* fix(gateway): never journal a created event for session adoption

* fix(gateway): keep post-create work on adoption while gating the created event

* fix(sessions): restore trusted ensure-main provenance and stamp navigation parent at spawn

* fix(sessions): allow parentSessionKey through the direct child spawn patch

* fix(ci): break type cycles, satisfy export scan, regenerate Swift protocol models

* refactor(sessions): replace createdBy with createdActor

* fix(protocol): export session row type

* fix(sessions): preserve proven creation provenance

* fix(sessions): close lineage creation gaps

* test(sessions): align atomic spawn lineage coverage

* test(sessions): widen transcript search reconcile wait

* fix(sessions): stamp reset-created rows

* test(sessions): keep reset provenance coverage focused

* fix(sessions): journal chat-created rows

* test(ci): anchor release skill reads to repo

* test(ci): avoid cached module paths
2026-07-22 22:54:31 -04:00
Peter Steinberger
7497147519 refactor: hoist channel doctor migration helpers (#112782) 2026-07-22 22:53:39 -04:00
Dallin Romney
4602e57d14 fix(qa): stop retrying unavailable credentials per partition (#112840) 2026-07-23 11:32:33 +09:00
Dallin Romney
2b1e4b0ccc fix(release): restore validation attempt guidance (#112845) 2026-07-23 11:22:36 +09:00
metaforismo
c876d9917d fix(ios): show full multiline Markdown list items (#112723) 2026-07-22 22:18:18 -04:00
joshavant
5681602069 fix(telegram): cache only durable stream previews 2026-07-22 21:14:53 -05:00
joshavant
c21fd54dd9 fix(telegram): keep thread binding type private 2026-07-22 21:14:53 -05:00
joshavant
160ef72525 fix(telegram): observe topic poll and sticker sends 2026-07-22 21:14:53 -05:00
joshavant
bb5e0a91a2 fix(telegram): enforce threadless mutation scope 2026-07-22 21:14:53 -05:00
joshavant
ea66298621 fix(telegram): wire topic mutation policy 2026-07-22 21:14:53 -05:00
joshavant
0a6b3ef7df fix(telegram): bind general topic mutations 2026-07-22 21:14:53 -05:00
joshavant
334ae74428 fix(telegram): observe streamed topic replies 2026-07-22 21:14:53 -05:00
joshavant
e38810a19c fix(telegram): bind topic message mutations 2026-07-22 21:14:53 -05:00
Jason (Json)
57473e6f7e fix(ui): keep user footer actions together (#112836) 2026-07-22 20:03:58 -06:00
Dallin Romney
7072c7f250 docs(release): document complete extended-stable workflow (#112524)
* docs(release): document extended-stable operations

* docs(release): tighten extended-stable guidance
2026-07-23 10:48:48 +09:00
Gio Della-Libera
9636f2aa2d Add CLAW.md manifest support (#111391)
* Add CLAW.md manifest support

* test(claws): cover CLAW.md manifests

* docs(claws): document CLAW.md packages

* fix(claws): harden claw markdown parsing

* fix(claws): bound claw document reads
2026-07-22 18:37:08 -07:00
Jason (Json)
dcaed5999d fix(plugins): keep source-checkout npm installs registry-backed (#112829) 2026-07-22 19:36:31 -06:00
Dallin Romney
2aed598705 docs: require changelog before extended-stable preflight (#112533) 2026-07-22 18:35:57 -07:00
Peter Steinberger
6c5713b6f1 refactor(ui): move sidebar attention into controller (#112817) 2026-07-22 21:15:44 -04:00
joshavant
8b4df42894 fix(feishu): bind probe cache to app credentials 2026-07-22 20:13:12 -05:00
joshavant
3a7f1ab0f4 fix(feishu): keep internal identity types private 2026-07-22 20:13:12 -05:00
joshavant
3b5fb27b8d fix(feishu): preserve bot identity through probe outages 2026-07-22 20:13:12 -05:00
joshavant
8b1d0278f4 fix(feishu): decouple bot identity from AI registration 2026-07-22 20:13:12 -05:00
Peter Steinberger
a7e38f4f1b refactor: shrink database-first store guard (#112802) 2026-07-22 21:08:31 -04:00
Peter Steinberger
9dd306de79 refactor(agents): absorb model helper fragments (#112805)
* refactor(agents): absorb model helper fragments

* refactor(agents): keep absorbed helpers internal
2026-07-22 21:06:33 -04:00
Dallin Romney
19d17bc3c4 refactor(qa): canonicalize runtime-pair lanes (#112603) 2026-07-23 10:06:12 +09:00
Dallin Romney
74cc99f2d1 fix(release): publish extended-stable Docker channels safely (#112494)
* fix(release): isolate extended-stable Docker aliases

* fix(release): harden Docker channel promotion

* docs(release): pin Docker policy into tagged tree

* refactor(release): isolate Docker channel promotion

* fix(release): queue Docker publications

* fix(release): harden docker channel promotion

* docs(release): tighten extended-stable guidance

* fix(release): promote Docker aliases after verification

* chore(release): format maintainer instructions

* refactor(release): separate release version policy

* docs(release): clarify extended-stable gateway scope

* fix(release): harden Docker channel promotion
2026-07-23 10:03:11 +09:00
Peter Steinberger
79d4e4a3ad fix(release): accept complete core tarball manifests (#112813)
* fix(release): consume complete core tarball manifest

* fix(release): declare core tarball selector
2026-07-22 21:02:47 -04:00
Peter Steinberger
8ef067a216 refactor(config): move Discord and Teams schemas to plugins (#112812)
* refactor(config): move Discord and Teams schemas to plugins

* refactor(discord): privatize config schema fragments

* style(discord): format private schema fragments
2026-07-22 21:02:12 -04:00
Dallin Romney
14654922d4 fix(release): support frozen gateway stop commands (#112582)
* fix(release): support frozen gateway stop commands

* fix(release): import gateway stop capability helper

* fix(release): fail closed on gateway stop capability probe
2026-07-22 18:00:37 -07:00
Dallin Romney
eccf02f04a fix(qa): apply Matrix thread override in flow setup (#112815) 2026-07-23 09:47:27 +09:00
Jason (Json)
7eec1345f9 fix(gateway): preserve Control UI access across device-auth upgrades (#112558)
* fix(gateway): preserve device auth upgrade recovery

* fix(gateway): satisfy device auth upgrade gates

* fix(doctor): clean disabled device auth bypass

* fix(gateway): recheck migration operator boundary

* fix(gateway): keep migration guard internal

* fix(gateway): preserve insecure migration access

* fix(gateway): reject stale migration handshakes

* fix(gateway): revoke legacy migration sessions

* fix(gateway): bound device-less migration authority

* fix(gateway): require explicit migration pairing

* fix(gateway): revoke alternate migration sessions

* fix(gateway): close migration admission races

* style(gateway): format migration pairing import

* fix(security): audit pending device-auth migration

* fix(gateway): reconcile migration on startup

* fix(gateway): cap device auth migration scopes

* fix(gateway): retain migration socket restrictions

* perf(ui): trim migration startup bundle

* perf(ui): lazy-load device auth migration

* fix(gateway): bind migration completion to approved key

* fix(gateway): preserve migration authorization bounds

* fix(gateway): grant migrated device pairing capability

* fix(ui): preserve device migration bundle budget

* fix(ui): stabilize migration startup budget

* chore(ui): retain startup budget headroom

* fix(ui): split migration overlay helpers
2026-07-22 18:44:48 -06:00
Gio Della-Libera
7d159fdc77 Apply consented grouped Claw updates (#102982)
* Apply consented grouped Claw updates

* test(claws): cover update application

* docs(claws): document consented updates

* fix(claws): preserve uncertain update state

* fix(claws): preserve inherited lifecycle guards

* fix(claws): derive update package contracts

* fix(claws): type update package lookup

* test(claws): complete update capability fixtures

* refactor(claws): share cron payload builder for updates

* refactor(claws): extract update plan summary

* fix(claws): activate cron after update dependencies

* fix(claws): preserve state after uncertain cron update

* fix(claws): persist partial update provenance

* fix(claws): preserve update ownership metadata

* test(claws): track update apply temp dirs

* test(claws): align update cron mock result

* fix(claws): update apply writes agent entries

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-07-22 17:42:42 -07:00
Peter Steinberger
1a7a1808f7 refactor(ui): replace sidebar render snapshot with host (#112809) 2026-07-22 20:23:59 -04:00
Jesse Merhi
4a2a600809 feat(channels): add channel-owned setup contracts (#112176)
* feat(channels): add channel-owned setup contracts

* test(channels): align legacy setup fixtures

* chore(channels): regenerate config and SDK baselines after rebase

* fix(update): run fresh doctor after current-process core changes

* fix(channels): align add pre-scan with execution precedence

* style(cli): format channels-cli test additions

* fix(channels): restore option-before-positional channel resolution via metadata arity scan

* fix(channels): keep help flags out of metadata arity escalation

* test(update): mock fresh post-update doctor in current-process suites

* style: format review fixes and correct entrypoint mock type

* fix(channels): register only modern contract options for dual-publishing plugins

* test(update): align downgrade suites with fresh-doctor child invocation

* docs(channels): record empty-contract and input-forwarding invariants

* fix(line): keep the shipped --token switch as a channel access token alias

* fix(signal): stop treating exact cross-family loopback endpoints as bind-aligned

* chore(config): regenerate docs config baselines after second rebase

* style: format rebased channels add tests

* fix(channels): enforce field-key and flag-name agreement in setup contracts

* fix(signal): detect container endpoints for bare --http-url setup

* fix(signal): ignore unconfigured accounts in transport collision checks

* fix(channels): validate negated setup flags in contract and normalizer

* fix(signal): preserve existing transport kind when setup detection is unreachable

* style(signal): use direct boolean check in collision guard

* style(signal): type test config literals

* docs(update): record two-read design of fresh-doctor validation gate

* fix(channels): satisfy post-rebase architecture gates

* docs: refresh channel setup map

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-22 19:57:42 -04:00
Peter Steinberger
b375776acf fix: forced cloud worker teardown cannot be blocked by recovery (#112781)
* fix(cloud-workers): make forced environment destruction unstoppable

* fix(cloud-workers): retain failed workspace rollback journals

* chore: defer cloud worker release note

* fix(cloud-workers): preserve forced rollback retries
2026-07-22 19:39:49 -04:00
Peter Steinberger
e085b379f8 refactor(agents): thread plugin metadata snapshots per turn (#112769)
* refactor(agents): thread plugin metadata snapshots per turn

* fix(agents): validate threaded plugin metadata

* fix(agents): preserve prepared metadata fallbacks

* fix(commands): preserve snapshot auth refs typing

* fix(commands): use indexed synthetic auth refs

* test(auto-reply): isolate completed goal session store

* test(agents): serialize embedded runner harness files

* test(auto-reply): serialize reply runtime files

* test(auto-reply): isolate goal context admission

* test(auto-reply): allow persisted goal admission under CI load

* test(agents): allow embedded harness warmup under CI load
2026-07-22 19:33:45 -04:00
Peter Steinberger
db5e59d15e refactor(ui): extract sidebar session-list render functions (#112753)
* refactor(ui): extract sidebar session-list render functions

* refactor(ui): trim obsolete sidebar render wrappers

* refactor(ui): compact sidebar render snapshot

* refactor(ui): add sidebar startup margin

* refactor(ui): reduce sidebar render duplication

* refactor(ui): reduce sidebar render overhead
2026-07-22 19:30:39 -04:00
Peter Steinberger
c26b0e0843 feat(android): add OpenClaw settings chat (#112788) 2026-07-22 19:29:51 -04:00
WhatsSkiLL
b3752e375d feat(android): add Wear instant talk tile (#112721)
* feat(android): add Wear instant talk tile

* fix(android): preserve Wear screenshot warm launches

* fix(android): preserve Wear state on warm launch

---------

Co-authored-by: Colin <colin@solvely.net>
2026-07-22 19:28:41 -04:00
Peter Steinberger
a677b00dae test: consolidate restart recovery fixtures (#112789) 2026-07-22 19:25:39 -04:00
Peter Steinberger
e13bc7c63e refactor(agents): remove unused JSONL session paths (#112775)
* refactor(agents): remove legacy session file discovery

* refactor(agents): remove dead sessions directory helper
2026-07-22 19:22:26 -04:00
Peter Steinberger
cdb8d32bcc refactor(agents): consolidate model normalization (#112772)
* refactor(agents): consolidate model normalization

* docs(agents): clarify normalization boundary
2026-07-22 19:19:41 -04:00
Peter Steinberger
dbd6662976 refactor(cloud-workers): audit staged finalize fences (#112739) 2026-07-22 19:18:44 -04:00
Peter Steinberger
637afd0114 refactor(config): move Slack and Signal schemas to plugins (#112792)
* refactor(config): move Slack and Signal schemas to plugins

* build(signal): declare schema runtime dependency

* build(signal): refresh plugin shrinkwrap
2026-07-22 19:14:56 -04:00
Peter Steinberger
9b1e9a5e66 test: trim update CLI boilerplate (#112793) 2026-07-22 19:10:02 -04:00
Peter Steinberger
f5562748de fix(logging): give non-default profiles their own gateway log file (#112777)
* fix(logging): give non-default profiles their own gateway log file

* chore: defer profile log release note
2026-07-22 19:08:41 -04:00
Peter Steinberger
bf922f59fe fix(onboard): keep setup effects on the default agent (#112738)
* fix(onboard): align default agent setup ownership

* chore(onboard): remove stale target assignments

* fix(onboard): preserve workspace provisioning boundary
2026-07-22 19:05:21 -04:00
Peter Steinberger
0724dfda21 refactor(channels): share retry and text break helpers (#112786)
* refactor(channels): share retry and text break helpers

* fix(sdk): keep helper internals private
2026-07-22 19:05:00 -04:00