Commit Graph

143 Commits

Author SHA1 Message Date
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
Vincent Koc 4d9c249d40 test(qa): allow restart startup diagnostics (#119928)
Punchcard-Session: quiet-valley-meadow-gq
2026-08-06 19:56:22 +08:00
Vincent Koc beda1e97c6 fix(onboarding): honor external gateway supervision (#119846)
Punchcard-Session: quiet-meadow-timber-mj
2026-08-06 17:26:43 +08:00
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
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 db8e95f70b test(qa): cover managed OTEL runtime paths (#118965)
* test(qa): cover managed OTEL runtime paths

* test(qa): prove OTEL flush clamp

* test(qa): clean up OTEL runtime fixtures

* test(qa): share OTLP runtime support

* test(qa): harden managed OTEL install proof

* test(qa): align OTEL runtime fixtures

* test(qa): expose OTEL runtime failures

* test(qa): align OTEL runtime boundaries

* test(qa): bound fixture registry shutdown

* test(qa): isolate managed OTEL plugins

* test(qa): start managed OTEL from no plugins

* test(qa): launch managed OTEL from built dist

* test(qa): read managed plugin index from state root

* test(qa): align OTEL runtime agents and types

* test(qa): stage managed plugin packages in scratch

* test(qa): verify OTEL span ancestry

* test(qa): support multiple OTEL harness spans

* test(qa): prove OTEL delivery and preload spans

Punchcard-Session: crisp-lantern-orchard-nv

* test(qa): align OTEL delivery proof with channel boundary

Punchcard-Session: crisp-lantern-orchard-nv

* test(qa): resolve OTEL preload through fixture modules

* test(qa): isolate sampled OTEL export proof
2026-08-05 14:53:45 +08: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
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
Vincent Koc e0799199b3 test(qa): cover sandboxed exec behavior (#119053) 2026-08-04 14:36:03 +08:00
Vincent Koc 3f2fb7e365 test(qa): cover gateway plugin approvals (#119128) 2026-08-04 14:07:29 +08:00
Vincent Koc 12beeb7b29 test(qa): cover packaged browser profiles (#119043) 2026-08-04 11:13:05 +08:00
Vincent Koc 7f766550a1 test(qa): prove agent tool approval controls (#119029) 2026-08-04 11:02:17 +08:00
Vincent Koc 6b66866fe8 test(qa): prove agent session scope continuity (#119032) 2026-08-04 09:52:39 +08:00
Vincent Koc fc1913defe test(qa): prove workspace mutation tools (#119021) 2026-08-04 09:52:31 +08:00
Vincent Koc ada473e560 test(qa): cover agent session streaming (#119028) 2026-08-04 09:24:44 +08:00
Vincent Koc 5a59bb07b3 test(qa): cover sandbox workspace isolation (#119038) 2026-08-04 09:21:54 +08:00
Vincent Koc b4faa5aa5e chore(gateway): cover update and setup RPCs
* test(gateway): cover update and setup RPCs

* test(gateway): cover target wizard lifecycle

* test(gateway): normalize QA fixture ownership

* test(gateway): include historical dist closure

* test(gateway): isolate historical update fixture

* test(qa): align target wizard lifecycle proof

* test(qa): read structured gateway call errors
2026-08-04 09:15:55 +08:00
Vincent Koc 6419711eb3 test(qa): cover direct tool invocation (#119025) 2026-08-04 09:01:46 +08:00
Vincent Koc 945597bb81 test(qa): cover agent session reconnect dedupe (#119013) 2026-08-04 08:25:06 +08:00
Vincent Koc 1520b839f3 test(qa): prove gateway chat RPCs (#118988) 2026-08-04 08:19:14 +08:00
Vincent Koc e110b56007 test(qa): cover Gateway usage and memory APIs (#118995) 2026-08-04 07:10:56 +08:00
Vincent Koc 3bbc4ad085 test(qa): cover managed gateway service lifecycle (#118855) 2026-08-04 07:07:27 +08:00
Vincent Koc 06b5f0b2ff test(qa): cover CLI onboarding and plugin install sources (#118882)
* test(qa): cover CLI onboarding and plugin sources

* test(qa): assert npm file plugin source

* test(qa): redact onboarding password assertion

* test(qa): retain onboarding evidence log
2026-08-04 06:54:42 +08:00
Vincent Koc ba2764a256 test(qa): cover remote logging boundaries (#118951)
* test(qa): cover remote logging boundaries

* test(qa): tolerate gateway log interleaving

* test(qa): satisfy logging type guards

* test(qa): always stop log follow child
2026-08-04 06:53:49 +08:00
Vincent Koc 2da6cb0f01 test(gateway): verify SSH tunnel fallback (#118818)
* test(gateway): cover SSH tunnel fallback

* test(gateway): expose SSH startup diagnostics

* test(gateway): permit key auth for Testbox user

* test(gateway): remove unused SSH target helper

* test(gateway): serialize shared SSH state

* test(gateway): coordinate overlapping SSH producers

* test(gateway): isolate SSH trust state

* test(gateway): require Testbox for SSH fixture
2026-08-04 06:38:23 +08:00
Vincent Koc 51f6b8f5f8 test(qa): cover health monitor and cache boundaries (#118961) 2026-08-04 06:17:16 +08:00
Vincent Koc 0483ca712b test(qa): cover runtime telemetry evidence (#118950)
* test(qa): add telemetry runtime evidence

* test(qa): fix telemetry evidence typecheck
2026-08-04 06:11:07 +08:00
Vincent Koc a2e0eea58c test(gateway): cover node exec approval relay (#118825)
Adds real Gateway QA coverage for node exec approval get/set forwarding, malformed payload rejection, and paired-node ownership fencing.
2026-08-04 06:06:25 +08:00
Vincent Koc aff3909db6 test(qa): cover diagnostic event boundary (#118844) 2026-08-04 06:01:56 +08:00
Vincent Koc 6ab556919e test(gateway): cover WebSocket runtime contracts (#118797) 2026-08-04 06:01:34 +08:00
Vincent Koc 95f7777b42 test(qa): cover support export and stability (#118956) 2026-08-04 05:53:13 +08:00
Vincent Koc d0194ee7e1 test(gateway): prove TLS certificate pinning (#118812)
* test(gateway): prove TLS certificate pinning

* test(gateway): fix TLS pinning proof types

* test(gateway): observe published TLS fingerprint

* test(gateway): load TLS discovery probe explicitly

* test(gateway): keep QA assertion typed
2026-08-04 05:44:00 +08:00
Vincent Koc 082e9e793e test(qa): cover tool policy and sandbox gates (#118925) 2026-08-04 05:43:33 +08:00
Vincent Koc a36aa23c2c test(gateway): cover hosted web surfaces (#118870)
* test(gateway): cover hosted web surfaces

* test(gateway): use shared temp cleanup

* test(gateway): respect plugin test boundaries
2026-08-04 05:31:06 +08:00
Vincent Koc 16635fa9c7 test(qa): cover gateway exec approvals (#118872) 2026-08-04 05:23:28 +08:00
Vincent Koc 99c5ea79ab test(gateway): cover task and automation RPCs (#118966) 2026-08-04 05:23:15 +08:00
Vincent Koc e4b6bde45a test(gateway): cover agent and artifact APIs (#118889) 2026-08-04 05:18:47 +08:00
Vincent Koc 950872b9e0 test(qa): prove gateway catalog RPCs (#118808)
* test(qa): cover gateway identity and presence RPCs

* test(qa): cover gateway model catalog RPC

* test(qa): cover gateway tool and skill catalogs

* test(qa): track gateway RPC temp dirs

* test(qa): authenticate identity RPC proof
2026-08-04 05:17:22 +08:00
Vincent Koc 5b1b1e0632 test(qa): cover CLI distribution workflows (#118948) 2026-08-04 05:09:39 +08:00
Vincent Koc 1cb030f1a9 test(gateway): cover client transport defaults (#118798) 2026-08-04 04:58:05 +08:00
Vincent Koc 7a97997b61 test(gateway): add node control-plane QA coverage (#118784)
* test(gateway): promote remote host command proof

* test(gateway): cover node control plane

* test(gateway): narrow connected operator client

* test(gateway): use public QA harness
2026-08-04 04:38:02 +08:00
Vincent Koc 317320a95e test(gateway): add HTTP API QA coverage (#118809) 2026-08-04 04:00:54 +08:00
Vincent Koc 3c858f7a92 test(qa): cover OpenClaw exec process lifecycle (#118819) 2026-08-04 03:50:05 +08:00
Vincent Koc f1a87bf364 test(gateway): cover loopback and LAN access (#118824) 2026-08-03 19:39:51 +00:00
Vincent Koc 7741cbdaa7 test(gateway): cover published protocol artifacts (#118799)
* test(gateway): cover published protocol artifacts

* test(gateway): isolate Swift artifact proof

* test(gateway): compile Swift models portably

* test(gateway): align protocol metadata fixture

* test(gateway): install packed protocol as consumer
2026-08-04 03:26:29 +08:00
Vincent Koc cce2d632c9 test(gateway): cover event and protocol authorization (#118810)
* test(gateway): cover event and protocol authorization

* test(gateway): match websocket close contract
2026-08-04 03:24:18 +08:00
Vincent Koc 592dbf74d7 test(qa): add session transcript primary coverage (#118820)
* test(qa): prove session transcript CLI management

* test(qa): register SQLite transcript durability proof
2026-08-04 02:41:09 +08:00
Peter Steinberger ecc49b5a87 refactor(tts): absorb speech core package (#118513)
* refactor(tts): absorb speech core package

* fix(tts): preserve runtime SDK exports

* refactor(tts): remove private package exports

* test(tts): align canonical runtime mocks

* test(tts): complete canonical settings mocks

* chore(plugin-sdk): regenerate API baseline for #118513
2026-08-03 02:25:48 -07:00
Peter Steinberger 9b8e50b9f6 refactor(scripts): consolidate redundant tooling paths (#118259) 2026-08-02 16:20:09 -07:00
Peter Steinberger 7866ecae4b fix(release): keep npm 12 pack checks working (#118209)
* fix(release): accept npm 12 pack json

* fix(release): share npm pack normalizer in plugin workflow
2026-08-02 14:57:49 -07:00