Commit Graph

5963 Commits

Author SHA1 Message Date
kakahu
d70808433d Add structured Matrix approval metadata (#72432)
Merged via squash.

Prepared head SHA: 0e06533dff
Co-authored-by: kakahu2015 <17962485+kakahu2015@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
2026-04-27 14:52:02 -04:00
Vincent Koc
e864fd39cc fix(ci): narrow CodeQL critical scan (#72982) 2026-04-27 11:42:42 -07:00
Val Alexander
f7797ca62b chore: remove coven extension 2026-04-27 13:22:32 -05:00
Gustavo Madeira Santana
c5678194d4 docs(qa): document Telegram and Discord QA lanes against code
Both lanes had only one paragraph each in qa-e2e-automation.md. Adds a
"Telegram and Discord QA reference" section verified against
extensions/qa-lab/src/live-transports/{telegram,discord}/* with:

- shared CLI flags table (--scenario, --output-dir, --repo-root, --sut-account,
  --provider-mode, --model, --alt-model, --fast, --credential-source,
  --credential-role) — none of these were enumerated for either lane.
- Telegram QA: 8 scenario ids
  (telegram-canary/-mention-gating/-mentioned-message-reply/-help-command/
  -commands-command/-tools-compact-command/-whoami-command/-context-command),
  output artifact paths (telegram-qa-report.md, -summary.json,
  -observed-messages.json), and the redaction toggle.
- Discord QA: 3 scenario ids
  (discord-canary/-mention-gating/-native-help-command-registration), output
  artifact paths, and the SUT-application-id-must-match-bot-user-id check.
- Convex credential pool: documents Discord support (only Telegram was
  mentioned before) and the per-kind payload shapes for the
  admin/add validator. Cross-links to testing.md for the broker endpoint
  contract.

Slims the duplicate Operator-flow paragraphs for Telegram and Discord into a
single one-block pointer that links to the new reference section.
2026-04-27 13:48:03 -04:00
Gustavo Madeira Santana
dd1a94f089 docs(qa): reorg, audit against code, and refresh stale content
Reorg
- Rename the architecture page title to "QA overview" (slug stays
  /concepts/qa-e2e-automation so inbound links keep working).
- Move "Adding a channel to QA" + scenario-helper-name reference from
  testing.md into qa-e2e-automation.md under "Transport adapters". Architecture
  belongs with the architecture page.
- Drop the duplicate live-transport coverage table from testing.md; canonical
  copy stays in qa-e2e-automation.md under a new "Live transport coverage"
  heading so qa-matrix.md can deep-link to it.
- Slim testing.md QA-specific runners section to ops only, with cross-links.

Audit (against extensions/qa-lab/src/cli.ts, qa-channel/src/config-schema.ts,
and live-transport runtimes)
- qa-e2e-automation.md gains a "Command surface" table covering all 14
  openclaw qa <subcommand> forms; previously only ~7 of 14 were named.
- Document missing OPENCLAW_QA_TELEGRAM_CAPTURE_CONTENT and
  OPENCLAW_QA_DISCORD_CAPTURE_CONTENT env vars (Matrix already had it).
- Cross-link qa coverage from the Reporting section.
- qa-channel.md completes the config-key list (enabled, name, accounts,
  defaultAccount were missing from the schema doc) and pollTimeoutMs range.
- Drop stale "Follow-up work" framing in qa-channel.md (provider/model matrix,
  scenario discovery, orchestration) — all three already shipped.
- Replace "vertical slice" language with current behavior; fix misplaced
  debugger-UI paragraph.

Discoverability
- Add a Note callout to testing.md pointing at the three QA pages
  (QA overview, Matrix QA, QA channel) so maintainers landing on testing.md
  see the QA stack in the prologue.

Glossary entries for the renamed/new doc titles.
2026-04-27 13:40:11 -04:00
Gustavo Madeira Santana
abca187df5 docs(qa): add dedicated Matrix QA reference page
Adds a focused reference for the Docker-backed Matrix QA lane (CLI flags,
seven scenario profiles, eight env vars including the redaction toggle and
Tuwunel image override, scenario taxonomy, output artifact layout, and triage
tips). Source-of-truth checked against extensions/qa-matrix/src/cli.ts,
shared/live-transport-cli.ts, runners/contract/{runtime,scenario-catalog}.ts,
and substrate/harness.runtime.ts.

Registered in docs/docs.json alongside QA E2E automation.
2026-04-27 13:40:11 -04:00
Val Alexander
e3ad82d86d fix(control-ui): polish tweakcn theme imports
Summary:
- Improve Control UI tweakcn theme import parsing and labeling.
- Apply imported theme names consistently across appearance controls.
- Document tweakcn share link and slug import flows.

Verification:
- pnpm test ui/src/ui/custom-theme.test.ts ui/src/ui/views/config.browser.test.ts ui/src/ui/views/config-quick.test.ts ui/src/ui/app-settings.test.ts ui/src/ui/storage.node.test.ts
- pnpm check:changed
- pnpm --dir ui build
2026-04-27 12:24:14 -05:00
Val Alexander
fc8ccde542 feat(acp): add opt-in Coven runtime bridge
Add the opt-in Coven ACP runtime bridge as a bundled extension while keeping ACPX as the default path.

Security hardening included before merge:
- fail closed by default instead of silently falling back;
- bounded health/socket requests and daemon response sizes;
- fixed Coven socket trust anchor and symlink/path validation;
- reject untrusted harness/session/event ids before exposing them;
- sanitize daemon-controlled terminal/status/error strings;
- use incremental event polling with bounded dedupe state;
- clean up launched Coven sessions before fallback when daemon ids are invalid.

Validation:
- pnpm test extensions/coven/src/config.test.ts extensions/coven/src/client.test.ts extensions/coven/src/runtime.test.ts
- pnpm check:changed
- GitHub CI green on a64eac20b9
- Greptile Review green
2026-04-27 12:22:29 -05:00
Shakker
4ceae8262f fix: scope model provider discovery metadata to workspace 2026-04-27 18:04:54 +01:00
Shakker
4e7de4b5c9 feat: reuse current plugin metadata for provider discovery 2026-04-27 18:04:54 +01:00
Vincent Koc
efc3a52947 fix(sessions_spawn): tolerate ACP-only fields for subagent runtime
Preserve contributor credit and land the narrowed sessions_spawn ACP-field handling with follow-up transcript redaction and ACP resume ownership hardening. Targeted Blacksmith validation passed for the touched sessions/ACP tests.
2026-04-27 09:42:24 -07:00
Shakker
e535b313cd docs: document manifest alias suppression behavior 2026-04-27 17:13:11 +01:00
Shakker
5240422f03 docs: describe plugin metadata snapshot 2026-04-27 17:02:57 +01:00
loongfay
3120401f53 feat(channel) yuanbao (#72756)
* feat(channel) yuanbao

* feat(channel) yuanbao

* docs(changelog): note Yuanbao channel plugin (#72756) (thanks @loongfay)

---------

Co-authored-by: loongzhao <loongzhao@tencent.com>
Co-authored-by: sliverp <870080352@qq.com>
2026-04-27 23:04:33 +08:00
Peter Steinberger
dc859584a3 fix(gateway): honor all_proxy in env dispatcher 2026-04-27 15:36:12 +01:00
Shakker
6985c6751c fix: make npm global updates atomic 2026-04-27 15:27:43 +01:00
Peter Steinberger
9090457da7 test(plugin-sdk): use narrow config runtime mocks 2026-04-27 15:14:02 +01:00
Peter Steinberger
016a0b4de9 fix(gateway): avoid echoing rotated device tokens 2026-04-27 15:10:05 +01:00
Peter Steinberger
d69eeeb2a8 fix: skip test-only plugin install scan findings 2026-04-27 15:00:55 +01:00
Peter Steinberger
4336a7f3a9 refactor(plugin-sdk): narrow config runtime imports 2026-04-27 14:58:32 +01:00
Peter Steinberger
1f7b7c249a fix(google-meet): grant browser media permissions 2026-04-27 14:54:07 +01:00
Peter Steinberger
2e99c1d227 fix(subagents): enforce explicit spawn allowlists 2026-04-27 14:53:17 +01:00
Peter Steinberger
877b5a14f1 fix(sessions): batch store cap maintenance 2026-04-27 14:51:53 +01:00
Peter Steinberger
0ac0357486 docs(memory): explain qmd collection compatibility 2026-04-27 14:44:01 +01:00
Peter Steinberger
e035300d8e fix(acp): allow manual spawn with dispatch paused 2026-04-27 14:40:12 +01:00
Peter Steinberger
4ebec8b5dc fix(memory): group qmd collection searches 2026-04-27 14:37:12 +01:00
Peter Steinberger
ad0f600450 fix(gateway): avoid systemd service split-brain 2026-04-27 14:32:49 +01:00
Peter Steinberger
c00ef238be docs(tools): clarify sessions_spawn profile gating 2026-04-27 14:31:54 +01:00
Peter Steinberger
73ba282b54 docs(memory): clarify qmd mask compatibility 2026-04-27 14:26:56 +01:00
Peter Steinberger
2243a68a1d ci: shard release live validation 2026-04-27 14:24:10 +01:00
Peter Steinberger
f6bda8d36b refactor(providers): share Claude thinking profiles 2026-04-27 14:23:12 +01:00
Peter Steinberger
93bbbe5e37 feat: add browser realtime talk transports 2026-04-27 14:22:32 +01:00
Peter Steinberger
5dd1e264eb refactor(config): tighten plugin config guardrails 2026-04-27 14:20:27 +01:00
Peter Steinberger
67a447c175 refactor: tighten plugin runtime sdk boundaries 2026-04-27 14:15:53 +01:00
Peter Steinberger
b181930c23 fix(memory): skip qmd vectors in lexical mode 2026-04-27 14:09:42 +01:00
Peter Steinberger
57401f1581 fix(google-meet): use OpenClaw browser for local joins 2026-04-27 14:03:46 +01:00
Peter Steinberger
fd4b59a906 ci: keep release checks compatible with stable refs 2026-04-27 13:59:49 +01:00
Peter Steinberger
df65a75f92 fix(memory): avoid live embedding probes in status 2026-04-27 13:55:51 +01:00
Peter Steinberger
1fbe83d09f fix: keep link understanding from dropping replies 2026-04-27 13:45:05 +01:00
Peter Steinberger
770978b8d3 build(config): refresh generated schema baseline 2026-04-27 13:42:12 +01:00
Peter Steinberger
2d90dbe512 docs: add release feature redirect URLs 2026-04-27 13:40:00 +01:00
Peter Steinberger
f3528e7755 fix(openrouter): retire stealth model catalog entries 2026-04-27 13:36:49 +01:00
Peter Steinberger
0931a1f11e ci: fix release validation dispatch and protocol drift 2026-04-27 13:32:03 +01:00
Peter Steinberger
252c63429e fix(providers): map native reasoning efforts 2026-04-27 13:27:58 +01:00
Peter Steinberger
98b441edb1 ci: split release docker integration chunks 2026-04-27 13:24:30 +01:00
Peter Steinberger
750c180a6c fix(ollama): warn on WSL2 CUDA crash loop risk 2026-04-27 13:24:04 +01:00
Peter Steinberger
0a076bc0fc fix: isolate malformed plugin tools 2026-04-27 13:22:28 +01:00
Peter Steinberger
7fb2a356e8 fix(nodes): allow removing stale paired nodes 2026-04-27 13:20:52 +01:00
Peter Steinberger
cff1bdb491 ci: trim duplicate release package lanes 2026-04-27 13:15:10 +01:00
Peter Steinberger
4260bb0418 fix: quarantine invalid plugin configs 2026-04-27 13:14:59 +01:00