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