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