Vincent Koc
30aa2794d9
fix(update): preserve plugin convergence through package restart ( #131062 )
...
* fix(update): preserve plugin convergence during package upgrades
* fix(e2e): isolate upgrade restart auth setup
* fix(e2e): isolate candidate restart config
* fix(doctor): skip repairs for disabled plugins
* fix(e2e): use canonical identity for restart install
* fix(update): release plugin lease before doctor
* fix(e2e): seed upgrade companion installs
* fix(e2e): validate companion install versions
* fix(ci): register upgrade config parking script
* test(plugins): type npm install config fixture
2026-08-28 03:26:43 +08:00
Vincent Koc
8afa8f339e
fix(release): restore direct package Telegram acceptance ( #129912 )
...
* fix(release): provision package acceptance plugin registry
* fix(release): accept registry tuple in package dispatch
* fix(release): default Docker advisory input
* fix(release): bind artifact registry to package source
* fix(release): preserve package advisory dispatch
* fix(ci): bound hosted release gate checks
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
* test(ci): update release-gate manifest fixture
* fix(ci): avoid duplicate release gate lint
* test(release): restore Docker helper fixture path
---------
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-08-27 08:32:19 +08:00
Dallin Romney
cb1d892b3d
fix(release): stage Codex for npm onboarding candidates ( #130360 )
...
* fix(release): stage Codex for npm onboarding candidates
* refactor(release): share candidate registry lifecycle
2026-08-26 16:58:45 -07:00
Peter Steinberger
fc2724d831
fix(release): normalize package tarball modes and prove non-root install ( #130335 )
...
npm/pnpm pack copy on-disk file modes into the tarball, and node-tar's
portable mode-fix only strips group/other write bits — it never adds
read bits. A restrictive-umask build host therefore ships owner-only
(0600/0700) tarball entries, which breaks the CLI for non-root users
after `sudo npm install -g` under mode-preserving consumers such as
system tar.
- Normalize every packed entry to 0644/0755 (a+rX, exec bits kept) as
the last step of packOpenClawPackageForDocker.
- Add a tar -tvf mode gate to check-openclaw-package-tarball that
rejects any non-world-readable entry.
- Run the docker-package-install npm lane as root and execute the
installed CLI as a non-root user to prove the fix live.
- Fix the docker-package-install bun proof, broken on main since
#129552 wired the bun smoke into the shared openclaw-e2e-instance
library: replace the drift-prone per-file harness copy list with
directory copies, and add a closure-walking guard test that fails
on missing harness dependencies.
2026-08-26 13:24:13 -07:00
Peter Steinberger
1560142754
fix(e2e): stable candidate plugin repair fails after update ( #130306 )
...
* fix(e2e): resolve stable candidate plugins by latest
Amp-Thread-ID: https://ampcode.com/threads/T-01a039ee-f7c4-71d8-8b71-e028dbd60493
* fix(e2e): preserve stable fixture dist-tags
Amp-Thread-ID: https://ampcode.com/threads/T-01a039ee-f7c4-71d8-8b71-e028dbd60493
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-26 13:08:37 -07:00
Peter Steinberger
21df0f36a4
fix(e2e): mount prerelease registry verifier ( #130288 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a039ee-f7c4-71d8-8b71-e028dbd60493
Co-authored-by: Amp <amp@ampcode.com >
2026-08-26 11:58:43 -07:00
Peter Steinberger
10108ca0f2
fix(e2e): suppress update checks inside Docker E2E containers ( #129931 )
...
* fix(e2e): suppress update checks inside Docker E2E containers
The runner's CI variable does not cross into `docker run`, so containers kept
reporting daily update checks and drowned real operators in the telemetry
aggregates. Inject the existing suppression switch from the shared helper so
every lane inherits it; callers that exercise update behavior keep their own
value.
* test(e2e): record the injected suppression in docker run contracts
2026-08-26 00:14:40 -07:00
Vincent Koc
67c5a85619
fix(release): bind prerelease plugins into package Telegram QA ( #129784 )
...
* fix(release): bind prerelease plugins into package Telegram QA
* fix(release): preserve registry artifact provenance
2026-08-26 13:17:30 +08:00
Peter Steinberger
20b453f155
fix(agents): reject forged plugin owner authority ( #104872 )
...
* fix(security): bind channel owner authority to trusted runtime
* fix(plugins): preserve untrusted channel guest ingress
* fix(plugins): snapshot channel ingress authority once
2026-08-25 20:36:05 -07:00
Peter Steinberger
5ce9b61ceb
fix(doctor): preserve managed container services ( #129527 )
...
* fix(doctor): preserve managed container services
* fix(doctor): scope linger checks to user services
* fix(doctor): limit container repair to user services
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-25 17:48:32 -07:00
Peter Steinberger
85d5df1d87
fix(onboarding): OpenAI setup installs mismatched Codex plugin ( #129195 )
...
* fix(onboarding): align Codex plugin with core release
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b4-f621-7144-bfdf-a68df795dd57
* test(onboarding): reject unpinned Codex candidates
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b4-f621-7144-bfdf-a68df795dd57
* fix(onboarding): match stable correction release plugin cohorts
Co-authored-by: 許元豪 <146086744+edenfunf@users.noreply.github.com >
* test: isolate plugin metadata and register startup retry coverage
* test: adopt upstream startup retry ownership pattern
* test: keep plugin metadata readers process-stable
* test: isolate terminal session recovery cases
* test: drop speculative gateway isolation change
* test(gateway): mock terminal transcript lifecycle decision
* fix(plugins): align correction cohorts across stable tracks
---------
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: 許元豪 <146086744+edenfunf@users.noreply.github.com >
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
2026-08-25 17:03:39 -07:00
Peter Steinberger
5af05ab1a2
improve: validate built CLI with Bun 1.4 ( #129192 )
...
* ci: validate built CLI with Bun 1.4
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2
* test: align Bun Docker image assertion
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2
* test: tolerate cold CLI startup in CI
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-25 03:44:57 -07:00
Josh Lehman
06e0f385f7
test(onboard): handle telemetry consent prompt ( #128943 )
2026-08-25 02:06:02 -07:00
Peter Steinberger
2a39c50227
fix: make full verification hermetic across local environments ( #128777 )
...
* test: harden full verification fixtures
* test: resolve main fixture overlap
2026-08-24 13:26:00 -07:00
Peter Steinberger
234df15a6d
chore: refresh dependencies after seven-day cooldown ( #128414 )
...
* build(deps): refresh dependencies after cooldown
Apply dependency, toolchain, action, image, and exact tool updates released by the inclusive 2026-08-16 seven-day cutoff. Adapt owner boundaries for the resulting CUA, logging, Teams, Markdown, native, and test-harness contract changes while retaining versions blocked by upstream compatibility constraints.
* fix(ui): align markdown renderer env typing
* fix(deps): align postcss and mistral peer contracts
* fix(deps): repair refreshed dependency contracts
* fix(deps): retain tslog startup budget
* fix(ci): verify Android tools with SHA-256
* fix(ci): fence Android SDK cache version
2026-08-24 03:01:54 -07:00
Peter Steinberger
0d18fa8d8b
fix(release): preserve native prebuilds in git fixtures ( #128210 )
2026-08-23 05:33:05 -07:00
Dallin Romney
8de2679a5e
test(release): preserve Codex follow-through finality ( #125619 )
...
* fix(ci): mark Codex follow-through progress non-final
* test(ci): assert Codex progress finality
* test(ci): align Codex follow-through assertion
* test(codex): accept explicit progress finality
* test(release): preserve frozen Codex finality
2026-08-18 08:53:48 -07:00
Dallin Romney
f25f7429df
test(release): redact shared failure diagnostics ( #125697 )
...
* test(release): use shared channel diagnostics
* fix(release): redact shared E2E failure logs
* test(release): configure redaction timeout fixture
2026-08-18 08:52:17 -07:00
Peter Steinberger
1ecd53fe27
fix(qa): handle zombie proc stats in upgrade survivor ( #125829 )
2026-08-18 06:58:16 -07:00
Peter Steinberger
9de3ca5fc9
test(upgrade): add high-volume SQLite survivor ( #125571 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-01a00a6a-b64e-74a5-8b15-2d3b966a468d
Co-authored-by: Amp <amp@ampcode.com >
2026-08-17 21:19:24 -07:00
Peter Steinberger
a917c99e92
fix(runtime): classify Node releases consistently across install and launch ( #124812 )
...
* fix(runtime): align Node release version guards
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(runtime): include Node version helper in source fixture
* fix(install): align Node release checks across boundaries
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix: keep node version guard legacy-compatible
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(runtime): exercise legacy launcher preflight
* fix(installer): validate installed Node release versions
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* fix(installer): compare Node version parts numerically
Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae
* test(installer): cover 17-digit Node major
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-17 00:42:23 -07:00
Josh Lehman
8cfcc3155a
test: align onboarding TTY prompts (oc-efc) ( #124199 )
2026-08-15 08:58:16 -07:00
Peter Steinberger
1287befae7
fix(release): preserve upgrade diagnostic probe ( #123338 )
...
* fix(release): preserve upgrade diagnostic probe
* test(vitest): reinstantiate contract projects for audits
* style(test): format upgrade diagnostic assertions
* test(ui): isolate route transition outlet fixture
2026-08-13 16:56:43 -07:00
Peter Steinberger
ffa8a1d892
fix(release): print post-update config diagnostics ( #123221 )
2026-08-13 14:24:22 -07:00
Vincent Koc
5af8935b53
fix(ci): start gateway for agent delete Docker smoke ( #122714 )
2026-08-13 01:12:54 +08:00
Vincent Koc
1fb715853c
fix(qa): resolve Docker harness script entrypoints ( #121548 )
...
Punchcard-Session: amber-workshop-workshop-36
2026-08-12 01:23:20 +08:00
Vincent Koc
c3e3f276f2
fix(release): preserve frozen candidate identity
2026-08-11 10:48:08 +08:00
Patrick Erichsen
abb856ece4
fix(release): restore frozen beta validation ( #121791 )
...
Punchcard-Session: coral-summit-brook-8j
2026-08-10 18:45:42 -07:00
Vincent Koc
546bb29055
fix(release): support frozen validation tooling
2026-08-11 07:20:44 +08:00
Dallin Romney
0296785c5f
fix(ci): validate frozen extended-stable candidates ( #120986 )
...
* fix(ci): support frozen extended-stable validation
* fix(ci): avoid map spread in release config projection
* refactor(ci): use suite config mutation for frozen candidates
* fix(ci): keep frozen candidate config private
* refactor(qa): expose config mutation
* fix(qa): preserve config mutation in runtime pairs
2026-08-10 17:40:46 +08:00
Ayaan Zaidi
4b0151682e
refactor(commitments): remove inferred follow-up subsystem
...
Remove hidden follow-up extraction, heartbeat delivery, CLI, docs, and supporting tests/tooling. Existing commitment records remain inert pending separately approved cleanup.
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-08-10 13:48:32 +05:30
Peter Steinberger
88fc335323
fix(ci): support frozen script entrypoints ( #121208 )
...
* fix(ci): support frozen script entrypoints
* fix(ci): route frozen plugin tests through package script
* fix(release): support compiled candidate test helpers
* fix(release): support compiled upgrade helpers
* fix(release): mount trusted upgrade runtime
* fix(release): preserve trusted tsx resolution
2026-08-10 10:31:21 +08:00
Peter Steinberger
c70aee247e
refactor(scripts): migrate JavaScript tools to TypeScript ( #121005 )
...
* refactor(scripts): migrate JavaScript tools to TypeScript
* fix(ci): keep changed-scope preflight zero-install
* fix(ci): preserve zero-install script owners
* fix(ci): complete script migration follow-through
* fix(release): keep stable closeout zero-install
* fix(scripts): preserve standalone execution boundaries
* fix(scripts): repair standalone loader boundaries
* fix(scripts): normalize gateway observation ids
* fix(scripts): keep Docker packager standalone
* test(scripts): preserve rebase cleanup helpers
* test(sessions): use tracked temp directory
2026-08-09 07:21:35 -07:00
Vincent Koc
115e5a6f25
fix(release): isolate prepublish plugin startup probe ( #120749 )
2026-08-09 07:15:46 +08:00
Vincent Koc
b729806758
fix(release): preserve ClawHub fixture across restart ( #120709 )
2026-08-09 05:26:16 +08:00
Vincent Koc
33a5f37937
fix(release): repair survivor fixture assertion quoting ( #120680 )
2026-08-09 03:53:51 +08:00
Vincent Koc
b40f846757
fix(release): keep survivor plugin repair hermetic ( #120677 )
2026-08-09 03:34:42 +08:00
Vincent Koc
e81d7e62e8
fix(release): scope upgrade plugin credentials ( #120666 )
2026-08-09 03:00:36 +08:00
Peter Steinberger
d9080cfff8
fix(agents): transfer requester wake ownership across yield and deflake survivor registry setup ( #120538 )
2026-08-08 01:42:33 -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
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
a0deb8edae
fix(release): provide prerelease plugin companions to package QA ( #120107 )
2026-08-07 13:31:41 +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
Vincent Koc
113af2fcbd
fix(ci): preserve stdin through Docker heartbeat logging
2026-08-05 23:56:36 +08:00
Vincent Koc
5b1b1e0632
test(qa): cover CLI distribution workflows ( #118948 )
2026-08-04 05:09:39 +08:00
Peter Steinberger
a231afb38d
test(docker): consolidate build helper fixtures ( #118416 )
2026-08-02 20:46:33 -07:00
Dallin Romney
44dc286ce7
fix(qa): use canonical service identity for update restart ( #117814 )
2026-08-02 17:18:01 +08:00
Vincent Koc
c61388a0e0
test(docker): make line count assertion portable
2026-08-02 00:01:30 +08:00
Peter Steinberger
b5a59e0a7d
refactor(docker): consolidate E2E scenario helpers ( #117359 )
...
* refactor(docker): consolidate E2E scenario helpers
* fix(ci): retain release harness entry
* test(docker): complete package helper fixture
2026-08-01 05:48:28 -07:00
Vincent Koc
39156a99cd
fix(ci): restore beta release harnesses ( #116596 )
...
* test(release): model systemd ownership probes
* fix(ci): restore release Docker package probes
* fix(release): preserve Windows setup-node runtime
* fix(release): isolate Windows service validation
* fix(release): strip isolated Windows service identity
2026-07-31 09:17:35 +08:00