Commit Graph

435 Commits

Author SHA1 Message Date
Dallin Romney 7de26759ad fix(release): retain Docker-only recovery after restack 2026-08-21 02:34:14 -07:00
Dallin Romney 81b65f62fc fix(release): preserve current recovery contracts 2026-08-21 02:31:20 -07:00
Dallin Romney fb62d77f2a ci: route extended-stable through shared release publish 2026-08-21 02:31:02 -07:00
Dallin Romney 2e27c33245 ci: share GitHub release finalization 2026-08-21 02:30:48 -07:00
Dallin Romney 059c75f8e4 ci: simplify extended-stable release closeout 2026-08-21 02:30:47 -07:00
Dallin Romney f852520e5d test(release): align raw status history assertions 2026-08-21 02:30:47 -07:00
Dallin Romney 8958ed38f1 fix(release): satisfy typed status validation 2026-08-21 02:30:47 -07:00
Dallin Romney f5a4ebab14 fix(release): load typed extended-stable notes tooling 2026-08-21 02:30:47 -07:00
Dallin Romney fdeb02208c ci: persist extended-stable Docker completion 2026-08-21 02:30:47 -07:00
Dallin Romney 56b86eb6bf ci: make extended-stable closeout idempotent 2026-08-21 02:30:36 -07:00
Dallin Romney f5b2daf19f ci: publish extended-stable GitHub releases 2026-08-21 02:30:36 -07:00
Vincent Koc fa86caf94f fix(release): keep protected tooling trusted after main moves (#126881)
* fix(release): keep protected tooling trusted after main moves

* fix(release): cover protected tooling recovery paths

* fix(release): honor live tooling contracts

* fix(release): revalidate tooling at npm publish

* fix(release): bind npm publishers to live tooling

* fix(release): preserve trusted dispatch identity

* fix(release): revalidate parent authorization

* fix(release): bind ClawHub to release parent

* docs(release): define frozen tooling identity

* test(release): align ClawHub protected dispatch ref

* fix(release): trust protected plugin npm preflight tooling

* docs(release): scope protected writer guarantees

* fix(release): keep protected tooling foundation npm-only

* test(release): cover trusted npm preflight tooling
2026-08-21 07:24:31 +00:00
Vincent Koc 750f2f3762 fix(release): require concrete validation retry groups (#127012)
* fix(release): require concrete validation retry groups

* fix(release): reject mismatched retry filters

* fix(release): align retry controller vocabulary

* fix(release): preserve historical validation evidence

* fix(release): validate retry filters before scheduling

* test(release): follow shared filter validator

* docs(testing): clarify release QA retry groups
2026-08-20 23:35:16 -07:00
Dallin Romney 59e9765e77 fix(ci): accept extended-stable patch successors (#126936)
* fix(ci): accept extended-stable patch successors

* fix(ci): align Telegram extended-stable successors
2026-08-20 20:13:26 -07:00
Dallin Romney 1c40eee82e fix(ci): route recurring validation through SHA helper (#126766) 2026-08-20 19:11:27 -07:00
Vincent Koc 701b576cc1 fix(ci): default Telegram advisory input to false (#126794) 2026-08-21 03:03:52 +08:00
Vincent Koc 2f0f65e790 fix(ci): add Telegram-only package acceptance profile (#126769) 2026-08-20 11:01:59 -07:00
Peter Steinberger 0d43ade926 perf(test): cache parsed release workflows (#126673) 2026-08-20 06:28:31 -07:00
Vincent Koc c28c279afa fix(release): keep frozen validation independent of main (#126622)
* fix(release): freeze validation tooling identity

* fix(release): enforce frozen validation contract

* fix(release): validate candidate identity in parent

* fix(ci): close release isolation gate findings
2026-08-20 04:32:38 -07:00
Ayaan Zaidi b7b7eec5ee feat(qa): run Mantis Telegram proof on local desktop (#126220)
Move Mantis Telegram Desktop proof from the remote AWS/Crabbox lane to a recorder-driven local Docker desktop. Keep proof scenarios agent-authored, cache trusted build outputs, and publish exact visible Telegram evidence without writing the QA bot token to artifacts.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-20 11:12:51 +00:00
Peter Steinberger 7bc994aee8 fix(install): avoid success after incomplete lifecycle changes (#125992)
* fix(install): make lifecycle mutations transactional

Standalone installers now apply npm-version-aware lifecycle approval. Updates verify and repair the installation before reporting success and preserve the prior install owner during method switches. Uninstall now exits nonzero when requested cleanup is only partially completed. Plugin update behavior is unchanged.

Closes #125925

* test(uninstall): assert aggregated live-owner failure

* fix(install): satisfy standalone shell checks

* fix(update): scan PATH for prior Git wrapper

* test(hooks): await Gmail watcher descendant exit

* fix(install): verify Windows npm candidate

* fix(ci): normalize package acceptance version

* fix(update): preserve staged local package links

* test(update): fold staged symlink coverage

* fix(update): retire every legacy Git wrapper

* test(docs): align consolidated ownership checks
2026-08-18 20:50:15 -07:00
Patrick Erichsen 9e4ba15f4c improve: detect Claude CLI prompt cache regressions (#124988)
* test(gateway): cover Claude CLI prompt cache reuse

* test(gateway): validate Claude CLI cache across processes

* test(gateway): perturb Claude native cache context

* test(gateway): calibrate Claude CLI cache threshold

* docs(testing): align Claude cache threshold

* test(gateway): preserve config literal types

* test(gateway): split node admission coverage
2026-08-16 21:48:23 -07:00
Patrick Erichsen 305e38f5d9 fix(release): allow beta Docker backfills (#124999) 2026-08-16 20:16:40 -07:00
Peter Steinberger d5f41f734b fix(ci): trust QA tooling for frozen targets (#124509)
* fix(ci): trust QA tooling for frozen targets

* fix(ci): validate frozen QA tooling context

* fix(ci): verify frozen context without checkout

* fix(ci): pin QA tooling to workflow revision
2026-08-16 02:41:24 -07:00
Peter Steinberger 255ca8d96b fix(ci): trust frozen plugin prerelease fixtures (#124446)
* fix(ci): trust frozen plugin prerelease fixtures

* fix(ci): apply scoped plugin test omissions
2026-08-15 23:47:25 -07:00
Peter Steinberger 6335e358f3 fix(ci): keep Crabbox dependencies intact after pnpm dlx (#124423)
* fix(ci): isolate Crabbox pnpm dlx state

* fix(ci): clarify hydrated modules errors
2026-08-15 22:13:26 -07:00
Peter Steinberger 878236cfab test(tooling): deduplicate release timeout evaluators (#124297) 2026-08-15 15:58:29 -07:00
Peter Steinberger b376b13fec feat(docker): weekly refresh of published moving image tags (#123348)
* feat(docker): schedule image refreshes

* docs(docker): explain weekly image refreshes

* test(scripts): gate workflow-step execution on bash 4 mapfile support

Stock macOS bash 3.2 lacks mapfile; CI truth is Linux bash 5.

* test: cover docker-release suffix threading and sanctioned second caller

* test(codex): wire run-attempt-state into the attempt-extra project

#123345 added the file without a project owner; the full-suite coverage
guard fails for any PR that runs it.

* fix(ci): run build-artifacts PR validation on hosted runners

ci-build-artifacts-testbox.yml pinned PR runs to blacksmith-16vcpu and
ran Testbox lifecycle steps unconditionally, so the prepare-run landing
gate starved for every PR during a Blacksmith outage even with
OPENCLAW_CI_RUNNER_BACKEND=github. PR events now build on ubuntu-24.04
with dispatch-only Testbox steps, mirroring ci-check-testbox.yml.

* test(ci): align build-artifacts dispatch guard
2026-08-13 19:20:05 -07:00
Ayaan Zaidi d2afbd05ad refactor(plugin-sdk): replace API baselines with diffs (#123036)
* refactor(plugin-sdk): replace API baselines with diffs

* perf(plugin-sdk): bound API diff resources

* fix(plugin-sdk): isolate API diff dependencies

* fix(release): forward Plugin SDK acknowledgement

* fix(release): enforce SDK acknowledgement on publish

* chore: preserve generated-doc ignore policy

* fix(release): freeze SDK API evidence before publish

* fix(ci): satisfy SDK evidence guards

* fix(release): bind complete SDK evidence

* fix(release): authenticate plugin SDK evidence

* fix(plugin-sdk): abort interrupted API diffs

* test(ui): freeze page clock in background-tasks rail e2e

The rail transcript is compared byte-for-byte across the detail-panel
round-trip while it renders live relative ages; on slow CI runners the
second boundary ticks between the two reads (11s -> 12s) and fails the
equality assertion. Fix the page Date with Playwright setFixedTime while
keeping timers running so the tasks.list polling assertions still hold.

Repro: a 1.5s stall between the reads fails pre-fix with the exact CI
diff and passes post-fix.

* fix(scripts): drop unused export on dependency-evidence CLI main

Knip's workflow scan re-roots script references after an actions/checkout
step that sets path:, so the new trusted-tooling checkout in
openclaw-npm-release.yml stops marking this CLI as a workflow entry and
its exported main() surfaces as an unused export in check-dependencies.
Nothing imports main; the module invokes it through its own entry guard,
so the export keyword was dead surface either way.

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-13 03:45:36 -07:00
Peter Steinberger 3b6e54041f ci: replace dependency sticky disk with exact cache (#123040)
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0

Co-authored-by: Amp <amp@ampcode.com>
2026-08-13 01:13:25 -07:00
Vincent Koc 6472d22a77 fix(ci): budget expanded survivor groups (#122058) 2026-08-11 22:44:21 +08:00
Vincent Koc 0f6885141b fix(ci): use Node 24.16 for release workflows (#121967) 2026-08-11 17:11:35 +08:00
Peter Steinberger 3cd034f7a8 fix(ci): release workflow checks fail on macOS Bash 3.2 (#121669)
* fix(ci): keep release workflow checks portable on macOS

* fix(ci): repair current main compact shard regressions

* fix(ci): repair latest main validation drift

* fix(approvals): restore native account ownership gates

* fix(ci): repair skill workshop validation drift

* fix(ci): align approval route selection with main

* fix(ci): remove stale skill workshop test exports

* fix(ci): align repairs with latest main
2026-08-10 16:11:53 -07:00
Peter Steinberger b2bb148407 fix(types): heal package acceptance checks 2026-08-10 09:55:54 -07:00
Peter Steinberger 25a9a2e020 fix(ci): guard empty QA-live filter token join in release checks
An all-QA live_suite_filter leaves repo_filter_tokens empty; joining the
empty array under set -u aborts the scheduling script on bash <4.4.
Default the expansion and update the workflow-content assertion.
2026-08-10 09:35:51 -07:00
Vincent Koc 1f591bba56 fix(release): bound validation retries and soak 2026-08-10 22:31:32 +08:00
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 a828bfe04e fix(release): bootstrap typed Docker planner (#121088)
* fix(release): bootstrap typed Docker planner

* test(release): handle optional workflow steps

* fix(release): isolate trusted planner dependencies

Punchcard-Session: amber-workshop-workshop-36

* test(release): update trusted harness contract

Punchcard-Session: amber-workshop-workshop-36

* fix(release): bootstrap every trusted Docker planner

Punchcard-Session: amber-workshop-workshop-36

* fix(release): centralize trusted harness bootstrap

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-09 11:14:23 -07:00
Peter Steinberger 623866a30e fix(release): preserve SHA evidence identity (#121080) 2026-08-09 07:51:57 -07: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 0d45efd5da fix(ci): retry transient artifact API reads (#120654) 2026-08-09 02:05:04 +08:00
Vincent Koc 49161dee60 fix(release): unblock deferred Telegram beta validation (#120630)
* fix(release): allow deferring package Telegram validation

* fix(qa): mount taxonomy in package Telegram harness

* fix(release): restrict Telegram deferral to beta
2026-08-09 01:03:02 +08:00
Peter Steinberger 9a2f91a79a fix(release): keep prerelease companions exact in cross-OS checks (#120556)
* fix(release): install exact cross-os companion artifacts

* fix(release): derive companion package type from resolver

* fix(release): produce provider-owned companion registries

* fix(release): preserve companions for npm candidates

* refactor(release): simplify companion registry flow

* test(release): align package acceptance contracts

* fix(release): guard optional registry JSON parsing

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-08 21:45:16 +08: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 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
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
Dallin Romney 1f1333dfec fix(ci): allow frozen target scenario omissions in candidate prep (#120166) 2026-08-07 14:56:42 +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 2013123472 fix(release): isolate private Telegram QA harness (#120088) 2026-08-07 10:03:14 +08:00