Dallin Romney
535193ccfc
fix(release): use trusted plugin identity verifier
2026-08-13 15:03:46 +08:00
Dallin Romney
d092036951
refactor(release): remove Docker-only closeout
2026-08-13 13:52:22 +08:00
Dallin Romney
0ed5fe7271
Merge remote-tracking branch 'origin/main' into feat/extended-stable-github-release
...
# Conflicts:
# .github/workflows/plugin-npm-release.yml
2026-08-13 13:41:32 +08:00
Dallin Romney
bcfcd9eca7
ci: route extended-stable through shared release publish
2026-08-13 13:39:10 +08:00
Dallin Romney
7b9e793bf3
ci: share GitHub release finalization
2026-08-13 13:06:20 +08:00
Dallin Romney
45e59f38a7
ci: simplify extended-stable release finalization
2026-08-13 12:58:58 +08:00
Peter Steinberger
fba9ad43bc
fix(ci): run affected extension suites when changed-test planning falls back ( #122885 )
...
The PR-changed test planner fails safe to the compact full-suite plan for any diff touching packages/**, but that compact plan excludes all extension test configs, so mixed package+extension PRs landed with zero extension test execution (escapes: PR #120534 breaking extensions/codex run-attempt.native-hook-relay.test.ts, PRs #122163/#121522 and cd7b7f639d breaking media-understanding-provider.test.ts and thread-lifecycle.test.ts on main full runs). The preflight now appends whole-config shards for the diff's touched extensions whenever the precise plan fails safe; whole configs (not precise targets) because the fail-safe cause leaves the non-extension diff's extension impact unbounded.
2026-08-12 18:51:00 -07:00
Peter Steinberger
be600d0a24
fix: restore Telegram release isolation checks ( #122843 )
...
* fix(release): repair isolated Telegram QA runtime
sticky runner/SUT suite root permits config locks without config replacement; add PS1 after attested env verification for nested login shells.
* test(node-host): own desktop teardown resets
2026-08-12 16:21:45 -07:00
Vincent Koc
d82edfc4d2
fix(ci): preserve periphery artifacts across reruns ( #122743 )
2026-08-13 01:56:00 +08:00
Vincent Koc
716f996be8
fix(ci): prepare sandbox before repo E2E ( #122525 )
2026-08-12 16:08:19 +08:00
Peter Steinberger
3dcd494f66
improve(ci): reuse built dist for Doctor proof ( #122491 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 23:51:59 -07:00
Peter Steinberger
66fe424590
fix(release): trust canonical beta Telegram QA candidates ( #122480 )
...
Canonical beta branch head exact-SHA provenance; unique merged-PR attribution for GitHub web-flow signed transport; extract duplicated gate into one trusted helper.
2026-08-11 23:25:56 -07:00
Peter Steinberger
72e42eed48
improve(ci): reduce main gating delays and add timing trends ( #122441 )
...
* ci: stop publishing warm dependency snapshots
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
* ci: isolate the high-variance source test shard
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
* ci: guarantee rebuilt dependency snapshot publication
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
* ci: add balanced main timing trends
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
* fix(ci): fall back when Crabbox CLI is unavailable
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
* Revert "fix(ci): fall back when Crabbox CLI is unavailable"
This reverts commit 0583ac8a9d .
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 22:26:39 -07:00
joshavant
49dabadf86
fix(ci): avoid unrelated iOS release-gate runs
2026-08-11 20:35:35 -05:00
Peter Steinberger
e6b439e1cb
test(ci): parallelize channel contract projects ( #122336 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 16:46:53 -07:00
Peter Steinberger
25f7fc0ec5
test(ci): skip unrelated Bun launcher builds ( #122333 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 16:21:44 -07:00
Sliverp
84c7d45f15
refactor(qqbot): install plugin from Tencent package ( #107295 )
...
* refactor(qqbot): remove bundled extension source
Mechanical deletion half of the #107295 squashed rebase; the catalog
repoint and host integration land in the follow-up commit.
Co-authored-by: sliverp <870080352@qq.com >
* refactor(qqbot): install plugin from Tencent package
Squashed rebase of #107295 onto current main. Repoints the official
external channel catalog at @tencent-connect/openclaw-qqbot@2.0.1 and
adapts onboarding, doctor migrations, secrets, build guards, and tests.
Documents the known limitation that the external package does not
support structured SecretRef clientSecret values; operators move those
to QQBOT_CLIENT_SECRET or clientSecretFile before upgrading.
Co-authored-by: sliverp <870080352@qq.com >
* fix(doctor): reuse shared hasOwnKey record helper
The rebased QQBot migration carried its own hasOwnKey export, colliding
with the one main now ships in legacy-config-record-shared.ts.
Co-authored-by: sliverp <870080352@qq.com >
* fix(plugins): carry catalog integrity through the update bridge
The externalized-bundled-plugin bridge dropped the official catalog's
expectedIntegrity pin, so bundled-user updates installed the external
npm package without integrity verification. The bridge now carries the
pin for the catalog's exact npm spec and both bridge install calls pass
it through; update-channel spec overrides intentionally skip the pin
since it only covers the pinned version.
Co-authored-by: sliverp <870080352@qq.com >
* chore(plugin-sdk): refresh per-entrypoint API baselines
The QQBot compat export and bundled-type removal shift 26 entrypoint
closure hashes in the new split baseline layout.
Co-authored-by: sliverp <870080352@qq.com >
* refactor(qqbot): drop helper reintroduced during rebase
Main's coercion consolidation added this file after the deletion
commit's base; its only consumers were the removed qqbot sources.
Co-authored-by: sliverp <870080352@qq.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-11 15:10:27 -07:00
Josh Lehman
d035dba6c7
chore: scope SQLite session lifecycle CI ( #121917 )
...
* oc-358: scope SQLite lifecycle CI
* chore(ci): cover shared session lifecycle owner
2026-08-11 15:06:46 -07:00
Dallin Romney
5fb8c23020
ci: simplify extended-stable release closeout
2026-08-12 00:41:57 +07:00
Vincent Koc
653ab3b2aa
fix(ci): restore duplicate scans with jscpd 5 ( #122124 )
2026-08-12 01:39:40 +08:00
Peter Steinberger
cad77fb39c
refactor: consolidate remaining coercion helpers ( #122020 )
2026-08-11 10:22:01 -07:00
Vincent Koc
afc644464d
fix(ci): bound hosted Android build memory ( #122088 )
2026-08-11 23:57:22 +08:00
Vincent Koc
6472d22a77
fix(ci): budget expanded survivor groups ( #122058 )
2026-08-11 22:44:21 +08:00
Peter Steinberger
8dace97c2e
perf(test): cut workflow guard overhead ( #122038 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-11 06:29:08 -07:00
Vincent Koc
0f6885141b
fix(ci): use Node 24.16 for release workflows ( #121967 )
2026-08-11 17:11:35 +08:00
Peter Steinberger
fa03d9b913
refactor: consolidate coercion helpers ( #121366 )
...
* refactor: consolidate coercion helpers
* fix: remove duplicate coercion imports
* fix: preserve serialized coercion guard
* chore: ratchet coercion helper carve-outs
* fix(test): keep gauntlet subprocess startup lean
* fix: preserve imported session timestamp semantics
* fix: preserve catalog timestamp string semantics
* chore: align plugin SDK surface ratchet
* fix: preserve trajectory and SDK string contracts
* fix(test): preserve QA record assertion semantics
* fix: complete standalone record guard rename
* refactor(cron): use canonical string coercion
* fix(acpx): preserve Pi timestamp parsing
* test(channels): adapt custody test harnesses
* test(telegram): classify media harness as test support
* test(acpx): split timestamp contract coverage
* test(channels): support generated custody contracts
* chore: ban the full coercion helper name set
Extends the declaration guard to all eleven consolidated helper names and
renames the cron schedule-identity readNumber wrapper to readScheduleInteger
so the banned generic name cannot regrow.
* fix(scripts): repair release-validation guard drift and lint cause
Restores the renamed isJsonRecord guard in assertTrustedWorkflowHarness after
main added isRecord call sites in parallel, and attaches the caught YAML error
as the thrown error cause (preserve-caught-error was red on main).
* fix: preserve Claude timestamp string semantics
* fix: preserve persisted timestamp string semantics
* fix: preserve date-first timestamp contracts
* fix(openai): harden delegation failure formatting
* chore: close coercion helper guard gaps
* test(openai): model non-error delegation rejection
* chore: refresh plugin SDK API contract
* fix(tasks): use canonical string field reader
* fix(ai): use canonical provider error field coercion
* fix(browser): migrate native bootstrap coercion
* docs(plugin-sdk): clarify text record export compatibility
* fix(gateway): normalize approval execution identity
* test(outbound): isolate message action poll harness
2026-08-11 00:02:18 -07:00
Vincent Koc
6dbea69515
fix(ci): separate frozen target context from candidate identity ( #121835 )
2026-08-11 12:14:19 +08:00
Peter Steinberger
ebfd3ba154
improve: cut CI critical path without more workers ( #121807 )
...
* test(ci): remove redundant builds from critical path
Amp-Thread-ID: https://ampcode.com/threads/T-019fee8d-665d-707b-a380-23f2a6a1ce03
Co-authored-by: Peter Steinberger <steipete@gmail.com >
* docs(ci): format runner table
Amp-Thread-ID: https://ampcode.com/threads/T-019fee8d-665d-707b-a380-23f2a6a1ce03
Co-authored-by: Peter Steinberger <steipete@gmail.com >
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-10 20:21:20 -07:00
Vincent Koc
c87f77185d
fix(release): preserve frozen candidate identity ( #121786 )
...
* commit 'c3e3f276f2b520ffdf28e453eb464a6f4e50dfa0':
fix(release): preserve frozen candidate identity
2026-08-11 11:08:13 +08:00
Vincent Koc
c3e3f276f2
fix(release): preserve frozen candidate identity
2026-08-11 10:48:08 +08:00
Peter Steinberger
fada067277
feat(browser): add zero-click Chrome extension bootstrap ( #121586 )
...
* feat(browser): add zero-click extension bootstrap
Pre-register deterministic path-derived extension IDs and install a strict native messaging host.
Keep the popup and options UI minimal while removing the obsolete copilot and page-share flows.
* fix(browser): satisfy native bootstrap CI guards
* test(browser): isolate native bootstrap Chrome roots
* test(browser): flush native bootstrap profile before status
* test(browser): seed Linux native bootstrap identity
* fix(browser): preserve native bootstrap upgrade safety
Allow immutable root-owned package inputs while keeping mutable state, manifests, and launchers user-owned. Preserve all retired copilot keys whenever active or unrecognized recovery custody remains.
* fix(browser): preserve pending copilot custody
Retired cleanup now removes copilot state only when the durable registry is exactly empty. Any session, archive, malformed value, future shape, or read failure preserves every retired key.
* fix(browser): guard native bootstrap upgrades
Fail closed while retired copilot custody remains and make discard durable across partial failures.
Require exact launcher-embedded origins and repair full launcher drift without accepting mismatched registrations.
* fix(browser): remove stale layout export
* chore(release): leave changelog to release flow
2026-08-10 19:31:13 -07:00
Josh Avant
bdd35432dd
perf(checks): accelerate fresh changed gates ( #121805 )
2026-08-10 21:30:24 -05: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
7e03fe3ba0
Merge commit '546bb29055b3e204b981dc27d4375c4d7679c7dd' into HEAD
...
* commit '546bb29055b3e204b981dc27d4375c4d7679c7dd':
fix(release): support frozen validation tooling
2026-08-11 07:34:47 +08:00
Vincent Koc
546bb29055
fix(release): support frozen validation tooling
2026-08-11 07:20:44 +08:00
Patrick Erichsen
c6b9be2646
fix(release): run plugin tooling against source checkout ( #121762 )
2026-08-10 16:16:33 -07: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
Martin Cleary
e0a4146f55
fix(ci): carry branch authority to ClawSweeper ( #121674 )
...
Co-authored-by: brokemac79 <255583030+brokemac79@users.noreply.github.com >
2026-08-10 22:50:44 +01:00
Patrick Erichsen
105038e658
ci: mirror Docker release images to Vercel registry ( #120058 )
...
* ci: publish release images to Vercel registry
* ci: publish beta images to Vercel registry
* fix(ci): allow beta Vercel dispatch
* fix(ci): publish VCR-compatible image indexes
* fix(ci): allow VCR readiness propagation
* fix(ci): use Sandbox as VCR readiness proof
* fix(ci): promote clean VCR channel indexes
* fix(release): harden VCR publication
* fix(release): bind VCR publishing to verified inputs
* fix(test): follow script declaration migration
* fix(release): isolate VCR mirroring
* test(release): align VCR secret ownership
2026-08-10 14:45:05 -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
Dallin Romney
dd66be7b83
fix(release): read canonical Docker status history
2026-08-10 17:41:59 +08:00
Dallin Romney
2143cd56c8
fix(release): load typed extended-stable notes tooling
2026-08-10 17:17:02 +08:00
Dallin Romney
ad6543563a
ci: paginate Docker completion status reads
2026-08-10 17:17:01 +08:00
Dallin Romney
e323d862cb
ci: persist extended-stable Docker completion
2026-08-10 17:17:01 +08:00
Dallin Romney
883eb91053
ci: make extended-stable closeout idempotent
2026-08-10 17:17:01 +08:00
Dallin Romney
5ce4cf8319
ci: publish extended-stable GitHub releases
2026-08-10 17:17:01 +08:00
Vincent Koc
a994d2ad5f
fix(qa): provide protocol base to evidence runs ( #120710 )
...
Co-authored-by: Dallin Romney <6581799+RomneyDa@users.noreply.github.com >
Punchcard-Session: amber-workshop-workshop-36
2026-08-10 16:59:58 +08:00
Vincent Koc
f4987deb94
fix(ci): support frozen validation scripts ( #121458 )
2026-08-10 14:49:51 +08:00
Peter Steinberger
ff10db092b
ci(mantis): extract shared request-resolution, ref-trust, and reaction workflows ( #121339 )
...
* ci(mantis): extract shared request, trust, and reaction workflows
* ci(mantis): drop caller-less params from shared resolve workflow
* test(mantis): read candidate-override parsing from shared resolve workflow
2026-08-09 22:04:27 -07:00