Commit Graph

6572 Commits

Author SHA1 Message Date
Peter Steinberger c7b7fe4c32 fix(codex): restore continuity test coverage (#120452)
* test(codex): align run history fixture identity

* test(ci): repair gateway fixture checks
2026-08-07 23:39:26 -07:00
Peter Steinberger 733512b612 fix(e2e): expose beta companions in survivor registries and unbind ReDoS timing from shell startup (#120479) 2026-08-07 22:12:00 -07:00
Peter Steinberger c98bd2287b ci(release): retry child-run adoption through read-after-write lag (#120477) 2026-08-07 22:00:25 -07:00
Peter Steinberger b855934ee4 fix(test): isolate embedded runner SQLite state (#120459) 2026-08-07 21:35:11 -07:00
Peter Steinberger 263ad629c1 fix(build): keep CLI help fallback asynchronous (#120454) 2026-08-07 21:28:52 -07:00
Peter Steinberger 8b8058a68b fix(release): supply exact Codex companions to cross-OS checks and repair legacy node-host metadata (#120442)
* fix(release): supply exact Codex companions to cross-OS checks and repair legacy node-host metadata

* test(release): align async run title rejection
2026-08-07 20:06:53 -07:00
Dallin Romney 2f1692c955 fix(release): accept verified companion plugin packages (#120186) 2026-08-07 19:18:20 -07:00
Peter Steinberger 6a6cd7859f test(qa): cover session and Workboard managed-worktree lifecycles; fix symlinked state-dir lock blindness (#120362)
* fix(agents): canonicalize managed worktree paths

* test(qa): cover managed worktree owner lifecycles

* test(agents): split worktree canonical-path regression into focused file

* fix(doctor): canonicalize persisted managed-worktree paths for symlinked state dirs

* fix(doctor): keep worktree path migration detection read-only

* test(doctor): bound managed-worktree migration product proof

* fix(doctor): keep worktree path detection from creating state dirs

* test(doctor): allow state migration detection under CI load

* test(agents): split embedded-runner steering runs into focused file

Unblocks the check-lint gate broken by #120285's max-lines overflow.
2026-08-07 18:57:36 -07:00
Peter Steinberger dba9fb8509 fix(queue): deliver queued steers in arrival order across turn boundaries (#120420)
* fix(queue): deliver queued steers in arrival order across turn boundaries

* test(queue): align steer fallback with pre-dispatch injection
2026-08-07 18:52:46 -07:00
Peter Steinberger 67f1baea58 fix(ci): honor env- and config-selected Windows targets in crabbox run transforms (#120395) 2026-08-07 18:50:54 -07:00
Peter Steinberger cd53ac012d fix(ci): harden hydrated dead-export scans (#120365)
* fix(ci): harden hydrated dead-export scans

* fix(ci): satisfy lint and test-type gates for hydrated scan hardening
2026-08-07 17:20:05 -07:00
Peter Steinberger 7016b9c81d fix(ci): adopt dispatched release validation runs (#120342)
* fix(ci): adopt dispatched release validation runs

* test(ci): update release child validation guard

* fix(ci): cancel mismatched release children
2026-08-07 16:44:12 -07:00
joshavant 5cc2fa6249 fix(agents): defer recovered followups until drain 2026-08-07 18:42:57 -05:00
joshavant 7bcdb5823e test: prove repeated request recovery through gateway 2026-08-07 18:42:57 -05:00
joshavant 07680362ff Revert "refactor(agents): propagate exact attribution across runtimes"
This reverts commit df31882c38.
2026-08-07 18:40:17 -05:00
joshavant 2c8923fe94 Revert "fix(packaging): recognize owner-restricted plugin aliases"
This reverts commit a90c8d81df.
2026-08-07 18:40:17 -05:00
joshavant d4c9a4d8f1 Revert "feat(audit): preserve exact agent execution provenance"
This reverts commit 79b8775bc9.
2026-08-07 18:40:17 -05:00
Peter Steinberger fb0812c857 fix(qa): prevent false update-restart package failures (#120300)
* test(qa): expose update restart process exits

* test(qa): supervise update restart gateway

* test(qa): isolate supervised gateway environment

* test(qa): diagnose restart plugin convergence

* test(qa): mount trusted upgrade harness

* test(qa): include upgrade runtime companions

* test(qa): remove temporary restart diagnostics

* test(qa): enforce systemd restart budget

* test(qa): honor systemd stop timeout

* test(qa): tighten package fixture ownership

* test(qa): preserve unrelated lane shapes

* test(qa): complete service fixture boundaries
2026-08-07 14:46:59 -07:00
Vincent Koc 9195bd55c2 fix(ci): retire dead ClawSweeper commit dispatch (#120281)
* fix(ci): retire dead ClawSweeper commit dispatch

* docs(ci): preserve offline ClawSweeper review path
2026-08-08 05:39:08 +08:00
Peter Steinberger 45b1dbf962 test(qa): add managed-worktrees CLI lifecycle scenario coverage (#120335)
* test(qa): add managed-worktrees CLI lifecycle scenario coverage

Managed worktrees had zero QA scenario-pack coverage despite being a
headline feature. Mint agent-runtime.managed-worktrees-lifecycle in the
taxonomy, add a runtime scenario, and prove the real child CLI through
create with .worktreeinclude provisioning and the .openclaw setup hook,
dirty removal pinning a snapshot ref, restore rebuilding tracked,
untracked, and provisioned files with their modes, and gc preserving
manual worktrees.

* fix(qa): align model-switch catalog assertion with expectedAlternate flow

qa/scenarios/models/model-switch-follow-up.yaml switched to
expectedAlternate.model in 5a795f4dda but the catalog test still greps
for the retired alternate?.model literal; the test is outside the PR
change-classification lanes, so the break only surfaces on direct runs.

* test(qa): narrow managed-worktrees taxonomy description to proven manual-owner gc

ClawSweeper P2 on #120335: the scenario proves manual-owner gc retention
only; session and Workboard cleanup lifecycles are not exercised, so the
coverage description must not claim them.
2026-08-07 14:18:12 -07:00
Vincent Koc 3a0216ce29 fix(ci): accept neutral draft gate runs (#120310)
* fix(ci): accept neutral draft gate runs

* fix(ci): retain decisive gate success

* fix(ci): keep pending gate runs authoritative

* fix(ci): order hosted gates by creation
2026-08-08 04:53:10 +08:00
Vincent Koc 588d8bb853 fix(qa): preserve script evidence coverage (#120286) 2026-08-08 04:42:21 +08:00
Vincent Koc 8c68f74ef9 fix(ci): align hosted gates with workflow applicability (#120313) 2026-08-08 03:59:27 +08:00
Peter Steinberger 2fa9a29c77 test(plugins): add Agent Plugins gateway e2e with model-driven MCP tool call (#120303)
* test(plugins): add Agent Plugins gateway e2e with model-driven MCP tool call

* fix(test): wire Agent Plugins gateway E2E and assert activation
2026-08-07 11:47:07 -07:00
Peter Steinberger dcb125d202 fix: remove retired insecure auth guidance (#120295) 2026-08-07 09:45:48 -07:00
Vyctor H. Brzezowski b738e25780 docs: promote Release and CI navigation (#119802) 2026-08-07 09:21:57 -07:00
SunnyShu 3bc188efe5 fix(diagnostics-otel): keep telemetry exporting across in-process restarts (#120131)
* [AI] fix(diagnostics-otel): keep telemetry exporting across in-process restarts

Owned diagnostics-otel generations previously registered their OpenTelemetry
providers globally and only shut the providers down on stop. The pinned
sdk-node registers globals without override and never unregisters them, so a
second in-process generation (config-watcher reload, OPENCLAW_NO_RESPAWN=1,
containers) kept exporting through the first, already-shutdown providers and
telemetry silently stopped.

Switch owned mode to private BasicTracerProvider + MeterProvider instances
whose handles are injected directly into the existing recorder runtime, and
keep the preloaded (OPENCLAW_OTEL_PRELOADED=1) mode on the host's global
providers without ever registering or replacing globals. Resource detection
honors the pinned NodeSDK OTEL_NODE_RESOURCE_DETECTORS contract (unset
defaults to env+process+host; none/subset/all are respected), and the unused
@opentelemetry/sdk-node dependency is removed with a minimal lockfile update.

Adds a real-SDK two-generation restart regression, real-SDK resource-detector
selection coverage, migrates the unit mocks to the provider lifecycle, and
updates the OpenTelemetry docs.

Fixes #119997

Co-Authored-By: glm-5.2 <noreply@anthropic.com>

* [AI] test(diagnostics-otel): restore OpenTelemetry globals after restart test

The restart regression disables global context, metrics, propagation, and
trace APIs and forces OPENCLAW_OTEL_PRELOADED=0, but its cleanup only reset
diagnostic events, so a later test in the same worker could inherit no-op
providers. Snapshot the prior global registrations and preloaded env at
module load, and re-register/restore them in afterEach, matching the
existing exporter-health integration test pattern.

Co-Authored-By: glm-5.2 <noreply@anthropic.com>

* [AI] fix(diagnostics-otel): reconcile private providers with OTEL_SDK_DISABLED

Rebase onto main after #119961 (honor OTEL_SDK_DISABLED) changed the
disabled admission path to return before SDK construction. Restore the
removed getBooleanFromEnv import, drop the stale ownedNodeSdkDisabled
guard, and update disabled-mode tests to the new semantics (all routes
off, disabled runtime registered) plus the private-provider signal
path for the integration suite.

Related to #119997

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(diagnostics-otel): isolate restartable provider generations

* test(diagnostics-otel): prove same-pid generation routing

* test(diagnostics-otel): use supported watcher reload mode

* test(diagnostics-otel): satisfy ownership proof gates

* test(diagnostics-otel): use managed proof cleanup

* test(diagnostics-otel): verify injected trace ancestry

---------

Co-authored-by: glm-5.2 <noreply@anthropic.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-07 22:24:18 +08:00
Peter Steinberger aa7cf44c75 fix(install): Windows installer no longer reports failed doctor migration as complete (#120033)
* fix(install): Windows installer surfaces doctor migration failures

Invoke-OpenClawCommand ignored the child exit code, so a failed
'openclaw doctor --non-interactive' still printed '[OK] Migration complete'.
The wrapper now throws on nonzero exit and Run-Doctor reports the failure
with the exact command to rerun instead of claiming success.

* chore: re-fire CI

* chore: re-fire CI against fixed main baseline
2026-08-07 01:19:59 -07:00
Peter Steinberger 40ef8c5e68 test(gateway): restore startup environment after servers (#120137)
* fix(test): restore gateway startup environment

* fix(test): centralize gateway startup env cleanup

* test(gateway): restore live startup environment

* fix(test): complete gateway startup env lifecycle

* test(gateway): restore raw server owner environment

* test(qa): restore gateway producer environment
2026-08-07 01:06:16 -07:00
Vincent Koc 79b8775bc9 feat(audit): preserve exact agent execution provenance 2026-08-07 15:27:14 +08:00
Vincent Koc a90c8d81df fix(packaging): recognize owner-restricted plugin aliases 2026-08-07 15:07:12 +08:00
Dallin Romney 2a0bbd23f5 feat: expose session classification facts (#106832)
* feat: expose session presentation metadata

* fix: restrict session titles to safe display metadata

* fix: preserve saved session display names

* fix(protocol): tolerate future session presentation values

* fix(gateway): keep direct peer names out of presentation

* fix(protocol): connect session presentation to native rows

* fix(gateway): canonicalize session presentation metadata

* fix(gateway): satisfy session presentation CI checks

* feat(gateway): flatten session classification facts

* fix: repair session classification generated models

* fix(gateway): canonicalize session classification keys

* fix(gateway): classify spawned delivery sessions

* fix(android): retain session classification facts

* test(android): make scripted gateway calls concurrency-safe

* test(live-updater): isolate fixture git commands
2026-08-07 14:56:56 +08:00
Dallin Romney 1f1333dfec fix(ci): allow frozen target scenario omissions in candidate prep (#120166) 2026-08-07 14:56:42 +08:00
Vincent Koc df31882c38 refactor(agents): propagate exact attribution across runtimes 2026-08-07 13:44:39 +08:00
Vincent Koc a0deb8edae fix(release): provide prerelease plugin companions to package QA (#120107) 2026-08-07 13:31:41 +08:00
Vincent Koc 1823be79ce fix(ci): provision native Android resources for frozen current-contract targets (#120081) 2026-08-07 11:37:04 +08:00
Vincent Koc a6b2078962 fix(test): restart shared gateway after migration convergence (#120089)
* fix(test): restart shared gateway after migration convergence

Punchcard-Session: cobalt-valley-meadow-mg

* fix(test): restart shared gateway after migration convergence

Punchcard-Session: cobalt-valley-meadow-mg
2026-08-07 10:51:28 +08:00
qingminlong 1cf48f15b7 fix: reject missing oxlint shard selectors (#120096)
* fix: reject missing oxlint shard selectors

* fix(lint): reject invalid shard selectors

Punchcard-Session: clear-harbor-river-2k

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-07 10:44:18 +08:00
Vincent Koc 2013123472 fix(release): isolate private Telegram QA harness (#120088) 2026-08-07 10:03:14 +08:00
metaforismo 89173ea9c2 fix(heartbeat): explain target-none skips (#119689)
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-08-06 18:51:29 -07:00
Vincent Koc 53006a289e fix(release): restart gateway after migration convergence (#120091) 2026-08-07 09:25:23 +08:00
Peter Steinberger 00a5db443a refactor: remove obsolete commit helper 2026-08-06 18:10:10 -07:00
Dallin Romney b5369f8e5d fix(qa): replace false Codex pin compatibility evidence (#118012)
* test(qa): replace synthetic Codex pin evidence

* test(qa): update core runtime-pair count

* test(qa): cover official Codex plugin drift

* test(qa): preserve frozen candidate scenario ids
2026-08-07 08:45:26 +08:00
Peter Steinberger c663c39763 refactor(test): table-drive exact-duplicate test blocks, batch 2 (#120071)
* refactor(test): table-drive tooling test cases

* refactor(test): table-drive agent test cases

* refactor(test): table-drive core test cases

* refactor(test): table-drive plugin test cases

* refactor(test): table-drive package test cases

* chore(test): prune max-lines baseline

* fix(test): preserve table row literal types
2026-08-06 17:00:28 -07:00
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
Peter Steinberger 9fdae501b8 refactor(test): table-drive duplicated test cases (#119973) 2026-08-06 12:37:43 -07:00
Vincent Koc a914682467 fix(release): stream JSON preparation output (#119951) 2026-08-06 21:54:26 +08: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 d73eb23b29 fix(release): report seeded changelog provenance truthfully (#119897)
* fix(release): report seeded changelog provenance truthfully

* fix(release): reject legacy provenance formatting

* fix(release): enforce complete provenance records
2026-08-06 19:22:16 +08:00
Dallin Romney 8c64ca24b1 fix(qa): include pinned gateway restart in core runtime proof (#118009)
* fix(qa): run pinned gateway restart runtime pair

* fix(qa): run pinned pair before advisory report
2026-08-06 18:52:20 +08:00