Peter Steinberger
7c977e0f84
perf(ci): cut hosted CI critical path toward five-minute walls ( #123780 )
...
* perf(ci): cut hosted CI critical path toward five-minute walls
Stripe the serial core test-type graphs across two hosted jobs and drop the
duplicated tsgo:test:root pass; gate the six-part QA Smoke matrix off pull
requests unless a QA-owned surface changed; split the fat multi-config Node
shards (cli/cli-process, unit-fast isolated/fake-timers, infra
logging-process/runtime-config) and lower the hosted split ceiling to 150
predicted seconds so no compact lane owns a ~280s wall; expand tooling to
seven stripes.
* perf(ci): widen hosted test-type striping to three jobs
Run 31825922122 measured ~40s per core test-type graph on loaded hosted
runners (282s worst stripe body of the two-way split); three stripes keep
each lane near 150s body under load.
2026-08-14 13:03:52 -07:00
Peter Steinberger
bd4b972794
ci: lower hybrid compact shard height ( #123595 )
2026-08-14 06:55:17 -07:00
Peter Steinberger
5c3fd2fbe9
ci: widen core tooling test stripes ( #123636 )
2026-08-14 05:19:14 -07:00
Peter Steinberger
7aac8ee04b
fix: preserve device sessions while runner is offline ( #123477 )
...
* fix(runners): recover offline device placements
* test(runners): model reclaimed launch dispatch
* ci: serialize macOS Swift test retries
* test: wait for steering subscription readiness
* fix(gateway): restore authority-safe steering
* test(gateway): align authority projector fixture
* fix(gateway): dispatch leaf authority mismatches
* refactor: keep authority overlay contract leaf-only
* test(ui): close place popover before details
2026-08-14 03:31:19 -07:00
Peter Steinberger
ee288a836c
ci: route hybrid compact shards to Blacksmith ( #123593 )
2026-08-14 03:01:33 -07:00
Peter Steinberger
3a49aa1ac6
improve: split hosted Windows CI into three lanes ( #123577 )
...
* ci: split Windows tests into three lanes
* test: cover three-way Windows CI partition
2026-08-14 02:40:02 -07:00
Peter Steinberger
8865c2539b
ci: shorten hosted PR path ( #123570 )
2026-08-14 02:11:25 -07:00
Peter Steinberger
749340fc16
ci: widen hybrid Blacksmith routing ( #123552 )
2026-08-14 01:37:32 -07:00
Peter Steinberger
e51ee089b7
improve: add hybrid CI runner backend ( #123479 )
...
* ci: add hybrid runner backend
* test: admit hybrid backend in CI fixture
2026-08-14 00:19:28 -07:00
Peter Steinberger
1400049ae9
improve(ci): cut hosted test import time with warm caches ( #123465 )
...
* perf(ci): restore hosted test caches across lanes
* perf(ci): restore caches in remaining Vitest lanes
2026-08-13 22:41:27 -07:00
Peter Steinberger
c06f993b5c
fix(ci): restore hosted cache writers ( #123440 )
2026-08-13 20:16:54 -07:00
Peter Steinberger
47d3661c58
fix(ci): balance QA smoke profile parts ( #123434 )
2026-08-13 20:08:51 -07:00
Peter Steinberger
257eb21235
improve(ci): shorten GitHub-hosted Node matrix ( #123406 )
...
* improve(ci): shorten GitHub-hosted matrix wall time
* fix(ci): keep hosted dependency setup store-only
* fix(ci): split the hosted tooling tail
2026-08-13 19:32:50 -07:00
Peter Steinberger
7a378f1f8e
improve(ci): rebalance GitHub-hosted compact test lanes ( #123383 )
...
* perf(ci): rebalance GitHub-hosted compact hints
* test(ci): exclude failed hosted timing samples
* fix(ci): keep Codex state test in one Vitest lane
2026-08-13 17:45:33 -07:00
Peter Steinberger
6995f98243
ci: split remaining GitHub-hosted tail lanes ( #123364 )
...
* ci: codify manual-only Node 22 compatibility
* ci: split remaining hosted tail lanes
* fix(qa-lab): carry the validated part index into the plan id type
* test(ci): repair hosted tail lane guards
2026-08-13 16:52:25 -07:00
Peter Steinberger
b1491356df
ci: shard hosted UI e2e further ( #123329 )
2026-08-13 15:20:37 -07:00
Peter Steinberger
4a5aeb8dd2
improve(ci): shorten GitHub-hosted outage runs ( #123294 )
...
* ci: run push compacts without tooling lanes and stripe giants three-way
* fix(ci): keep CompactNodeTestPlanMode internal
knip --production flags the exported type as unused; no external module
imports it.
* ci: shard hosted lint and node tests
Split core oxlint across hosted runners and use backend-specific compact Node admission caps while preserving Blacksmith behavior.
* test(ci): guard plugin prerelease planner isolation
2026-08-13 15:19:15 -07:00
Peter Steinberger
2a70d849e8
improve(ci): stripe giant compact test groups ( #123142 )
...
* ci: stripe media-ui, gateway-core, and security compact groups
* fix(ci): preserve compact stripe config ownership
2026-08-13 10:46:38 -07:00
Peter Steinberger
fb82d87cad
fix: keep CI running during Blacksmith outages ( #123263 )
...
* ci: add runner-backend circuit breaker with GitHub-hosted fallback
* fix(ci): extend hosted timeouts to circuit-breaker runs
2026-08-13 10:18:35 -07:00
Peter Steinberger
fa18d8d273
ci: pipeline canonical main runs across two concurrency slots ( #123135 )
...
Measured canonical-main first-start delay: median 180s, average 209s; 10 of the last 30 runs waited more than 300s.
Approved tradeoff: up to ~+30 concurrent Blacksmith VMs during merge storms. Scope is canonical main pushes only; pull requests, manual runs, non-main refs, and forks keep their existing semantics.
Bump the canonical-main concurrency group from v7 to v8 so in-flight old-group runs cannot mix with the two-slot pipeline.
2026-08-13 04:04:51 -07:00
Peter Steinberger
581e67e887
ci: refresh compact shard packing hints from current main runtimes ( #123100 )
2026-08-13 02:38:50 -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
Peter Steinberger
f8c0e1b832
ci: ignore OpenClaw metadata in dependency fingerprint ( #122839 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-12 15:33:56 -07:00
Peter Steinberger
25121bdb45
perf(ci): tail-balance compact large shards ( #122818 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
Co-authored-by: Amp <amp@ampcode.com >
2026-08-12 14:25:14 -07:00
Peter Steinberger
3edc9c2be5
perf(ci): route compact queue tails to 8-vCPU runners ( #122666 )
...
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
Co-authored-by: Amp <amp@ampcode.com >
2026-08-12 12:57:29 -07:00
Peter Steinberger
786c646d88
improve(ci): rebalance compact Node shards from hosted medians ( #122547 )
...
* ci: refresh compact Node shard timings
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
* docs(ci): clarify compact planner counts
Amp-Thread-ID: https://ampcode.com/threads/T-019ff3db-c467-70ad-8ed3-81f2ba94b0c0
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-12 03:41:34 -07:00
Peter Steinberger
016c5aa772
ci: balance Control UI E2E shards by source size ( #122527 )
...
Co-authored-by: Amp <amp@ampcode.com >
2026-08-12 00:48:14 -07: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
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
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
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
Josh Avant
bdd35432dd
perf(checks): accelerate fresh changed gates ( #121805 )
2026-08-10 21:30:24 -05:00
Vincent Koc
1f591bba56
fix(release): bound validation retries and soak
2026-08-10 22:31:32 +08:00
Peter Steinberger
0ef798d28d
fix(gateway): keep hello authorization aligned with RPC access ( #120888 )
...
* fix(gateway): separate socket and device token scopes
* chore(i18n): refresh native source baseline
* style(ios): keep gateway channel within lint limit
* refactor(gateway): simplify scope metadata decoding
* ci(ui): isolate real-gateway e2e suites
* docs(ci): align runner table formatting
* chore(plugin-sdk): refresh api baseline
* ci(ui): route real-gateway retries to hosted runners
* chore(plugin-sdk): repair generated api baseline
* test(ui): select Labs toggles by title
* fix(gateway): preserve stored scopes without wire metadata
2026-08-09 14:50:07 -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
f83ba2b326
fix(ci): route UI E2E PR retries to hosted runners ( #120997 )
...
* fix(ci): route UI E2E PR retries to hosted runners
Punchcard-Session: amber-workshop-workshop-36
* fix(ci): align UI E2E retry cache routing
Punchcard-Session: amber-workshop-workshop-36
* fix(ci): clarify UI E2E retry routing
Punchcard-Session: amber-workshop-workshop-36
* fix(ci): validate workflow expression capture
Punchcard-Session: amber-workshop-workshop-36
2026-08-09 19:50:24 +08:00
Vincent Koc
9195bd55c2
fix(ci): retire dead ClawSweeper commit dispatch ( #120281 )
...
* fix(ci): retire dead ClawSweeper commit dispatch
* docs(ci): preserve offline ClawSweeper review path
2026-08-08 05:39:08 +08:00
Vincent Koc
17ef7771a6
fix(ci): stabilize TUI PTY proof ownership ( #119420 )
...
* fix(ci): stabilize TUI PTY proof ownership
Punchcard-Session: cobalt-brook-meadow-m9
* fix(test): align TUI PTY event typings
Punchcard-Session: cobalt-brook-meadow-m9
2026-08-05 11:08:56 +08:00
Vincent Koc
392e1c0620
fix(ci): preserve cache warmer shard envelopes ( #119403 )
...
Punchcard-Session: amber-orchard-valley-s4
2026-08-05 10:20:55 +08:00
Vincent Koc
8f2850d83e
fix(ci): isolate cache warmer configs ( #119381 )
...
Punchcard-Session: amber-orchard-valley-s4
2026-08-05 09:12:28 +08:00
Vincent Koc
9ff9aac71a
fix(ci): isolate built TUI PTY fixture ( #119339 )
...
Run the built local TUI PTY lane after the other artifact checks so its real Gateway fixture has exclusive process and event-loop capacity.
Punchcard-Session: cobalt-brook-meadow-m9
2026-08-05 08:00:29 +08:00
Vincent Koc
e99c289f3b
fix(ci): avoid duplicate Matrix release QA runs ( #119171 )
...
* fix(ci): gate reusable Matrix QA runs
* docs(ci): document Matrix release QA budget
2026-08-05 03:31:00 +08:00
Peter Steinberger
cd4bd7c6c0
fix(tui): cancel buffered submissions on shutdown [AI-assisted] ( #117331 )
...
* fix(tui): cancel buffered submissions on shutdown
* refactor(tui): preserve callable submit coalescer
* test(tui): run local PTY smoke against built CLI
2026-08-01 05:00:05 -07:00
Dallin Romney
bf8da2537c
improve(ci): fail_fast option for release validation, off by default ( #116352 )
...
* ci: make release validation fail-fast optional
* ci: pass release QA fail-fast as boolean
* test: format release validation helper test
2026-07-30 18:53:41 +08:00
Dallin Romney
f027d7bcf6
refactor(qa): make Matrix sharding execution-owned ( #115589 )
...
* refactor(qa): make sharding execution-owned
* test(qa): simplify transport selection coverage
2026-07-29 15:23:37 +08:00
Peter Steinberger
4683c752ed
test(ui): stabilize browser route readiness ( #115320 )
2026-07-28 13:59:05 -04:00
Dallin Romney
9feb6ad161
refactor(qa): make scenario selection taxonomy-owned ( #114055 )
...
* refactor(qa): remove scenario execution profiles
* fix(qa): preserve smoke CI membership
* test(qa): drop redundant smoke pack order check
* refactor(qa): remove Matrix runner profiles
* refactor(qa): simplify Matrix CI orchestration
* refactor(qa): derive execution sets from taxonomy
* fix(qa): keep Matrix shard helper private
* refactor(qa): derive profile scenarios from taxonomy
* refactor(qa): reconcile taxonomy selection
* refactor(qa): use canonical profile planning
* refactor(qa): select canonical coverage owners
* fix(qa): keep profile selector internal
* refactor(qa): remove representative coverage owners
2026-07-28 22:23:41 +08:00
Peter Steinberger
add9205d1a
fix(ui): explain every channel setting and link its docs ( #114844 )
...
* feat(config): give shared channel settings help text
* fix(ui): space the settings tiers and stop repeating help on list items
* feat(ui): link each channel detail to its docs page
* test(ui): mirror production channel hints in the mock dev server
* docs: note the shared channel help inheritance for plugin authors
* fix(config): let a channel suppress shared help with an empty string
* chore(config): regenerate bundled channel metadata for the new WhatsApp hints
* fix(ci): check bundled channel metadata locally
* chore(release): keep changelog release-owned
* chore(release): keep changelog release-owned
* fix(ui): keep shared channel help contract-neutral
2026-07-28 05:25:58 +00:00
Peter Steinberger
054495d16d
fix(ci): verify stale bugs before closure ( #114365 )
2026-07-27 02:25:15 -04:00