Commit graph

55 commits

Author SHA1 Message Date
Vincent Koc
d563101a82
refactor(deadcode): localize test and tooling helpers (#101875) 2026-07-07 13:45:26 -07:00
Vincent Koc
07a765522a
test(mcp): bind channel non-owner gateway client 2026-07-07 09:39:26 +02:00
Alex Knight
87a17920a0
fix(diagnostics-otel): surface error message on run/harness error spans (#101244)
* fix(diagnostics-otel): surface error message on run/harness error spans

Errored openclaw.run / openclaw.harness.run spans only carried a
low-cardinality errorCategory (or a hardcoded "error"), so trace UIs
showed "outcome error" with no message. Thread the redacted error
message through run.completed / harness.run.completed / harness.run.error
onto an openclaw.error span attribute + span status, mirroring
recordWebhookError. The raw message stays off metric attrs to preserve
cardinality; support-bundle redaction covers the new error field by name.

* fix(diagnostics-otel): harden run failure telemetry

Co-authored-by: Alex Knight <aknight@atlassian.com>

* test(diagnostics-otel): assert wire-level redaction

* chore(changelog): defer release note to release process

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-07 04:29:39 +01:00
Vincent Koc
74bb2ad7a5
fix(package): reuse bundled artifact for install smoke 2026-07-07 02:31:09 +02:00
Dallin Romney
95e3b9243b
test: execute media and Talk runtime boundaries (#101091)
* test: execute media and Talk runtime boundaries

* test(qa): centralize gateway fixture startup

* test(qa): check in voice call plugin fixture
2026-07-06 16:25:33 -07:00
Dallin Romney
66b4dcf184
chore(docker): execute Compose and package artifact proofs (#101045)
* test(docker): prove Compose and package artifacts

* test(docker): use bounded container cleanup

* test(docker): bound package proof launch

* test(qa): keep Docker artifact proofs release-only

* test(docker): simplify artifact proof names

* test(docker): satisfy identity writer lint
2026-07-06 13:05:34 -07:00
Dallin Romney
2f7299eaa5
test(qa): add provider runtime evidence (#101051) 2026-07-06 13:01:32 -07:00
Vincent Koc
c4a862ab53
fix(release): package legacy candidates without AI workspace (#100469) 2026-07-05 15:19:00 -07:00
Peter Steinberger
1f484a8dbd test: speed up and stabilize full suite 2026-07-05 08:00:23 -04:00
Vincent Koc
5f2df24619
fix(qa): run gateway MCP producer from source checkout 2026-07-05 11:27:59 +02:00
Vincent Koc
c22270a917
fix(build): restore package artifact declarations (#100249)
* fix(build): restore package artifact declarations

* fix(build): stage plugin sdk strict smoke artifacts

* test(exec): accept resolved safe-bin paths

* test(qa): type missing delivery metadata regression

* fix(build): restore llm runtime tsdown root

* fix(build): drop removed llm runtime tsdown root
2026-07-05 02:22:11 -07:00
Vincent Koc
97935832ab
test(qa): keep bundle MCP policy proof packaged 2026-07-05 08:44:52 +02:00
Vincent Koc
10877c1573
test(qa): tolerate delayed MCP channel event poll 2026-07-05 08:09:32 +02:00
Peter Steinberger
062f88e3e3
refactor: extract reusable AI runtime package (#99059)
* refactor: extract reusable AI runtime package

* refactor: complete AI provider relocation

* refactor: keep llm core internal

* refactor(ai): make @openclaw/ai self-contained with host policy ports

Move pure transport helpers (tool projections, strict-schema normalization,
prompt-cache boundary, stream guards, anthropic/openai compat, request
activity) from src into packages/ai; move utf16-slice into
normalization-core. Inject host policy (guarded fetch, redaction,
strict-tool defaults, diagnostics logging) through AiTransportHost with
inert library defaults installed by src/llm/stream.ts. Narrow the public
barrel to instance-scoped createApiRegistry/createLlmRuntime; the
process-default runtime moves behind internal/ and
registerBuiltInApiProviders takes an explicit registry. Delete the
src/llm/api-registry re-export facade.

* fix(ai): teach node, jiti, and vite resolvers the @openclaw/ai and utf16-slice subpaths

The workspace alias tables in root-alias.cjs, plugin-sdk-native-resolver,
sdk-alias, the shared vitest config, and the Control UI vite config only
knew @openclaw/llm-core; Node-side plugin loading resolved @openclaw/ai
through the pnpm symlink to the unbuilt dist (checks-node-compact CI
failures), and the Control UI build broke on the new
normalization-core/utf16-slice subpath.

* chore(ui): drop leftover service-worker debug logging

* build(release): ship @openclaw/ai with its own shrinkwrap and honest dependency set

packages/ai declares only its six real runtime deps (kysely, chalk, json5,
tslog, zod, fs-safe, and proxyline were never imported); orphaned root deps
removed. generate-npm-shrinkwrap now treats publishable packages/* like
publishable plugins so the AI tarball pins its transitive tree even though
workspace deps are omitted from the root shrinkwrap. knip learns the
package entry points; the tsdown dts neverBundle option moves to its
documented deps.dts home; the README documents the no-semver internal/*
contract and host ports.

* docs(ai): add minimal external-consumer example app

examples/ai-chat consumes only the public @openclaw/ai surface (built dist
via the workspace link): isolated runtime, built-in provider registration,
one streamed completion. Supports Anthropic/OpenAI via env keys and a
keyless local Ollama target; live-verified against Ollama.

* docs(ai): document the @openclaw/ai package and workspace shrinkwrap boundary

* chore(check): include examples/ in duplicate-scan targets

* fix: emit normalization package subpaths

* fix: complete AI package boundary artifacts

* fix: align AI package boundary contracts

* fix(ci): stabilize package release contracts

* test: align documentation contract checks

* test: keep cron docs guard aligned

* test: align restored docs contract guards

* test: follow upstream docs contracts

* docs: drop superseded talk wording
2026-07-05 01:56:40 -04:00
Dallin Romney
fab30c352e
test(qa): exercise real cli channel picker (#99717) 2026-07-04 10:48:49 -07:00
Dallin Romney
26cb189276
fix(qa): stabilize primary smoke runtime evidence (#99784)
* fix(qa): restore fast smoke profile evidence

* fix(qa): reuse one package across smoke Docker lanes

* fix(qa): keep OTEL smoke output repo-relative
2026-07-03 20:59:48 -07:00
Dallin Romney
9d68f877ac
test(qa): run gateway and MCP scenarios over real transports (#99735) 2026-07-03 20:26:16 -07:00
Dallin Romney
3b4092dbaa
test: add executable runtime fixture canaries (#99737)
* test(qa): add runtime fixture canaries

* test(voice-call): track fixture temp directories
2026-07-03 20:22:40 -07:00
Dallin Romney
ab9e233d02
improve(qa): execute runtime scenarios through Docker (#99705)
* test(qa): run Docker runtime scenarios end to end

* test(qa): keep plugin lifecycle probe runtime-only
2026-07-03 18:13:28 -07:00
Dallin Romney
7a92eb7a37
fix(build): generate plugin sdk declarations for docker package (#99710) 2026-07-03 16:59:04 -07:00
Vincent Koc
f53fdb688d
fix(qa): restore package docker gates 2026-07-04 01:56:21 +02:00
Dallin Romney
0cd936cc77
test(qa): redact script evidence diagnostics (#99629) 2026-07-03 15:42:33 -07:00
Dallin Romney
5361e5a0b4
test(qa): share script evidence writer (#99374) 2026-07-03 12:59:23 -07:00
Agustin Rivera
b885c81479
fix(mcp): require owner for Claude permission replies (#98256)
* fix(mcp): require owner for Claude permission replies

* fix(mcp): prove owner-gated permission replies
2026-06-30 13:58:02 -07:00
Dallin Romney
fd3f354f46
test(qa): expand docker lane adapter (#97937)
* test(qa): expand docker lane adapter

* Extract QA Docker lane fixture
2026-06-29 17:08:43 -07:00
Dallin Romney
05d83125c9
test: add hosted media provider QA live evidence (#97900) 2026-06-29 13:01:47 -07:00
Dallin Romney
80a3c515fd
test: add ClawHub release candidate QA proof (#97896)
* test: add ClawHub release candidate QA proof

* test: harden ClawHub release candidate evidence
2026-06-29 11:14:09 -07:00
Dallin Romney
96c8338d5b
test: fold remaining Docker lanes into QA (#97708) 2026-06-29 00:39:06 -07:00
Dallin Romney
18f0eeab20
test: fold webchat auto tts proof into qa (#97632) 2026-06-28 23:20:13 -07:00
Dallin Romney
a202dd0faf
test: link mcp gateway transport coverage (#97609) 2026-06-28 19:20:15 -07:00
Vincent Koc
a96418c65f
fix(qa): isolate OTEL collector telemetry port 2026-06-24 08:11:43 +02:00
Vincent Koc
5078ffdeb4
fix(qa): reject duplicate gateway smoke options 2026-06-23 14:52:37 +02:00
Vincent Koc
d38fb7456a
fix(qa): reject duplicate otel smoke options 2026-06-23 14:46:43 +02:00
Vincent Koc
7cc0879d0e
fix(qa): reject duplicate docker package options 2026-06-23 14:24:41 +02:00
Vincent Koc
67b26126ce
fix(qa): avoid direct smoke artifact collisions 2026-06-23 11:29:24 +02:00
Vincent Koc
e913e0739d
fix(scripts): clamp openwebui probe timers 2026-06-22 04:11:45 +02:00
Vincent Koc
29eba5aaef
fix(test): clamp qa otel child timer 2026-06-22 03:12:25 +02:00
Vincent Koc
851b65c060
fix(scripts): clamp package docker timers 2026-06-22 02:47:41 +02:00
Vincent Koc
3bae0d6b82
fix(qa): reject short flag gateway smoke values 2026-06-21 22:40:40 +02:00
Vincent Koc
6daf9307e0
fix(scripts): reject short flag docker package values 2026-06-21 21:24:30 +02:00
Vincent Koc
d3c907193f
fix(test): route qa otel smoke parser 2026-06-21 18:26:26 +02:00
Vincent Koc
8c9c8aad2e
fix(qalab): resolve taskkill from system32 in cleanup probes 2026-06-21 09:24:16 +02:00
Vincent Koc
604aa30189
fix(qa): taskkill lifecycle probe trees on windows 2026-06-21 08:12:29 +02:00
Dallin Romney
5dd30c3995
test: fold HTTP API script proof into QA Lab (#94700)
* test: fold HTTP API script proof into QA Lab

* test: remove folded HTTP API script tests

* test: relax QA native scenario catalog inventory

* test: trim folded QA Lab script cruft

* test: align folded QA coverage ids

* test: keep native QA evidence out of parity tiers

* test: update mirrored QA routing expectation

* test: preserve chat tools profile build guard

* test: avoid overclaiming gateway tool API coverage

* test: pin folded QA coverage ids
2026-06-20 23:10:35 -07:00
Vincent Koc
3632c62f85
fix(qa): isolate OTEL smoke exporter env 2026-06-20 19:14:06 +02:00
Vincent Koc
7cd58cca2a
fix(qa-lab): keep lifecycle probe timeout trees tracked 2026-06-20 11:58:14 +02:00
Vincent Koc
bd5a5a0cfc
fix(test): preserve lifecycle probe timeout failures 2026-06-20 10:38:46 +02:00
Vincent Koc
7dca9210c9
fix(test): guard dev smoke cli args 2026-06-20 02:28:04 +02:00
Vincent Koc
0e980be284
fix(package): ignore stale packed tarballs (#95126) 2026-06-20 07:49:25 +08:00
Vincent Koc
f9f94e7dcd
fix(test): stream QA Lab stdout artifacts (#95119)
* fix(test): bound QA Lab stdout artifact reads

* fix(test): scan QA Lab stdout artifacts incrementally
2026-06-20 07:16:14 +08:00