Peter Steinberger
0b849a316d
refactor(plugins): single-source interactive dispatch and its auth downgrade via plugin SDK ( #120062 )
2026-08-06 16:31:04 -07:00
Leon-SK668
d64f5b6a09
fix(googlechat): redact reflected credentials in API errors ( #119965 )
...
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-08-06 18:21:13 -05:00
Peter Steinberger
d9ffbb3ed6
fix(memory): report persisted vector index state on unprobed status path ( #120048 )
2026-08-06 15:57:49 -07:00
Peter Steinberger
b4a26783f7
refactor(test): consolidate duplicated requireRecord and provider HTTP mock helpers ( #119982 )
...
* refactor(test): consolidate duplicated test helpers
* test: remove stale record guard import
* fix(test): remove orphaned record guards
* refactor(test): keep record requirement messages exhaustively typed
* fix(test): keep packages/ai record guard package-local
2026-08-06 14:48:01 -07:00
Peter Steinberger
f5e3b5ef54
refactor(plugins): single-source question reactions and preflight audio ( #119987 )
2026-08-06 14:47:36 -07:00
Peter Steinberger
9fdae501b8
refactor(test): table-drive duplicated test cases ( #119973 )
2026-08-06 12:37:43 -07:00
Kimi Yu
dcf7fadf2c
fix(slack): apply channel tool restrictions to normalized session IDs ( #119408 )
2026-08-06 11:39:22 -07:00
Patrick Erichsen
05e3ce11ac
fix(release): restore Fish Audio ClawHub publishing
2026-08-06 11:31:37 -07:00
Peter Steinberger
70f84286c9
fix(telegram): preserve inbound quote attribution
...
Preserve native Telegram quote attribution in agent-visible input and terminate quotes before following ordinary text.
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-06 21:11:02 +05:30
Peter Steinberger
9213792cdf
refactor(qa): derive scenario runtime API from deps ( #119974 )
2026-08-06 08:40:53 -07:00
Vincent Koc
75e5c2694f
fix(qa): enforce scenario provider lane metadata ( #119908 )
...
Punchcard-Session: cobalt-valley-meadow-mg
2026-08-06 23:33:17 +08:00
wangmiao0668000666
978f9b15eb
fix(test): zalo lifecycle suites fail Windows teardown with EBUSY on agent state DB ( #119809 )
...
* fix(test): close zalo agent state databases before lifecycle temp-dir removal (#119796 )
* fix(test): close zalouser agent state databases before ingress temp-dir removal (#119796 )
* fix(test): close zalouser fixture databases before restoring parent state env (#119796 )
ClawSweeper re-review finding: the ingress fixture restored
OPENCLAW_STATE_DIR before closing cached per-agent databases, so lease
release could open a shared-state write against the parent fixture env.
Move both closes ahead of the env restore (canonical fixture order) and
add a nested-environment regression asserting the parent state dir stays
untouched.
2026-08-06 23:26:38 +08:00
Vincent Koc
f5add8197f
test(qa): provide Matrix module-flow fixture ( #119953 )
...
Punchcard-Session: cobalt-valley-meadow-mg
2026-08-06 21:56:41 +08:00
Peter Steinberger
913b53ad80
fix(channels): preserve bundled delivery contracts
...
Preserves pending Telegram replies, Discord webhook preview policy, forwarded Slack file context, and QQBot target recognition.
2026-08-06 18:44:15 +05:30
Vincent Koc
95fd4d3dc9
fix(device-pair): keep notifier poll off Gateway startup ( #119936 )
...
Punchcard-Session: frost-harbor-willow-ev
2026-08-06 20:51:20 +08:00
Vincent Koc
52b8f9be80
fix(plugins): migrate Fish Audio plugin identity ( #119900 )
...
* fix(plugins): migrate Fish Audio plugin identity
* fix(plugins): tighten Fish Audio identity migration
* fix(plugins): follow catalog selector for id replacements
* fix(plugins): reject replacement install collisions
* refactor(plugins): reuse skipped update outcomes
2026-08-06 20:50:36 +08:00
Vincent Koc
c4292bc8b2
fix(diagnostics): report exporter health in doctor and status ( #119816 )
...
* fix(diagnostics): report exporter health transitions
* fix(diagnostics): retire exporter health on shutdown
* test(diagnostics): enforce OTLP protobuf content type
* test(diagnostics): satisfy exporter test type contracts
* fix(diagnostics): redact endpoint-like exporter codes
* fix(diagnostics): coordinate exporter route health
* test(diagnostics): satisfy exporter health static gates
* fix(diagnostics): keep exporter health internal
2026-08-06 20:50:18 +08:00
Peter Steinberger
4d91d44d00
fix(telegram): preserve callback action ownership
...
Keep Telegram native and typed callback routes under their owning handlers. Expired or malformed typed buttons now clear their controls and return visible unavailable feedback while legacy raw plugin callbacks remain compatible.
2026-08-06 17:23:32 +05:30
Dallin Romney
d6fc4a2a95
refactor(qa): make module flows implementation-aware ( #118069 )
2026-08-06 19:51:28 +08:00
Dallin Romney
8c64ca24b1
fix(qa): include pinned gateway restart in core runtime proof ( #118009 )
...
* fix(qa): run pinned gateway restart runtime pair
* fix(qa): run pinned pair before advisory report
2026-08-06 18:52:20 +08:00
Lu Wang
5a8c27ca41
fix(telegram): verify provider topic delivery
...
Verify Telegram accepted-message topics before follow-up sends, preserving partial-delivery evidence instead of trusting requested routing.
Co-authored-by: Lu Wang <7668944+wangwllu@users.noreply.github.com >
2026-08-06 15:06:39 +05:30
clawsweeper[bot]
bc1f917163
fix(qqbot): remove stale data-directory diagnostic ( #119849 )
...
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-08-06 17:09:36 +08:00
Pavan Kumar Gondhi
528c5e0817
fix(feishu): honor cross-context limits for message mutations [AI] ( #119845 )
...
* fix(feishu): guard native mutation targets
* fix(outbound): preserve direct resource actions
2026-08-06 14:38:24 +05:30
w33d
2ea567972c
fix(diagnostics): attribute plugin LLM usage spans ( #107937 )
...
Emit usage once at the shared plugin completion boundary and expose host-derived plugin identity only on OTel usage spans. Preserve aggregate metric labels and cover the redacted Gateway path end to end.
Refs #98968
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
2026-08-06 16:55:53 +08:00
joshavant
43b1e375a9
fix: preserve healthy incompatible auth profiles
2026-08-06 01:48:09 -05:00
joshavant
9702134882
fix: settle Gemini CLI auth preparation failures
2026-08-06 01:48:09 -05:00
Onur Solmaz
1f10ef8050
fix(agents): recover once from critical tool loops ( #118647 )
...
* feat(agents): add bounded tool-loop recovery
* feat(agents): wire loop detection into batch recovery
* test(agents): cover bounded tool-loop recovery
* fix(agents): enforce loop thresholds within tool batches
* fix(agents): retain rejected loop batch evidence
* test(agents): update embedded session recovery fixture
* fix(agents): surface terminal loop recovery failures
* fix(agents): preserve loop recovery across retries
* fix(agents): isolate rejected loop evidence
* fix(agents): terminate native critical tool loops
* fix(agents): canonicalize tool loop actions
* fix(agents): preserve tool loop recovery guidance
* fix(agents): preserve code mode tool identity
* fix(agents): preserve prebatch loop evidence
* fix(agents): order native loop termination
* fix(agents): clean up rebased tool validation
* fix(agents): interrupt codex side turns on critical tool loops
* fix(agents): tighten loop recovery batch lifecycle
* fix(agents): drop unconsumed loop detector type export
* fix(agents): drop unconsumed loop relay exports
* test(agents): add agent subscribe to embedded session doubles
* fix(agents): scope critical loop recovery to embedded runs
2026-08-06 14:09:10 +08:00
Jerry-Xin
b8f6086411
fix(tts): deliver Telegram final speech without text churn
...
Defer Telegram final-mode text until speech settles, then deliver one captioned voice note or a proven-safe text fallback.
Co-authored-by: Jerry-Xin <jerryxin0@gmail.com >
2026-08-06 10:41:40 +05:30
pash-openai
ddcc3fbd80
fix(slack): keep agent replies below newer messages ( #119832 )
...
* fix(slack): keep replies below messages sent while an agent is working
* fix(slack): preserve conversation order through final delivery
2026-08-05 21:42:38 -07:00
razshlomo
941e68bcf5
fix(workboard): card lists stall with large boards ( #118848 )
...
* perf(workboard): batch sqlite card child reads
* test(workboard): avoid global sqlite instrumentation
* test(workboard): use supported link type
---------
Co-authored-by: Raz <12373339+razshlomo@users.noreply.github.com >
Co-authored-by: yehezkel-assistant[bot] <3902212+yehezkel-assistant[bot]@users.noreply.github.com>
2026-08-05 21:25:23 -07:00
Alix-007
819f92bba5
fix(msteams): reject malformed OAuth token envelopes [AI-assisted] ( #111638 )
...
* fix(msteams): reject malformed OAuth token envelopes
* refactor(msteams): reuse canonical record guard
2026-08-06 03:57:33 +00:00
Vincent Koc
5f05410048
fix(diagnostics-otel): preserve zero model-call usage ( #100115 )
2026-08-06 11:47:50 +08:00
Vincent Koc
4db44c6923
fix(diagnostics): close lifecycle spans reliably ( #119791 )
2026-08-06 11:40:24 +08:00
Alix-007
5120f051ad
fix(qa-channel): honor canonical thread action fields ( #111070 )
...
* fix(qa-channel): honor canonical thread action fields
* fix(qa-channel): prefer canonical action targets
* test(qa-channel): split direct action coverage
* test(qa-channel): keep action suite below line limit
2026-08-05 20:40:01 -07:00
Alix-007
3954423725
fix(qqbot): require own account credential entries ( #103371 )
...
* fix(qqbot): require own account credential entries
* fix(qqbot): ignore inherited app ids when listing accounts
* fix(qqbot): require owned account containers
* style(qqbot): format approval account lookup
---------
Co-authored-by: Leon-SK668 <0668001470@xydigit.com >
2026-08-05 20:38:48 -07:00
Alix-007
ab74723229
fix(discord): prevent credentials from appearing in non-JSON errors ( #119536 )
...
* fix(discord): redact non-JSON API error details
* fix(discord): redact JSON API error details
2026-08-05 20:38:17 -07:00
qingminlong
de27d8306e
fix(memory): keep QMD file hints after stale docid misses (issue #113041 ) ( #113515 )
...
* fix(memory): keep qmd file hints after docid misses
* fix(memory): 不要将 hint-only 的 QMD 文档位置缓存到 docid 缓存中
当本地 docid 索引查询无结果时,使用 QMD 文件提示回退来解析文档位置。
但之前的代码将 hint-only 的结果也缓存到了 docPathCache 中,这导致
索引恢复后依然使用旧的回退位置。
修改:
1. qmd-document-resolver.ts: 分离索引查询结果和 hint 回退结果,
只缓存来自索引查询的 pickDocLocation 结果。
2. qmd-manager.test.ts: 添加索引恢复回归测试,验证索引为空时
使用 hint 回退,索引恢复后使用索引中的记录而不是缓存的回退位置。
Co-Authored-By: Claude <noreply@anthropic.com >
* test(memory): expect qmd hint provenance
* chore(memory): clarify QMD hint cache behavior
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com >
2026-08-05 19:56:03 -07:00
Alix-007
f5849f134f
fix(matrix): prevent shared client key collisions ( #119667 )
2026-08-05 17:44:58 -07:00
HughTang
a1064adb68
fix(diagnostics-otel): propagate exported span context ( #112283 )
...
* fix(diagnostics-otel): harness.run root span adopts diagnostic trace context
Fall back to internalOrTrustedParentContext when there is no active
tracked parent, so the openclaw.harness.run root span (and its whole
OTel subtree) adopts the diagnostic traceId instead of minting a new
OTel root. This lets spans propagated via the diagnostic traceparent
(e.g. a2a-gateway a2a.call / downstream a2a.task) share one trace with
the run internals.
* fix(diagnostics-otel): propagate exported span context
Co-authored-by: HughTang <44694613+HughTang@users.noreply.github.com >
* fix(diagnostics): break propagation import cycle
* fix(diagnostics): preserve trace propagation contracts
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-06 08:41:20 +08:00
Vincent Koc
7dcb1ad5ce
fix(qa): attest realized profile executions ( #119761 )
...
* fix(qa): attest profile execution plans
Persist the canonical profile membership partition and scheduler-owned expected and observed execution cells in QA evidence. Validate successful evidence completeness and bind the canonical plan digest into workflow manifests.
Punchcard-Session: silver-meadow-lantern-vx
* test(ci): exercise QA evidence artifact round trips
Punchcard-Session: silver-meadow-lantern-vx
* fix(qa): record only realized profile executions
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
Co-authored-by: ruel225 <ruel225@users.noreply.github.com >
Punchcard-Session: silver-meadow-lantern-vx
* test(qa): type realized channel evidence
Punchcard-Session: silver-meadow-lantern-vx
---------
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
Co-authored-by: ruel225 <ruel225@users.noreply.github.com >
2026-08-06 08:33:02 +08:00
Patrick Erichsen
678a3c18a9
fix(gateway): finish successful sessions after timestamp races ( #119752 )
...
* fix(gateway): correlate session lifecycle by run
* test(qa): expect settled handoffs to survive restart quietly
* test(agents): split embedded run persistence coverage
2026-08-05 17:24:12 -07:00
Vincent Koc
2fc2fc930b
improve(ollama): reduce inactive startup cost ( #119745 )
...
* improve(ollama): defer optional runtime imports
Punchcard-Session: coral-workshop-workshop-3f
* improve(ollama): isolate lazy runtime modules
* improve(ollama): preserve lazy runtime boundaries
2026-08-06 07:40:22 +08:00
Vincent Koc
e41c574793
improve(gateway): defer inactive plugin runtime imports ( #119733 )
...
* perf(gateway): defer Talk relay cleanup imports
Punchcard-Session: coral-workshop-workshop-3f
* perf(acpx): defer Pi session catalog runtime
Punchcard-Session: coral-workshop-workshop-3f
* perf(google-meet): defer meeting runtime imports
Punchcard-Session: coral-workshop-workshop-3f
* improve(memory-core): defer scoped runtime access
Punchcard-Session: coral-workshop-workshop-3f
* perf(google-meet): defer SDK action helpers
Punchcard-Session: coral-workshop-workshop-3f
2026-08-06 07:38:24 +08:00
Vincent Koc
d3d25737cf
fix(qa): recognize portable Slack commentary lane ( #119698 )
...
Punchcard-Session: silver-meadow-lantern-vx
2026-08-06 07:18:12 +08:00
Vincent Koc
b269e652bc
chore(codex): bump app-server to 0.146.1
2026-08-06 07:11:37 +08:00
Vincent Koc
397a60582a
fix(diagnostics): preserve OTEL startup failure ( #119747 )
2026-08-06 06:41:24 +08:00
Jason (Json)
6d2ba0d562
fix: steering reaches active runs across agent harnesses ( #119594 )
...
* fix steering delivery across harnesses
* fix steering across moving transcript leaves
* test: align steering queue expectations
* fix: harden active steering ownership
* fix: retain steering fallback admission
* fix: reject late copilot steering
* fix: prevent replay of accepted steering
* fix: bind acquired chat work admission
* fix: bind steering to active transcript branch
2026-08-05 16:02:04 -06:00
Vincent Koc
92b4757227
fix(diagnostics): honor signal-specific OTLP protocols ( #119708 )
...
* fix(diagnostics): honor signal-specific OTLP protocols
* fix(docker): forward signal-specific OTLP protocols
2026-08-06 05:39:26 +08:00
Vincent Koc
7b8bba26c9
fix(qa): report cleanup failures truthfully ( #119727 )
...
* fix(qa): report cleanup failures truthfully
Punchcard-Session: silver-valley-valley-dt
* fix(qa): satisfy cleanup runner static checks
Punchcard-Session: silver-meadow-lantern-vx
2026-08-06 05:16:35 +08:00
Vincent Koc
880dde979b
fix(diagnostics): preserve telemetry during service shutdown ( #119705 )
...
* fix(diagnostics): preserve otel service shutdown lifecycle
* test(diagnostics): type OTEL unsubscribe callback
* test(diagnostics): normalize async stop assertion
* fix(plugins): preserve ordinary stop handling
2026-08-06 03:58:06 +08:00