Vincent Koc
a87ee810da
fix(llama-cpp): fence native runtime handoff
...
Punchcard-Session: frost-brook-timber-mx
2026-08-05 15:33:49 +08:00
Vincent Koc
da6c8c1670
merge: sync origin/main
...
Punchcard-Session: frost-brook-timber-mx
2026-08-05 14:48:57 +08:00
Vincent Koc
2b0e1e579a
fix(llama-cpp): report cleanup recovery to initiating request
...
Punchcard-Session: frost-brook-timber-mx
2026-08-05 14:46:39 +08:00
Peter Steinberger
702eb6eb57
fix(qa): prove newer session facts outrank competing durable memory ( #119496 )
...
* fix(qa): prove session memory outranks stale durable facts
* fix(qa): require the canonical memory search result window
* fix(qa): honor the optional canonical memory search limit
2026-08-04 23:34:46 -07:00
Jesse Merhi
95d7d95515
feat(tools): support batched tool search queries ( #118623 )
...
* feat(tools): support batched tool search queries
* fix(tools): harden batched tool search
* fix(tools): preserve batch search contracts
* fix(tools): bound batch search processing
* fix(tools): bound batch candidate metadata
* fix(tools): preserve callable batch candidates
* docs(tools): align batch search QA proof
* refactor(tools): isolate search request parsing
* test(qa): strengthen structured search proof
* test(qa): align structured directory proof
* fix(tools): preserve scalar search compatibility
* test(qa): disable batch scenario retries
* test(qa): allow direct-only tools in structured proof
* test(qa): verify nested catalog call result
* test(qa): remove obsolete result scanner
2026-08-05 16:28:10 +10:00
Peter Steinberger
f3186b0876
fix(qa): release parent parity transport before worker acquisition ( #119492 )
2026-08-04 23:23:41 -07:00
qingminlong
76ac472f56
fix(telegram): reject malformed table spans ( #109962 )
...
* fix(telegram): reject malformed table spans
* fix(telegram): preserve spaced fallback colspans
* fix(telegram): simplify strict table-span parsing
Preserve the original contributor fix while reusing the existing strict numeric owner, enforcing complete-decimal span attributes on both Telegram paths, and strengthening sibling regressions. Production LOC remains net zero.
Co-authored-by: qingminlong <0668001063@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-04 23:13:46 -07:00
Peter Steinberger
cb3890b921
test(qa): isolate active memory request traces ( #119502 )
2026-08-04 23:08:31 -07:00
Peter Steinberger
046a6881bb
fix(qa): prove secret fixtures were read before redaction ( #119495 )
2026-08-04 23:00:32 -07:00
Peter Steinberger
a124966706
fix(qa): require a fresh response for memory recall ( #119493 )
2026-08-04 22:56:58 -07:00
Peter Steinberger
b3aab44f4b
fix(qa): keep live provider scenarios out of mock lanes ( #119498 )
2026-08-04 22:52:57 -07:00
Peter Steinberger
57122c965c
fix(qa): clean partial gateway startup and staged plugin roots ( #119494 )
2026-08-04 22:48:25 -07:00
Peter Steinberger
dc93ea6d69
fix(qa): follow durable finals after streamed previews ( #119378 )
...
* test(qa): isolate memory scenario evidence
* test(qa): follow durable progress completion
* test(qa): run doctor migration noninteractively
* test(qa): split active memory follow-up
* test(qa): wait for preview retirement
* test(qa): require ordered preview retirement
* test(qa): record ordered durable reply evidence
* test(qa): preserve durable delivery budgets
* test(qa): isolate durable lifecycle by account
* test(qa): scope durable reply assertions by account
* test(qa): preserve durable conversation identity
2026-08-04 22:29:15 -07:00
Shubhankar Tripathy
1aeecb9be6
fix(amazon-bedrock-mantle): dedupe the IAM token-failure diagnostic per region ( #67288 ) ( #81208 )
...
* fix(amazon-bedrock-mantle): dedupe IAM failure logs
Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com >
Punchcard-Session: cobalt-brook-meadow-m9
* fix(amazon-bedrock-mantle): emit IAM diagnostic after debug enables
Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com >
Punchcard-Session: cobalt-brook-meadow-m9
* fix(amazon-bedrock-mantle): surface changed IAM failures
Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com >
Punchcard-Session: cobalt-brook-meadow-m9
* fix(amazon-bedrock-mantle): fence stale IAM failures
Co-authored-by: Shubhankar Tripathy <reach2shubhankar@gmail.com >
Punchcard-Session: clear-orchard-lantern-bc
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-05 13:26:30 +08:00
zhanxingxin1998
353b4a339a
fix(discord): invalidate member cache on lifecycle events ( #110414 )
...
Clear cached member and user entities when members join or leave, matching the existing update-event behavior and preventing stale role authorization.
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-04 22:14:42 -07:00
pash-openai
75ef5aebec
Keep Slack progress and final replies in one message ( #119376 ) ( #119480 )
2026-08-04 21:49:38 -07:00
Peter Steinberger
60a8ec821c
refactor(plugins): reuse canonical error coercion ( #119451 )
2026-08-04 21:05:45 -07:00
Peter Steinberger
9214e6381d
refactor(discord): consolidate interactive response handling ( #119448 )
2026-08-04 21:01:32 -07:00
Peter Steinberger
2b003f186d
refactor(memory-wiki): reuse canonical plugin normalization ( #119449 )
2026-08-04 20:55:58 -07:00
Syu
b316c9cacf
fix(channels): honor explicit preview streaming settings
...
Explicit Telegram and Discord preview modes now override inherited block streaming while explicit channel block settings remain authoritative.
Co-authored-by: Syu <zhuqimo@gmail.com >
2026-08-05 09:04:49 +05:30
Peter Steinberger
ad37e91fbb
refactor(telegram): consolidate outbound contracts and targets ( #119438 )
2026-08-04 20:33:45 -07:00
Peter Steinberger
b5d99c1f06
fix(qa): retry transport cleanup and always stop owned labs ( #119442 )
2026-08-04 20:31:28 -07:00
Peter Steinberger
b5237ac86a
fix(qa): preserve scenario isolation in serial suites ( #119439 )
2026-08-04 20:26:47 -07:00
Vincent Koc
e35d22807e
perf(xai): lazy-load optional capability runtimes ( #119374 )
...
Punchcard-Session: coral-workshop-workshop-3f
2026-08-05 11:26:40 +08:00
Peter Steinberger
767dc7019d
refactor(browser): consolidate browser CLI and normalization helpers ( #119432 )
2026-08-04 20:26:21 -07:00
Peter Steinberger
bf1bdb429e
fix(qa): require ready transport accounts ( #119431 )
2026-08-04 20:23:31 -07:00
Jason (Json)
ab7b3ffd1f
fix: retry delivery when outbound adapter is unavailable ( #119371 )
...
* fix(outbound): preserve pre-dispatch retryability
* test(outbound): assert lazy runtime sender
* fix(feishu): preflight direct message runtime
* test(gateway): preserve scoped registry fixture
2026-08-04 21:22:07 -06:00
Peter Steinberger
0ef1911192
refactor(signal): share outbound and reaction transport ( #119415 )
2026-08-04 20:19:33 -07:00
Vincent Koc
1ee0564b09
fix(discord): avoid doctor runtime loading ( #119391 )
...
* fix(discord): publish doctor capability metadata
Punchcard-Session: amber-workshop-river-yr
* fix(doctor): read packaged channel metadata
Punchcard-Session: amber-workshop-river-yr
2026-08-05 11:05:35 +08:00
Peter Steinberger
847e6eea8e
fix(slack): infer upload filename extensions from MIME types ( #119399 )
...
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-04 19:57:10 -07:00
Peter Steinberger
4707934b30
refactor(google-meet): unify gateway and tool dispatch ( #119413 )
2026-08-04 19:52:26 -07:00
mushuiyu886
e8eb765ab7
fix(chutes): honor serving context limits ( #119196 )
2026-08-04 19:42:54 -07:00
Dinesh H Suthar
50c7444edf
fix(sessions): preserve compatible auth profiles on model changes ( #117550 )
...
* fix(model-picker): preserve compatible auth profiles
* chore(plugin-sdk): refresh API baseline
* fix(model-picker): keep profile policy core-owned
* fix(model-picker): preserve profiles across auth aliases
* chore(plugin-sdk): update public surface budgets
* fix(model-picker): honor explicit profile clearing
* fix: preserve compatible auth profiles on model changes
* perf: reuse prepared auth profile metadata
* docs(plugin-sdk): document direct model persistence fallback
* test: expose auth snapshot in directive mock
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
Co-authored-by: Dinesh Suthar <dineshsld20@gmail.com >
2026-08-05 07:40:00 +05:30
Vincent Koc
9f8270dedc
fix(qa): stop zombie-only gateway process groups ( #119396 )
...
Punchcard-Session: amber-orchard-valley-s4
2026-08-05 10:07:28 +08:00
Vincent Koc
6a8e11e63c
fix(qa): repair release validation scenarios ( #119150 )
...
* fix(qa): repair parity and matrix media setup
Punchcard-Session: silver-valley-valley-dt
* test(qa): accept token-budgeted compaction suffix
Punchcard-Session: silver-valley-valley-dt
* test(qa): scope request diagnostics
Punchcard-Session: silver-valley-valley-dt
* test(qa): prove thread-memory causality
Punchcard-Session: silver-valley-valley-dt
* test(qa): configure Matrix image generation and fail fast
Punchcard-Session: silver-valley-valley-dt
* fix(qa): require memory get before thread recall
Punchcard-Session: silver-valley-valley-dt
* fix(qa): unify mock provider dispatch
Punchcard-Session: silver-valley-valley-dt
* fix(qa): repair Anthropic IDs and compaction causality
Punchcard-Session: silver-valley-valley-dt
* fix(qa): authenticate compaction wire causality
Punchcard-Session: silver-valley-valley-dt
* fix(qa): preserve Responses tool item identity
Punchcard-Session: silver-valley-valley-dt
* fix(qa): scope restart heartbeat proof
Punchcard-Session: silver-valley-valley-dt
* test(qa): assert causal traces before delivery
Punchcard-Session: silver-valley-valley-dt
* fix(qa): validate code mode completion evidence
Punchcard-Session: silver-valley-valley-dt
* test(qa): split causal catalog checks
Punchcard-Session: silver-valley-valley-dt
* style(qa): format matrix scenario tests
Punchcard-Session: silver-valley-valley-dt
2026-08-05 09:56:06 +08:00
Peter Steinberger
ed31a4dd79
fix(slack): authorize reaction and message reads before applying limits ( #118736 )
...
* fix(slack): bound reaction users in message actions
* test(slack): validate encoded reaction request bodies
* fix(slack): keep reaction user limits in action owner
* fix(slack): authorize message reads before validating limits
---------
Co-authored-by: Peter Steinberger <steipete@macos.shared >
2026-08-04 18:12:59 -07:00
Sarah Fortune
c56eaca14b
fix(slack): Fix bad escaping in slack tool commentary ( #119373 )
...
* fix(slack): preserve Markdown in progress drafts
* fix(slack): retain escaping for tool progress
* fix(slack): scope progress line escaping
* fix(slack): preserve progress formatting by source
* test(slack): assert plan refresh rendering
* test(slack): keep progress regression coverage scoped
* update tests
---------
Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com >
2026-08-04 18:10:25 -07:00
Josh Avant
618fba92bf
feat(audit): add execution identity inspection ( #117034 )
...
* feat(audit): add opt-in execution identity inspection
* fix(audit): gate recovery identity retention
* fix(audit): keep recovery identity type private
* test(audit): type internal recovery fixture
* test(audit): split recovery identity coverage
* docs(audit): define operator read trust boundary
* test(qa): register identity scenario child
* fix(audit): enforce shared identity retention bounds
* fix(audit): seal public ingress identity boundary
* fix(audit): keep ingress guard lint-clean
* fix(gateway): preserve advertised method order
* chore(protocol): sync advertised method order
* fix(protocol): encode audit selector invariants
* test(audit): prove exact execution guard
* fix(audit): keep identity storage lazy
2026-08-04 20:05:15 -05:00
Peter Steinberger
58025dd33c
fix(fs): adopt fs-safe 0.5.2 untrusted filename sanitization ( #119363 )
...
* fix(fs): adopt fs-safe 0.5.2 untrusted filename sanitization
* fix(media): classify pre-open identity drift as access denial
* chore(checks): refresh SDK baseline and env-var budget for fs-safe adoption
* test(media): compact sanitizer cases under max-lines
* fix(agents): keep workspace symlink contract under fs-safe 0.5.2
* fix(infra): align path normalization and atomic-write proofs with fs-safe 0.5.2
* fix(fs): keep operator symlink contracts on config, control-ui, skills, hooks
* fix(fs): restore sandbox and session-lock contracts under fs-safe 0.5.2
* test(claws): expect symlink diagnostic for tampered plan parents
* fix(agents): canonicalize apply-patch mutations through contained aliases
* test(agents): split alias-update regression into focused file
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-04 17:53:44 -07:00
Arthur Lacoste
f207e14d92
fix(telegram): keep commands responsive during Codex login
...
Release Telegram’s chat lane after structured Codex device-code delivery while account-owned authentication completes safely in the background.
Co-authored-by: Arthur Lacoste <arthurlacoste@users.noreply.github.com >
2026-08-05 05:59:13 +05:30
Vincent Koc
cbde3c1945
perf(memory): defer session backfill runtime ( #119372 )
...
Punchcard-Session: coral-workshop-workshop-3f
2026-08-05 08:16:20 +08:00
Vincent Koc
fb81d03d8e
fix(commands): restore tool inventory for dynamic models ( #119306 )
...
* fix(qa): scale Telegram compact command timeout
* fix(qa): surface Telegram compact reply failures
Punchcard-Session: amber-workshop-river-yr
* fix(commands): prepare tool inventory model context
Punchcard-Session: amber-workshop-river-yr
* test(commands): type runtime context mock
Punchcard-Session: amber-workshop-river-yr
* docs(changelog): note tool inventory repair
Punchcard-Session: amber-workshop-river-yr
* chore(release): defer tool inventory note
Punchcard-Session: amber-workshop-river-yr
* fix(ci): lower environment variable budget
Punchcard-Session: amber-workshop-river-yr
2026-08-05 06:57:21 +08:00
Yiğit ERDOĞAN
0d18bde848
fix(media): release rejected BytePlus and Runway video downloads under debug capture ( #119257 )
...
…r debug capture
When the debug proxy is enabled it patches global fetch and clones every
response, so the caller-facing body is one branch of a live tee. Cancelling
such a branch settles only after both branches cancel, so awaiting it in the
rejected-download path leaves the download pending instead of surfacing the
malformed-response error.
Both providers read the completed media URL through the global fetch, so they
reach the capture clone. Switch them to the fire-and-forget release the other
generated-media owners already use, and cover each with a regression that keeps
a capture clone live while the download is rejected.
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-08-04 17:48:10 -05:00
Peter Steinberger
2d1242556e
test(msteams): serve JWKS from in-process server in auth coverage ( #119354 )
...
* test(msteams): serve JWKS from in-process server in auth coverage
The Entra/service-token validator tests spied JwksClient.prototype on the
jwks-rsa copy the test file imports, but the SDK's internal
require("jwks-rsa") resolves a different physical copy and vitest cannot
intercept a CommonJS require inside node_modules — so the spy missed and
the tests hit the real login.botframework.com / login.microsoftonline.com
JWKS endpoints (JwksError: Bad Request, SigningKeyNotFoundError).
Replace the mock with a real JWKS document served from an in-process
node:http server, pointed at via the SDK's own endpoint overrides
(openIdMetadataUrl cloud override for the service validator, loginEndpoint
for the Entra factory). The v2-issuer acceptance test drives the underlying
JwtValidator with a decoupled jwksUriOptions {type:'uri'} so issuer
validation uses the real login host while keys come from the local server.
Deterministic, no external network, and exercises the real fetch + RS256
verify path.
* test(msteams): fix cloud-environment import and drop unused jwks-rsa
The extensions test-types gate resolves @microsoft/teams.api's dual
.d.ts/.d.mts types strictly and does not see the root re-export of
withOverrides/PUBLIC (TS2305), so import them from the canonical
auth/cloud-environment subpath the SDK itself uses. The JWKS-server rework
also removed the last direct jwks-rsa import, so drop the now-unused
devDependency and refresh the lockfile (knip deadcode).
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-04 15:34:38 -07:00
Peter Steinberger
15499e7fc2
fix(qa): enable OpenAI for stored audio scenario ( #119349 )
2026-08-04 15:08:07 -07:00
Peter Steinberger
44f3747daa
test(slack): drop redundant .js-suffixed system-event mock ( #119352 )
...
The five monitor event suites each registered a second vi.mock for
"openclaw/plugin-sdk/system-event-runtime.js" alongside the extensionless
mock. The .js-suffixed subpath is not a declared export of the openclaw
package, so vitest fails suite collection with "not exported under the
conditions [node, development, import]" — taking down 42 suites before a
single test ran. The extensionless mock already intercepts the production
import, so the duplicate is removed.
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-04 15:04:49 -07:00
Peter Steinberger
f15120c6d1
fix(qa): carry selected runtime into flow scenarios ( #119324 )
...
* fix(qa): carry selected runtime into flow scenarios
* test(qa): align compaction runtime fact assertion
2026-08-04 13:51:35 -07:00
Vincent Koc
aa07d55ec9
fix(qa): align release scenario setup and compaction proof ( #119188 )
...
* fix(qa): align release scenarios with runtime contracts
* fix(qa): retain inferred model provider plugins
* fix(qa): accept default OpenClaw compaction runtime
2026-08-05 03:32:49 +08:00
Vincent Koc
8b443bb34f
test(llama-cpp): split inference mapping coverage
...
Punchcard-Session: frost-brook-timber-mx
2026-08-05 02:44:19 +08:00
Vincent Koc
220445b1b7
fix(llama-cpp): type shutdown cleanup failures
...
Punchcard-Session: frost-brook-timber-mx
2026-08-05 02:43:34 +08:00