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
Vincent Koc
225aa5a178
fix(ci): isolate Actions cache writes ( #127107 )
2026-08-21 02:45:06 -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
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
Vincent Koc
0f6885141b
fix(ci): use Node 24.16 for release workflows ( #121967 )
2026-08-11 17:11:35 +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
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
Peter Steinberger
71c654c72d
fix(release): install package validation dependencies ( #113907 )
...
* fix(release): install package validation dependencies
* fix(release): isolate artifact validation tooling
2026-07-25 16:29:20 -07:00
Peter Steinberger
1564c0719f
ci: pin exact action version comments ( #113386 )
2026-07-24 12:05:51 -07:00
Peter Steinberger
525a7f4c96
ci(release): restore full validation after config migrations ( #112740 )
...
* fix(browser): preserve scoped CDP authority policy
* test(release): migrate canonical config fixtures
* ci(release): repair acceptance harness drift
* ci(release): extend Anthropic setup budget
* test(release): align remaining CI contracts
* test(release): align Docker and QA contract tests
* docs(release): preserve validation evidence inputs
* test(plugins): align unprepared metadata reads
* ci(release): separate QA live suite filters
* test(release): bind cron MCP cleanup device
2026-07-23 08:46:55 -04:00
Peter Steinberger
6a6d3465d8
improve: shorten release candidate validation ( #110316 )
...
* ci(release): shorten candidate validation critical path
* ci(test): parallelize memory extension lane
* ci(release): preserve read-only candidate validation
2026-07-18 03:39:03 +01:00
Peter Steinberger
e7801deb57
fix(release): fail fast on flaky beta QA
2026-07-17 21:55:27 +01:00
Peter Steinberger
69b83b515a
fix(ci): default package acceptance omission flag
2026-07-17 20:01:07 +01:00
Peter Steinberger
cb70d7104e
ci: speed up release preparation
2026-07-17 13:43:12 +01:00
Dallin Romney
8c77936e50
fix(release): propagate frozen-target guard and retry live timeouts ( #108418 )
...
* fix(release): preserve frozen package acceptance opt-in
* fix(release): retry transient live terminal timeouts
* fix(release): keep package dispatch input budget
* refactor(release): name frozen-target compatibility mode
* revert: keep frozen-target guard naming
2026-07-15 13:06:24 -07:00
Peter Steinberger
b597a8d364
fix(release): restore prerelease and release validation startup ( #103834 )
...
* fix(release): split image publication from validation
* fix(ci): honor install smoke caller input
* fix(ci): harden Docker rerun targeting
2026-07-10 18:46:08 +01:00
Vincent Koc
cbe3731f77
fix(release): make validation proof no-write ( #103737 )
...
* fix(release): make validation proof no-write
* test(release): align no-write workflow contracts
2026-07-10 08:18:44 -07:00
Peter Steinberger
a24139e199
ci: require enabled Telegram package proof ( #103310 )
2026-07-10 04:24:36 +01:00
Vincent Koc
abb6f04e0c
ci(release): harden release controls
...
One-time maintainer-authorized bootstrap merge for the release-gate verifier policy. Exact hosted CI and all supporting workflow gates passed on 66133de419 .
2026-06-18 03:11:20 +08:00
Vincent Koc
ed16f8fcf0
fix(ci): require billable Anthropic release key
2026-06-16 20:02:03 +08:00
Vincent Koc
b500a488e4
fix(ci): support Anthropic OAuth release validation
2026-06-16 18:10:49 +08:00
Peter Steinberger
41f4605020
ci: harden release package validation
2026-05-23 18:48:17 +01:00
Jason O'Neal
7fffbf60b0
fix: harden package URL downloads ( #85578 )
...
* fix: harden package URL downloads
Guard package acceptance URL downloads with HTTPS-only validation, no embedded credentials, private/special-use DNS and IP rejection, manual redirect checks, bounded timeout/size limits, pinned lookup, and atomic temp-file writes. Add tooling tests for unsafe URLs, redirect validation, size limits, and successful writes.
* fix: cancel redirect response bodies before closing dispatcher
ClawSweeper P2: the redirect branch in openPackageDownloadResponse cleared
the timeout and awaited dispatcher.close() without first cancelling
response.body. Undici's close() is graceful — it waits for in-flight
requests to complete — so a malicious redirect with a slow/never-ending
body could hang the hardened downloader.
Fix: call response.body?.cancel() before dispatcher.close() to abort the
redirect body immediately.
Test: add a regression test that uses a ReadableStream with an indefinite
interval to simulate a hanging body, and asserts cancel() was called.
Refs: clawsweeper review on PR #85512
* test: harden redirect body cancellation race in regression test
Guard the ReadableStream controller.enqueue() call with a cancelled
flag and try/catch to prevent ERR_INVALID_STATE when the interval
fires after cancel() closes the controller.
* fix: cancel final response body before closing dispatcher in downloadUrl
ClawSweeper P2: the HTTP-error and declared-oversize early-exit paths
in downloadUrl threw before consuming or canceling response.body. The
finally block then cleared the timeout and awaited graceful
dispatcher.close() with the body still open, allowing a slow/never-ending
response to hang release tooling.
Fix: add response.body?.cancel() in the finally block before
dispatcher.close().
Tests: add two regressions:
- HTTP 500 with slow body: asserts cancel() called before dispatcher close
- Declared content-length oversize with slow body: same assertion
* fix: add trusted package URL source policy
* fix: keep package URL resolver dependency-free
* test: cover encoded IPv6 package URL bypasses
* docs: sync package acceptance source overview
* docs: restore release doc formatting
* docs: sync package acceptance trusted-url source
* test: cover dotted IPv4 embedded IPv6 package URLs
* fix: parse dotted IPv4 embedded in IPv6 package URLs
* test: isolate anthropic pruning defaults
* test: move anthropic dated model coverage
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-23 17:28:29 +01:00
Vincent Koc
cc6c3728c7
fix(ci): require factory auth for droid live docker
2026-05-23 12:20:26 +02:00
Peter Steinberger
a0702e195d
build(pnpm): use packageManager as pnpm source
...
Recreated from #85108 because the original branch could not be updated by maintainers.
Preserves current-main pnpm install hardening while switching workflow pnpm setup to packageManager, and adds exact version-scoped release-age exclusions for already-locked packages that pnpm 11.2.2 audits during install.
Co-authored-by: Altay <altay@hey.com >
2026-05-22 19:17:43 +01:00
Vincent Koc
52759294ca
ci(package): gate acceptance on package integrity
2026-05-22 21:17:20 +08:00
Peter Steinberger
428fc16ac8
ci: make Tideclaw alpha long gates advisory
2026-05-18 01:40:37 +01:00
Peter Steinberger
c96795d272
ci(release): use hosted runners for manual release gates
2026-05-15 17:25:32 +01:00
Vincent Koc
d08f68dee7
test(e2e): cover root-managed VPS upgrades
2026-05-14 06:50:58 +08:00
Altay
8b95270cc9
ci(pnpm): use pnpm 11 in workflows
2026-05-11 00:48:14 +01:00
Peter Steinberger
18997be120
ci: speed up release validation reruns
2026-05-11 00:22:19 +01:00
samzong
d832ad214c
[Feat] Add upload archive install RPC ( #74430 )
...
* feat(skills): add upload archive install RPC
- src/agents/skills-archive-install.ts:83 [BOT-SCOPE]: `withExtractedArchiveRoot()` still returns unstructured extract failures, so exact transient-vs-terminal classification should be moved into the shared install-flow layer in a follow-up rather than expanding this PR.
Signed-off-by: samzong <samzong.lu@gmail.com >
* fix(skills): address archive upload review findings
Signed-off-by: samzong <samzong.lu@gmail.com >
* fix(skills): regen protocol bindings and classify transient archive errors
* feat: gate uploaded skill installs by config
* test: add docker skill install proof
* docs: clarify uploaded skill archive gate
* chore: refresh config docs baseline
* style: format docker e2e plan test
* fix: use fs-safe path checks for skill archives
* fix: classify skill publish failures as unavailable
* test: update skill clawhub path mock
* fix: pass mutable archive root markers
* fix: use current json dir mode option
* test: satisfy skill upload lint
* test: refresh core support expectations
---------
Signed-off-by: samzong <samzong.lu@gmail.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-09 20:44:18 -04:00
Patrick Erichsen
8aa7b7a4ca
Tolerate corrupt plugins during update ( #77706 )
...
* fix(update): tolerate corrupt plugin state
* fix(update): preserve corrupt plugin proof state
* fix(update): narrow corrupt plugin warnings
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-05 14:18:26 -07:00
Vincent Koc
2de0113608
test(update): cover authenticated restart updates
2026-05-04 21:58:47 -07:00
Vincent Koc
1c3b27718f
ci: shard package upgrade survivor baselines
2026-05-04 21:15:12 -07:00
Peter Steinberger
4b4dfe429d
ci: expand release upgrade baselines
2026-05-02 19:46:00 +01:00
Peter Steinberger
0cd12d17d4
fix(release): align package acceptance with candidate source
2026-05-02 01:56:48 +01:00
Peter Steinberger
682e05532d
test: add update migration package gate
2026-05-02 00:34:33 +01:00
Peter Steinberger
ed8f50f240
refactor: simplify plugin dependency handling
...
Simplify plugin installation and runtime loading around package-manager-owned dependencies, with Jiti reserved for local/TS fallback paths.
Also scans npm plugin install roots so hoisted transitive dependencies are covered by dependency denylist and node_modules symlink checks.
2026-05-01 21:32:22 +01:00
Vincent Koc
15adc741ff
test(package): expand upgrade survivor baselines
2026-05-01 03:18:31 -07:00
Vincent Koc
dffc295a74
test(e2e): add upgrade survivor scenario probes
2026-05-01 01:18:11 -07:00
Vincent Koc
2500b5d4ec
test(e2e): expand published upgrade survivor baselines
2026-05-01 01:18:11 -07:00
Josh Avant
ce833acbdb
test: strengthen published upgrade survivor lane ( #75361 )
...
* test: integrate upgrade survivor baseline controls
* test: gate published upgrade survivor path
* test: preserve upgrade survivor fixture contract
* test: keep upgrade survivor temp state off overlay
2026-04-30 21:50:36 -05:00
Peter Steinberger
c0058fda2f
test: add published upgrade survivor lane ( #75221 )
...
* test: add published upgrade survivor lane
* test: keep published upgrade exit chunk
2026-04-30 23:39:50 +00:00
Peter Steinberger
7beebc9afc
test: add upgrade survivor package lane
2026-04-30 19:06:33 +01:00
Peter Steinberger
2d53b49b20
ci: use same-run release package artifacts
2026-04-29 16:06:02 +01:00
Peter Steinberger
beff88175e
ci: run release orchestration on blacksmith
2026-04-29 15:58:00 +01:00
Vincent Koc
87172dc9fe
fix(ci): harden package acceptance refs
2026-04-28 12:53:05 -07:00