Ayaan Zaidi
6626a85dc1
fix(telegram): keep disabled progress hidden in verbose mode
...
Telegram now treats disabled tool progress as authoritative even when /verbose is enabled. Enabled progress and durable/final messages retain existing behavior.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
Co-authored-by: Jason O'Neal <jason.allen.oneal@gmail.com >
Co-authored-by: 徐金城0668000897 <xu.jincheng@xydigit.com >
2026-08-10 09:52:19 +05:30
Peter Steinberger
1367e9a79f
refactor(packages): collapse duplicate type surfaces ( #121340 )
...
* refactor(packages): collapse duplicate type surfaces
* chore(generated): refresh package contract artifacts
2026-08-09 20:45:15 -07:00
Sarah Fortune
176716da74
fix(slack): support native slack approvals on enterprise grid ( #120942 )
...
* fix(slack): support Grid native approvals
* test(slack): tighten Grid approval validation
* fix(slack): pass Grid scope to native approvals
* fix(slack): narrow Grid approval event scope
* refactor(slack): centralize optional approval scope
* refactor(slack): reuse approval target formatter
* refactor(slack): use generic target formatter
* refactor(slack): centralize explicit target formatting
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-10 03:42:59 +00:00
ClawSweeper
eab26ec439
fix(microsoft-foundry): write canonical image model config ( #121370 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-09 20:40:11 -07:00
Peter Steinberger
5d191c3984
fix(agents): exclude private shell output from context compaction ( #121147 )
...
* fix(agents): exclude private shell output from context compaction
## What Problem This Solves
Shell executions explicitly excluded from model context could still contribute their private output to session replay, token estimates, compaction boundaries, or branch summaries.
## Why This Change Was Made
The session projection owner now omits context-excluded shell messages, while compaction assigns those messages zero tokens and prevents private persisted entries from becoming retained-history cut boundaries.
## User Impact
Private shell output remains durably recorded for its intended owner without leaking into model-visible conversation context or wasting compaction budget; legitimate retained context remains intact.
## Context
Actual production code executed in an isolated VM reduced more than 20,000 characters of private output to zero model-visible characters while preserving eligible context. New owner and sibling regressions cover replay, compaction, branch summaries, and token accounting. Existing oxfmt formatting and scoped whitespace checks passed.
* test(agents): cover private Codex history projection
2026-08-09 19:50:50 -07:00
Peter Steinberger
f44c5e2e5e
fix(plugins): surface manifest-only bundled capabilities ( #121354 )
...
Use a manifest-first inventory with independent coverage for manifest-only bundled capabilities.
Retire the undocumented thread-ownership plugin while Doctor removes stale references.
Document Talk voice and persist only provider-scoped voice selection.
Closes #121353
2026-08-09 19:43:49 -07:00
Vincent Koc
4ee008a026
fix(qa): reuse one immutable Docker candidate ( #121253 )
...
Punchcard-Session: amber-workshop-workshop-36
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
2026-08-10 10:14:24 +08:00
Peter Steinberger
3b641a145e
fix: preserve GPT-5 personality through doctor migration ( #121346 )
...
Operators who disabled the GPT-5 friendly interaction style now keep that preference after openclaw doctor --fix. Existing OpenAI plugin personality config remains authoritative.
2026-08-09 19:14:08 -07:00
Sarah Fortune
732108d973
feat(slack): add workspace routing for Enterprise Grid actions and events ( #121014 )
...
* fix(slack): preserve team scope for deferred actions
* refactor(slack): use typed Bolt team context
* refactor(slack): preserve deferred action IDs
* refactor(slack): treat team IDs as opaque
* refactor(slack): keep deferred action diff focused
* fix(slack): enable scoped enterprise interactions
* fix(slack): keep event scope at listener boundary
* test(slack): model Bolt enterprise interaction context
* refactor(slack): normalize listener team context
* refactor(slack): pass modal event scope directly
* test(slack): preserve interaction harness argument types
* refactor(slack): pass shortcut event scope directly
* refactor(slack): pass action event scope directly
* fix(slack): scope enterprise slash commands
* test(slack): disambiguate slash harness scope
* fix(slack): type slash block suggestions
* fix(slack): preserve option text literal
* fix(slack): keep scope helpers private
* fix(slack): fall back from slash response URLs
* fix(slack): clarify Web API post message call
* fix(slack): scope post message lint suppression
* fix(slack): preserve event scope export after rebase
* fix(slack): preserve team-bound modal session routing
* fix(slack): retain modal direct-message routing
* fix(slack): preserve modal delivery compatibility
* docs(slack): mark enterprise tool actions supported
* docs(slack): align enterprise support with runtime
* test(slack): align enterprise interaction registration
* fix(slack): support Grid channel create and rename events
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-10 02:02:15 +00:00
Peter Steinberger
f805ad0354
refactor(extensions): remove unused compatibility exports ( #121338 )
2026-08-09 19:01:38 -07:00
Kevin Lin
96c5aa86f2
fix(codex): keep Slack turns running when a plugin is disabled ( #120312 )
...
* fix(codex): isolate plugin activation failures
* fix(codex): report rejected plugin installs
* refactor(codex): isolate app-server RPC errors
* fix(codex): classify terminal plugin install rejections
2026-08-09 18:54:28 -07:00
Peter Steinberger
620fcd0e27
refactor(plugins): make manifests own config ui hints ( #121329 )
2026-08-09 18:48:49 -07:00
Peter Steinberger
ba5895a976
test(discord): remove duplicate inbound context contract ( #121318 )
2026-08-09 18:28:14 -07:00
Jason (Json)
0b663e7a62
fix(plugins): preserve legacy runtime-doctor imports ( #121220 )
...
* fix(plugins): preserve legacy runtime doctor imports
* fix(plugins): map legacy doctor package types
2026-08-09 19:01:49 -06:00
Peter Steinberger
90ae49a5e5
test(telegram): remove vacuous rate-limit assertion ( #121292 )
2026-08-09 17:53:20 -07:00
Peter Steinberger
15dc3de1ee
test(telegram): fix vacuous stale-copy assertions ( #121291 )
2026-08-09 17:26:31 -07:00
Peter Steinberger
04b110b932
test(zalo): remove private rate-limit size seam ( #121290 )
2026-08-09 17:22:00 -07:00
Sarah Fortune
6efd013c25
fix(slack): support Grid reaction and pin event listeners ( #120944 )
...
* fix(slack): support Grid reaction and pin events
* refactor(slack): isolate system event routing
* test(slack): align Grid event scope fixture
* refactor(slack): pass optional event scope directly
* fix(slack): support Grid member events
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-09 17:07:25 -07:00
Peter Steinberger
3bdfd60caa
fix(media): accept mixed-case local file URLs ( #121226 )
2026-08-09 16:40:55 -07:00
Peter Steinberger
727e48240b
fix(discord): preserve distinct interaction occurrences ( #121155 )
2026-08-09 16:37:51 -07:00
Peter Steinberger
bd6c6aaef2
refactor(ws): consolidate raw WebSocket payload decoding ( #121268 )
...
* refactor(ws): consolidate raw data conversion
* fix(scripts): keep gateway client source-loadable
* refactor(ws): share plugin frame decoding
2026-08-09 16:32:18 -07:00
Peter Steinberger
1c9649afc4
fix(telegram): enforce recursive rich-message transport limits ( #117020 )
...
* fix(telegram): enforce recursive rich-message limits
* test(telegram): type rich message assertions
* refactor(telegram): build album fragments without map spread
2026-08-09 16:28:47 -07:00
Peter Steinberger
cfb19c7054
fix(telegram): stabilize command menu ordering ( #121239 )
...
Preserve custom, native, plugin, and alias precedence while keeping the documented /skill fallback across local and Telegram-driven menu pressure.
2026-08-09 16:08:10 -07:00
Peter Steinberger
0efd5b4bc9
refactor(channels): move owner policy into plugins ( #121257 )
...
* refactor(channels): move owner policy into plugins
* test(plugin-sdk): lower surface budget after export removal
2026-08-09 15:46:18 -07:00
Peter Steinberger
ce53f7e82e
refactor(agents)!: remove the session write lease ( #121113 )
...
* refactor(agents): remove session write lease
* refactor(plugin-sdk): deprecate session write lease
* refactor(doctor): remove session lock checks
* test(agents): remove session lease fixtures
* test(agents): align writer rebound assertion
* refactor(infra): remove retired session lock exports
* test(tooling): preserve embedded abort race shard
2026-08-09 15:30:48 -07:00
Vito Cappello
67e653e580
fix(anthropic): reject leaked Claude tool protocol output ( #120734 )
...
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com >
2026-08-09 15:30:38 -07:00
Peter Steinberger
6ee409ca7b
refactor(commands): share native plugin command merging ( #120972 )
2026-08-09 14:57:45 -07:00
Peter Steinberger
0ef798d28d
fix(gateway): keep hello authorization aligned with RPC access ( #120888 )
...
* fix(gateway): separate socket and device token scopes
* chore(i18n): refresh native source baseline
* style(ios): keep gateway channel within lint limit
* refactor(gateway): simplify scope metadata decoding
* ci(ui): isolate real-gateway e2e suites
* docs(ci): align runner table formatting
* chore(plugin-sdk): refresh api baseline
* ci(ui): route real-gateway retries to hosted runners
* chore(plugin-sdk): repair generated api baseline
* test(ui): select Labs toggles by title
* fix(gateway): preserve stored scopes without wire metadata
2026-08-09 14:50:07 -07:00
Peter Steinberger
59ec48439e
fix(telegram): preserve topic routing for reactions and poll answers ( #121231 )
2026-08-09 14:23:19 -07:00
Peter Steinberger
9ede0e9cef
test(qa): remove retired scenario migration ledgers ( #121229 )
...
* test(qa): remove retired scenario migration ledgers
* fix(deps): pin noVNC dependency exactly
2026-08-09 14:06:03 -07:00
Peter Steinberger
2904bbfc47
test(imessage): exercise chat lookup through runtime boundary ( #121205 )
2026-08-09 13:33:30 -07:00
Ayaan Gazali
5262874d64
fix(telegram): reuse saved media for quoted replies
...
Store resolved Telegram media references on observed messages so repeated quoted-photo turns reuse retained bytes instead of downloading them again. Preserve uncached external-reply media for the active turn and keep cache metadata out of model context.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
Co-authored-by: Ayaan Gazali <ayaangazali.work@gmail.com >
2026-08-10 02:03:01 +05:30
Peter Steinberger
c37b53868d
feat(memory): enable MMR diversity by default ( #121224 )
...
Apply deterministic relevance-biased diversity ordering to builtin hybrid recall and preserve distinct non-tokenized snippets.
2026-08-09 13:30:18 -07:00
Peter Steinberger
690f7d7778
refactor(memory): remove obsolete readonly recovery ( #120844 )
2026-08-09 13:10:58 -07:00
Peter Steinberger
8dbd30ba74
feat(memory): per-entry glob patterns for extraPaths ( #121209 )
...
* feat(memory): support globbed extra paths
Allow root-relative glob patterns on existing memory.search.extraPaths entries across discovery, watching, reindex identity, and QMD migration.
* fix(memory): drop stale lease type import
* fix(memory): enforce extra path glob scope
2026-08-09 13:05:24 -07:00
Sarah Fortune
66dee798b5
Revert "fix: enable Slack native approvals for Enterprise Grid installs (#120…" ( #121219 )
...
This reverts commit 96798953b2 .
2026-08-09 19:49:35 +00:00
Shakker
b3d71c754f
fix(clickclack): ignore agent activity inbound events
2026-08-09 20:33:03 +01:00
Shakker
3d80a2f6f2
fix(clickclack): isolate bot loop budgets by thread
2026-08-09 20:33:03 +01:00
Shakker
5a659c624b
fix: preserve bot loop retries
2026-08-09 20:33:03 +01:00
Jacqueline Henriksen
762fa6e428
feat(clickclack): allow opt-in bot-to-bot inbound dispatch
2026-08-09 20:33:03 +01:00
Vincent Koc
2e4683ba7f
fix(qa): finish aggregate suites without shared cache races ( #120816 )
...
* fix(qa): bound parallel aggregate script runs
Punchcard-Session: amber-workshop-workshop-36
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
* test(tui): wait for adopted session frame
Punchcard-Session: amber-workshop-workshop-36
---------
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
2026-08-10 03:32:04 +08:00
Sarah Fortune
96798953b2
fix: enable Slack native approvals for Enterprise Grid installs ( #120874 )
...
* fix(slack): scope Grid native approvals by team
* fix(slack): type action middleware context
* fix(slack): secure Grid native approvals
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-09 12:09:59 -07:00
Vincent Koc
05dc2f8ee1
fix(qa): scope Slack capture evidence by channel ( #121053 )
...
Punchcard-Session: amber-workshop-workshop-36
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
2026-08-10 03:09:39 +08:00
Vincent Koc
126b5a08e7
fix(qa): resolve live model pairs after auth selection ( #121065 )
...
Centralize QA model-pair construction after resolving the actual primary,
preserve explicit and manual single-model selections, and keep omitted
live-frontier alternates on the provider-owned OpenAI Sol/Luna policy.
Punchcard-Session: amber-workshop-workshop-36
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
2026-08-10 02:59:12 +08:00
Peter Steinberger
26e74d8d18
feat(memory): expand conversational recall queries ( #121196 )
...
Supplement thin strict FTS candidate pools with bounded keyword probes while keeping embedding calls unchanged.
2026-08-09 11:55:57 -07:00
Peter Steinberger
05cd389cac
fix(cloud-workers): make Crabbox provisioning idempotent ( #121019 )
...
* fix(cloud-workers): make Crabbox provisioning idempotent
* fix(crabbox): preserve desktop fixed-id warmups
2026-08-09 11:51:34 -07:00
Peter Steinberger
40dbc7a65a
test(plugin-sdk): remove repo-local test helper fossils ( #121190 )
2026-08-09 11:44:18 -07:00
Peter Steinberger
65dc1d0220
fix(telegram): validate command menu language codes ( #121098 )
...
* fix(telegram): validate command menu language codes
* fix(telegram): enforce exhaustive menu languages
* fix(telegram): harden command menu locale state
2026-08-09 11:43:48 -07:00
Peter Steinberger
af4ffb2e8e
fix: exact dated models work after gateway ready ( #121119 )
...
* fix(agents): publish exact configured model facts
* fix(agents): keep prepared model completion internal
* fix(agents): scope prepared model plugin lookup
* refactor(agents): split prepared model configured facts
* fix(agents): keep configured catalog types acyclic
2026-08-09 11:23:32 -07:00
Peter Steinberger
1f4740e95f
fix(opencode): migrate retired free model refs ( #121125 )
...
* fix(opencode): migrate retired free model refs
Repair the shipped beta upgrade path through the provider-owned Doctor contract. Activate the migration from the canonical configured-model selector inventory so every supported selector is covered consistently.
Co-authored-by: samson1357924 <samson1357924@gmail.com >
* fix(opencode): migrate media model preferences
---------
Co-authored-by: samson1357924 <samson1357924@gmail.com >
2026-08-09 11:16:59 -07:00