Commit graph

7035 commits

Author SHA1 Message Date
Vincent Koc
2b264148b2
fix(ci): skip SDK rendering for identical revisions (#147572) 2026-09-14 12:54:46 +08:00
Peter Steinberger
6d786ff865
fix: prevent false process failures and stalled background waits (#147871) 2026-09-13 21:53:29 -07:00
Vincent Koc
3de18f60bd
feat(gateway): bind requests to selected profiles (#143587)
* feat(gateway): bind requests to selected profiles

Punchcard-Session: amber-timber-workshop-bk

* test(gateway): verify profile-bound wire admission and replay

Punchcard-Session: amber-timber-workshop-bk

* fix(gateway): preserve idle presence during profile refresh

Keep unchanged profiles out of presence writes while retaining explicit refresh and recipient preparation. Complete profile-bound test fixtures and regenerate the dependent Workboard asset pointers.

Punchcard-Session: amber-timber-workshop-bk

* test(gateway): repair context and loading-state fixtures

Punchcard-Session: amber-timber-workshop-bk

* test(gateway): verify instance retirement before agent dispatch

Punchcard-Session: amber-timber-workshop-bk

* test(gateway): verify session revocation during accepted steering

Punchcard-Session: amber-timber-workshop-bk

* chore(gateway): refresh embedded protocol assets

* test(ui): await Inbox fixture preload

* test(transcripts): bind Discord lifecycle fixture generation

* test(gateway): drain task fixture notifications

* fix(protocol): exclude profile ID primitive from generated registry

* test(gateway): simplify subscription fixture state setup

* test(gateway): preserve authority refusal through terminal admission

* fix(gateway): retain live profile refresh after runtime extraction

* test(agents): cover redaction with fresh transcript admission

* refactor(gateway): inline release version checks

* test(gateway): observe async runtime lease disposal

* test(gateway): supply profile refresh callbacks in lifecycle fixtures

* test(agents): assert recorder admission callback availability

* test(gateway): model native profile fixture node subscribers

* test(desktop): retain bounded viewer close diagnostics

* test(ui): keep cloud history aligned with placement failure

* test(ui): brace the desktop close bound
2026-09-14 12:35:53 +08:00
Vincent Koc
dff789c0a6
test(e2e): retire obsolete plugin staging smoke (#147555) 2026-09-14 12:30:54 +08:00
Peter Steinberger
32f06f37f1
fix(pr): preserve unrelated worktree metadata during fetch (#147828)
Disable fetch-triggered automatic maintenance at the PR source owner. Git 2.54+ can otherwise prune a sibling admin directory with a missing or empty backlink during healthy worktree entry. Keep the existing preservation assertions and align direct helper fixtures with the Darwin Bash guard.

Refs #147527. Reproduces the six containment failures from run 34800901928; three full containment runs pass after the fix. P1 autoreview and check:changed passed.
2026-09-13 21:23:25 -07:00
Peter Steinberger
ae5a4b4a55
perf(workers): overlap cloud startup preparation (#147787) 2026-09-13 21:02:04 -07:00
Peter Steinberger
fea7243b8b
test(tooling): simplify boundary checks and failure output (#147662) 2026-09-13 21:00:15 -07:00
Vincent Koc
49dc11a366
refactor(scripts): share plugin lifecycle trace predicate (#147822) 2026-09-14 11:59:42 +08:00
Peter Steinberger
f984f6648b
perf(ci): batch publication source object sizes (#147768) 2026-09-13 20:39:46 -07:00
Shakker
afd20f8b91
fix: keep affected tests for common importer names (#147754)
Preserve complete affected-test selection for common source names while retaining existing helper and tooling routing.

Refs #147665.
2026-09-14 04:28:55 +01:00
Vincent Koc
c1b5f4473e
fix(pr): keep cleanup scoped to the requested worktree (#147527)
* fix(pr): keep cleanup scoped to the requested worktree

* fix(pr): preserve healthy worktree reuse and exact refs

* test(pr): match early orphan identity rejection

* fix(pr): retain canonical identity through linked cleanup

* test(pr): isolate GitHub command fixtures from ESM parents

* test(pr): expand fixed ESM preflight routes
2026-09-14 10:53:23 +08:00
Peter Steinberger
a529170cd9
fix(bench): capture Worker isolates in load profiles (#147699) 2026-09-13 19:40:47 -07:00
Peter Steinberger
f9dc685d71
improve: keep large workspace transfers responsive (#147626)
* perf(workspace): offload inventory and manifest processing

Keep the Gateway and paired nodes responsive during large workspace transfers with bounded computation workers. Hosts retain session authority, Git processes, file writes, durable acceptance, and cleanup.

Use transferable UTF-8 payloads for supported Unicode inventories, preserve independent errors during cancellation, and compare already-decoded manifests without copying their object graphs between threads.

* test(workspace): finish manifest fixture ownership

* refactor(workspace): distinguish stage input implementation

* test: register workspace benchmark and honor system Bash
2026-09-13 19:35:25 -07:00
Vincent Koc
135bc19272
refactor(i18n): share quoted delimiter scanning (#147695) 2026-09-14 10:24:56 +08:00
Peter Steinberger
c809640db1
fix(ui): load Home and System busyness inside their panels (#147574)
* fix(ui): load Home and System busyness inside their panels

* chore(ui): record approved immediate-panel startup budgets

* fix(ui): retain System busyness through automatic chunk recovery

* fix(ui): keep automatic diagnostic restores out of Settings

* chore(ui): refresh approved startup baseline against current main
2026-09-13 18:57:50 -07:00
Dallin Romney
2bb5638001
test(docker): normalize harness artifact permissions (#145919) 2026-09-13 18:33:22 -07:00
Vincent Koc
2c393ecf55
fix(sandbox): restore workspace files in Docker Gateways (#147276)
* fix(sandbox): restore workspace files in Docker Gateways

Resolve managed workspace, agent, skill and nested bind sources from a verified Gateway container before sandbox hashing and creation. Share the effective mount plan across shell and browser lifecycles; preserve read-only permissions and refuse stale hot mounts with scoped recreate guidance.

Fixes #31331

Co-authored-by: AaronWander <siralonne@163.com>
Co-authored-by: Frank Yang <frank.ekn@gmail.com>

* test(sandbox): isolate managed mount permission fixtures

* fix(sandbox): narrow discovered Docker container ids

* test(sandbox): split container creation and mount coverage

* test(sandbox): restore filesystem fixture import

* test(sandbox): sort mount proof records immutably

* fix(sandbox): inspect typed Docker metadata and isolate E2E cleanup

* test(sandbox): assert package import follows fixture environment

---------

Co-authored-by: AaronWander <siralonne@163.com>
Co-authored-by: Frank Yang <frank.ekn@gmail.com>
2026-09-14 09:22:47 +08:00
Peter Steinberger
520442c337
test(agents): add live Code Mode comparison workloads (#147537)
Extend the existing model matrix with isolated Gateway tasks, fixed-workload build comparisons, and separate task and interview evidence. Preserve failed trials, exact source identities, task effects, logical cell completion, and observed preview coverage.

Validation: 187 focused tests, changed-file and targeted type/lint/docs checks, exact-candidate runtime build, actual OpenAI smoke, read-only replay of 24 original trials plus the final smoke, and fresh P2 review. Original scores and interview qualifications remain preserved.
2026-09-13 16:32:28 -07:00
Vincent Koc
3a99779313
fix(codex): isolate hook imports and cancel disconnected waits (#147444)
Isolate the native hook relay build graph while preserving readonly state lookup, explicit policy decisions, and the lazy authenticated Gateway fallback.

Cancel disconnected request waits through the existing approval authority. Keep duplicate callers independently cancellable, retain unbound durable approval deduplication, and detach exact relay-owned entries before callbacks so old cleanup cannot remove a successor. Observe already-started promises when synchronous cancellation wins.

Update managed Codex to the official 0.154.0 release and align its version fixtures and current documentation. This improves lifecycle ownership and reduces the relay import closure; it does not cap hook concurrency, prove faster bursts, or establish resolution of the historical constrained-host timeout.

Related: https://github.com/openclaw/openclaw/issues/91009

Thanks to @nvtoroy for the constrained-host captures and guarded opt-out evidence in https://github.com/openclaw/openclaw/pull/121668 and https://github.com/openclaw/openclaw/pull/111205. The opt-out proposal remains distinct and unimplemented by this change.
2026-09-14 07:14:04 +08:00
Dallin Romney
3384ab6ed5
test(release): compact package acceptance matrices (#145832) 2026-09-13 15:56:42 -07:00
Vincent Koc
46aa369b31
fix(update): identify FreeBSD handoff processes (#147415)
* fix(update): identify FreeBSD handoff processes

* test(update): mock the native byte-order binding

* fix(build): capture handoff compiler inputs

* fix(build): recognize staged handoff native assets
2026-09-14 06:25:04 +08:00
Vincent Koc
40015ca1c3
refactor(release): share model configuration commands (#147077)
* refactor(release): share model configuration commands

* fix(release): satisfy model command owner lint gates
2026-09-14 05:59:47 +08:00
Peter Steinberger
caaa75308c
feat(bench): report process and main-thread CPU usage (#147436) 2026-09-13 14:54:35 -07:00
Peter Steinberger
bc9ea0c348
fix(codex): run Bun history reads through built worker (#147408)
Some checks are pending
Native App Locale Refresh / Refresh native ja-JP (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ko (push) Blocked by required conditions
Native App Locale Refresh / Refresh native nl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pt-BR (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ru (push) Blocked by required conditions
Native App Locale Refresh / Refresh native sv (push) Blocked by required conditions
Native App Locale Refresh / Refresh native th (push) Blocked by required conditions
Native App Locale Refresh / Refresh native tr (push) Blocked by required conditions
Native App Locale Refresh / Refresh native uk (push) Blocked by required conditions
Native App Locale Refresh / Refresh native vi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-CN (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-TW (push) Blocked by required conditions
Native App Locale Refresh / Commit native locale refresh (push) Blocked by required conditions
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Waiting to run
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Blocked by required conditions
Plugin Init Scaffold Validation / Validate provider scaffold (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / Validate release publish approval (push) Blocked by required conditions
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / Preflight plugin npm package () (push) Blocked by required conditions
Plugin NPM Release / Seal prepared plugin npm release (push) Blocked by required conditions
Plugin NPM Release / Trusted publisher OIDC exchange (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Plugin NPM Release / verify_plugins_npm (push) Blocked by required conditions
Vitest Cache Warm / warm (linux) (push) Waiting to run
Vitest Cache Warm / warm (macos) (push) Waiting to run
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
* fix(codex): route Bun history reads through built worker

* test(codex): align prepared auth restart requests

* fix(codex): recognize aliased Bun history workers

* test(codex): allow optional account read after restart
2026-09-13 14:52:04 -07:00
Peter Steinberger
153c60641b
fix: keep Doctor writes working across module reloads (#147292)
* fix: keep Doctor writes working across module reloads

* test: isolate updater schema coordination owner

* test: isolate Doctor worker lifecycle checks

* fix(ci): exclude worker-owned tests from command shards
2026-09-13 14:44:37 -07:00
Peter Steinberger
b6db30fd9f
fix(logging): keep redaction consistent across module copies (#147316)
* fix(logging): share redaction state across module copies

Share the live registry, revision, and cached redactor while preserving independent captured snapshots. Include the singleton helper in frozen publication tooling and its fixture.

* test(agents): keep live read arguments within output budget

Use the fixture path relative to the configured session workspace so deep temporary roots do not exhaust the unchanged 128-token model limit before a tool call completes. Preserve all redaction and continuation assertions.
2026-09-13 14:37:30 -07:00
Peter Steinberger
d0100a4264
fix(memory): emit one JSON result for command failures (#147366)
* fix(memory): emit one JSON result for command failures

* test(memory): prepare the SDK before root CLI integration tests
2026-09-13 14:25:55 -07:00
Peter Steinberger
70dd24af33
test: preserve native workflow loader selection (#147403) 2026-09-13 14:20:32 -07:00
Vincent Koc
4394ad538c
refactor(release): share agent turn retry lifecycle (#147076) 2026-09-14 05:09:04 +08:00
Vincent Koc
1ea10a8e73
fix(update): retain FreeBSD native runtime during handoff (#147324)
* fix(update): retain FreeBSD native runtime during handoff

* test(update): fix native staging fixture lint

* docs(update): explain native assertion contracts
2026-09-14 04:46:48 +08:00
Peter Steinberger
6eccb68490
fix(runtime): close remaining Bun extension compatibility gaps (#147360)
* fix(runtime): close Bun extension compatibility gaps

* refactor(runtime): drop superseded Bun workarounds
2026-09-13 13:32:10 -07:00
Vincent Koc
1a0e78fc8a
fix(ci): avoid live retries caused by passing test names (#147322) 2026-09-14 04:06:20 +08:00
Peter Steinberger
03c70bad04
fix: stop release-note checks waiting after retries are exhausted (#147299) 2026-09-13 12:52:11 -07:00
Vincent Koc
305bcbe12d
fix(install): preserve empty PATH search entries (#147249) 2026-09-14 03:46:26 +08:00
Vincent Koc
f6a10b8436
fix(ci): keep native drift comparisons locale-independent (#147309) 2026-09-14 03:34:59 +08:00
Peter Steinberger
3d727aef5a
fix(cli): preserve startup metadata when publication fails (#147290)
Publish the complete generated artifact through the existing atomic replacement owner. Preserve ordinary modes and symlinked output parents, remove the direct truncating write, and cover partial-write and rename failures. Fixes #127453. Production net -3 lines.
2026-09-13 12:32:36 -07:00
Peter Steinberger
01d9d686ef
fix(ci): route QA Profile Evidence to its run-status owner test (#147293)
#143968 added test/scripts/qa-profile-run-status.test.ts, which references
.github/workflows/qa-profile-evidence.yml, so changed-target routing now
selects it for that workflow. The routing expectation in
test-projects.test.ts still listed the previous five owners, which turned
main's tooling shard red. Add the new owner to the expected target list.
2026-09-13 12:17:52 -07:00
Vincent Koc
4d6ebf94e6
fix(install): preserve runtime links when Node validation fails (#147221)
* fix(install): preserve runtime links when Node validation fails

* fix(install): preserve relative runtime targets and empty aliases

* test(install): preserve runtime fixture tuple types
2026-09-14 03:17:04 +08:00
Peter Steinberger
0f8cf0f6c2
ci: record resources for slow runtime test commands (#147254) 2026-09-13 12:12:34 -07:00
Peter Steinberger
3da6095184
test: isolate timing metadata persistence from inherited settings (#147112) 2026-09-13 11:47:49 -07:00
Vincent Koc
c2eb6a2a0e
fix(install): use system Node for FreeBSD CLI setup (#147204)
* fix(install): use system Node for FreeBSD CLI setup

* test(install): use system Bash for sourced macOS fixtures
2026-09-14 02:43:28 +08:00
Vincent Koc
eded8168d4
feat(qa): preserve maturity decision context (#147219)
* feat(qa): preserve maturity decision context

* fix(qa): render valid maturity decision context
2026-09-14 02:37:40 +08:00
Peter Steinberger
69213b315c
fix(runtime): complete Bun compatibility follow-ups (#147085)
* fix(runtime): complete Bun compatibility follow-ups

* test(secrets): force captured runtime output

* perf(config): shrink schema traversal helper

* test(secrets): isolate JSON output capture
2026-09-13 11:35:17 -07:00
Vincent Koc
07b96d9b41
fix(ci): retain QA profile diagnostics on failure (#143968)
* fix(ci): retain QA profile diagnostics on failure

* fix(ci): retain directly extracted QA shard diagnostics

Punchcard-Session: clear-meadow-meadow-4g

* fix(ci): use set lookup for QA diagnostic files

Punchcard-Session: clear-meadow-meadow-4g
2026-09-14 02:23:11 +08:00
Vincent Koc
83b9a532ef
refactor(test): share plugin fixture server shims (#147225) 2026-09-14 02:13:37 +08:00
Vincent Koc
6670690552
fix(ci): check publication registries before FRV fanout (#147184)
* fix(ci): check publication registries before FRV fanout

* test(ci): align FRV registry admission workflow fixtures
2026-09-14 02:07:41 +08:00
Vincent Koc
ef2861d55a
refactor(scripts): share SQLite reliability message waits (#146900)
* refactor(scripts): share SQLite reliability message waits

* fix(scripts): preserve IPC rejection values without lint errors

* test(scripts): register IPC rejection suppression
2026-09-14 01:45:43 +08:00
Peter Steinberger
80a12600bf
test: skip unused compiler setup in routing fixtures (#147194) 2026-09-13 10:10:25 -07:00
Peter Steinberger
38fb08d04b
refactor(workboard): keep SQLite work off the Gateway event loop (#146976)
* refactor(workboard): run SQLite persistence in workers

Preserve board-scoped hydration and card-scoped notification reads while moving complete database operations to plugin-owned worker connection leases. Drain admitted work and retain retryable cleanup across service retirement and transport failure.

* test(workboard): preserve unclassified plugin routing coverage

* test(workboard): await persisted cleanup outcomes
2026-09-13 09:56:53 -07:00
Peter Steinberger
80e086fb14
fix(ui): stop repeated background metadata reads across chat panes (#146685)
* fix(ui): stop repeated background metadata reads across chat panes

Share automatic metadata and model catalog refresh generations across panes and defer hidden views until presented. Preserve startup snapshots, in-flight settlement, and explicit retries while coalescing invalidations.

Validated with 317 focused unit tests, 18 mocked Chromium scenarios, targeted owner regressions, full changed-file checks, UI test types, unchanged bundle budgets, and a clean independent review.

* fix(ui): preserve chat readiness during shared metadata refreshes

Keep startup catalog delivery and command metadata independent across early and late presentation changes. Let the current catalog result enable the picker while command metadata is pending, and route integration proof through the application shell owner.

Validation: 673 unit/integration tests; cold and visibility browser regressions; ordered account-snapshot proof; real-Gateway palette recovery; full changed-file and UI test type checks; unchanged bundle budget; clean independent review through P2. Earlier broad local account-picker timeouts remain unattributed and were not hidden by timeout or assertion changes.

* test(ui): target pending account rows before pointer clicks

Raw bounding-box replay could hit the adjacent Manage row after popup placement moved. Hover the retained More row, verify pointer targeting, then send one mouse down/up pair while preserving all disabled, request-count, navigation, and keyboard assertions.

Proven with the original 13-test-order failure trace, which delivered the second click to Manage, followed by all 13 tests passing. UI test types, changed-file checks, and independent review through P2 pass.

* fix(ui): preserve metadata startup settlement across visibility changes

Keep an inactive startup command fallback behind its predecessor's transport
settlement. Reobserve waiting demand through the same admission owner, and
fence inherited catalog work with its creation revision so invalidation cannot
publish an old catalog as current. Same-generation visibility return and
explicit refresh remain immediate.

Honor writer-owned pending state during explicit synchronous metadata error
retry after the publication-owner integration.

Validation: 53 metadata/catalog tests, 94 chat/app-host entrypoint cases,
14 metadata browser scenarios, UI test types, full changed-file checks, and
independent full-diff review through P2. Startup gzip is 354949 bytes under the
unchanged 355719-byte limit. Both hidden invalidation/remount regressions fail
before the repair and pass afterward.

* fix(ci): restore agent test graph headroom

Move the complete managed worktree test family into the existing agents-tools graph. Preserve all canonical roots, graph identities, stripe assignments, compiler concurrency, and the existing 700-root target and 720-root cap.

* fix(test): complete sidebar deferred helper migration

Use the canonical createDeferred helper in the two remaining sidebar scope tests after the shared helper export was retired. Preserve the existing scope-replacement assertions.

* test(ui): close file previews through their hosted tabs

* fix(ui): retain queued metadata publication during invalidation

Let visible command demand adopt the existing queued publication through the command owner while preserving transport settlement barriers. Keep the skill activation request bound intact and repair catalog and hydration test fixtures exposed by CI.
2026-09-13 09:53:12 -07:00