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
Jason (Json)
47ce26985d
fix(ui): preserve profile avatars under Control UI base paths ( #119308 )
...
* fix(ui): preserve active session status layout
* fix(ui): preserve avatar paths and fork lineage
* fix(ui): preserve avatars under control UI base paths
2026-08-05 00:31:04 -06: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
Jason (Json)
77f7560b41
fix(gateway): prevent chat metadata from blocking concurrent RPCs ( #119369 )
...
* fix(gateway): serve chat metadata from prepared snapshots
* fix(gateway): make chat metadata replacement atomic
* fix(gateway): keep metadata contract cycle-free
* fix(gateway): settle coalesced metadata replacement
* fix(gateway): retry invalidated metadata projections
* fix(gateway): terminate unowned metadata invalidation
2026-08-05 00:10:18 -06:00
Peter Steinberger
dca3ed16de
fix: adopt Tailscale names and avatars into user profiles ( #119479 )
...
* fix(gateway): adopt Tailscale profile identities
* fix(gateway): normalize Tailscale identity subjects
* fix(gateway): preserve Tailscale identity provenance
* fix(gateway): detach Tailscale avatar adoption
2026-08-04 23:09:06 -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
wangyan2026
20bd49db89
fix(pairing): normalize account key in legacy allowFrom filename parsing ( #110415 )
...
* [AI] fix(pairing): normalize account key in legacy allowFrom filename parsing
parseAllowFromFilename extracted the account segment from filenames
without normalizing it via safeAccountKey, so non-canonical spellings
(e.g. HY_RIN_Bot vs hy_rin_bot) could never match configured accounts.
This left the file unresolved, producing a startup migration warning
that blocks gateway readiness on every restart.
Normalize accountKey via safeAccountKey before comparing so that raw
and canonical spellings resolve to the same account. Wrap in try/catch
so pathological filename segments skip safely instead of throwing.
Guard non-canonical DEFAULT segments: when safeAccountKey maps a
non-literal-default segment (e.g. "DEFAULT") to the canonical key
"default", skip the filter so the file remains unresolved instead of
being attributed to the implicit bundled default account and deleted.
Keep the implicit bundled-default fallback on the literal canonical
suffix (accountKey === DEFAULT_ACCOUNT_ID). Ambiguity detection
remains unchanged.
Related to #110187
* fix(pairing): constrain legacy filename recovery
Co-authored-by: WangYan <wang.yan29@xydigit.com >
* fix(pairing): preserve case-colliding legacy files
Co-authored-by: WangYan <wang.yan29@xydigit.com >
* fix(pairing): match legacy files to raw account ids
Co-authored-by: WangYan <wang.yan29@xydigit.com >
* fix(pairing): keep default suffix literal
Co-authored-by: WangYan <wang.yan29@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-04 22:59:30 -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
Vincent Koc
eb39ac8cac
fix(plugins): keep install fixtures registry-valid ( #119489 )
...
Punchcard-Session: amber-workshop-river-yr
2026-08-05 13:26:02 +08:00
Xiaoshuai Zhang
72fd25d47d
fix(gateway): connect bootstrap clients to self-signed WSS ( #80204 )
...
* fix(gateway): propagate TLS pins to bootstrap clients
Co-authored-by: Xiaoshuai Zhang <dev@jetd.one >
Punchcard-Session: cobalt-brook-meadow-m9
* fix(gateway): keep TLS loader type private
Punchcard-Session: cobalt-brook-meadow-m9
* fix(gateway): preserve TLS pin transport policy
Punchcard-Session: cobalt-brook-meadow-m9
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
Co-authored-by: Xiaoshuai Zhang <dev@jetd.one >
2026-08-05 13:19:27 +08:00
ml12580
ae41dcef54
fix: auto-reply gateway stalls in a zero-work drain loop after a queue drop policy change ( #119331 )
...
* fix(auto-reply): preserve pending overflow summaries
Co-authored-by: ml12580 <long.xinyuan3@xydigit.com >
* fix(auto-reply): record queue cap outcomes
* fix(auto-reply): align summary lines with sources
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-04 22:19:19 -07: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
Jason (Json)
141a16f7b3
fix(sessions): release writer lane during transcript archival ( #119460 )
2026-08-04 23:13:58 -06:00
Jason (Json)
4b7a989a8b
fix(ui): make new-session model metadata state truthful ( #119462 )
2026-08-04 23:12:02 -06:00
pash-openai
75ef5aebec
Keep Slack progress and final replies in one message ( #119376 ) ( #119480 )
2026-08-04 21:49:38 -07:00
Vincent Koc
a1d20ae31b
test(tui): cover session lifecycle and resume ( #119465 )
...
Punchcard-Session: ember-workshop-lantern-bs
2026-08-05 12:16:06 +08:00
Peter Steinberger
c925634ae8
refactor(ui): share sidebar conversation menu rendering ( #119452 )
2026-08-04 21:09:41 -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
Peter Steinberger
752dd2b5b8
refactor(cli): consolidate repeated command registration ( #119434 )
2026-08-04 20:51:32 -07:00
Cuttingwater
f0a74970ec
fix(system-agent): apply approved proposal exactly once ( #119389 )
...
Co-authored-by: Chris Davidson <chris.davidson.47@gmail.com >
2026-08-04 23:48:18 -04:00
Peter Steinberger
39bbd8afd3
refactor(sessions): consolidate transcript and state helpers ( #119435 )
2026-08-04 20:45:41 -07:00
Peter Steinberger
2692954c72
refactor(infra): consolidate service paths and usage rollups ( #119433 )
2026-08-04 20:39:53 -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
Yuval Dinodia
3bda007ca4
fix(mcp): guard stdio stdout frame parsing against oversized-buffer crash ( #119379 )
...
…rash
An MCP server whose stdout frame exceeds the SDK ReadBuffer 10 MiB cap makes
ReadBuffer.append throw synchronously inside the child stdout data callback.
The handler had no try/catch, so the error escaped as an uncaughtException and
took down the host process, killing every concurrent session. The frame size is
driven by tool-result data a lower-privileged sender can influence, not by the
operator who chose the server.
Wrap append and processReadBuffer in the same try/catch the upstream SDK
transport uses: route the error to onerror and close the transport so the MCP
runtime handles it as a server disconnect. This matches the existing stdin
(#75438 ) and stderr (#99803 ) guards in this file; stdout was the missed path.
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-08-04 22:29:30 -05:00
Peter Steinberger
c4dccc614d
refactor(auto-reply): centralize delivery deduplication and routing ( #119436 )
2026-08-04 20:29:21 -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
Peter Steinberger
a5ebadc293
refactor(media): share image and video geometry normalization ( #119416 )
2026-08-04 20:23:25 -07:00
Vincent Koc
9371dddcdb
fix(config): preserve plugin metadata for missing config ( #119421 )
...
Restore plugin metadata for valid missing-config snapshot reads while preserving scan-free plain reads and fail-closed invalid snapshots.
2026-08-05 11:22:42 +08: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
Vincent Koc
fd1662f49c
fix(cli): retire invalid secret flags and prove doctor recovery ( #118926 )
...
* test(qa): add doctor CLI recovery coverage
* test(qa): secure doctor exec SecretRef proof
* test(qa): gate doctor systemd recovery proof
* test(qa): normalize doctor terminal output
* test(qa): close doctor probe sockets
* test(qa): classify doctor probe as foreign
* test(qa): track doctor probe sockets
* test(qa): retain doctor instance narrowing
* test(qa): preserve observed doctor recovery proof
* test(qa): keep doctor recovery on stable dist
* test(qa): honor Windows exec ACL blocking
* test(qa): use canonical home for systemd recovery
* test(qa): follow bounded gateway recovery
* test(qa): accept lifecycle service label
* test(qa): align doctor recovery contract
Punchcard-Session: crisp-lantern-orchard-nv
* docs(secrets): remove retired provider bypasses
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate doctor recovery target
Punchcard-Session: crisp-lantern-orchard-nv
* fix(cli): retire invalid secret provider flags
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate doctor supervisor mode
Punchcard-Session: crisp-lantern-orchard-nv
* fix(plugins): remove dead secret path bypass
Punchcard-Session: crisp-lantern-orchard-nv
* chore: drop release-owned changelog entry
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate doctor sudo scope
Punchcard-Session: crisp-lantern-orchard-nv
* fix(secrets): remove dead path bypass
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate systemd user bus
Punchcard-Session: crisp-lantern-orchard-nv
2026-08-05 11:20:23 +08:00
Peter Steinberger
0ef1911192
refactor(signal): share outbound and reaction transport ( #119415 )
2026-08-04 20:19:33 -07:00
Peter Steinberger
a8caab5c3d
refactor(plugin-sdk): remove unused private QA helpers ( #119437 )
2026-08-04 20:16:07 -07:00
Peter Steinberger
1f3d45b76f
refactor(plugins): consolidate lifecycle hook dispatch ( #119429 )
2026-08-04 20:11:22 -07:00