Commit Graph

287 Commits

Author SHA1 Message Date
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
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
Peter Steinberger 96b0cf95ef fix(gateway): restore restart preflight compatibility (#121757)
* fix(gateway): restore restart preflight compatibility

* ci(protocol): preserve restored method vintages

* chore: defer compatibility note to release
2026-08-10 16:43:27 -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
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
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
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 64695e5024 chore: detect export name collisions (#121300)
* chore(scripts): add export-name-collision check with debt baseline

* chore(scripts): allowlist per-module test-hook export idiom

* chore(scripts): recognize const forwarders, harness files, and JS sources in collision check
2026-08-09 18:58:28 -07: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
Vincent Koc 106cdd18a9 fix(ci): shard release merge-tree lint (#120421)
* fix(ci): shard release merge-tree lint

Punchcard-Session: amber-workshop-workshop-36

* fix(ci): resolve branch-creation push base

Punchcard-Session: amber-workshop-workshop-36

* fix(ci): follow Oxlint shard runner rename

Punchcard-Session: amber-workshop-workshop-36
2026-08-10 00:48:44 +08:00
Peter Steinberger 4b85d834ed fix(ci): sparse-checkout the renamed local-heavy-check-runtime.mts on the frozen shard lane (#121097) 2026-08-09 08:59:30 -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
Peter Steinberger b869d5e73f fix(workers): skip shared-host quiescence sweeps (#120969)
* fix(workers): skip shared-host quiescence sweeps

Refs #120952.

* test(workers): update shared-host fixtures

Refs #120952.

* fix(workers): reconcile shared-host lease metadata

* fix(workers): fence unknown lease isolation

* chore(plugin-sdk): refresh API baseline

* fix(workers): fence tunnel isolation updates

* docs(workers): clarify shared-host final fences

* ci: invalidate Vitest cache for state schemas

* refactor(workers): import stableWorkerPathComponent from its defining module

workspace-sync.ts crossed the 700-line lint budget by one; drop its
re-export and point consumers at workspace-sync-helpers directly.
2026-08-09 04:34:39 -07:00
Peter Steinberger 26ee1b4935 fix(doctor): enforce deprecation registry deadlines (#120868) 2026-08-08 21:19:04 -07:00
Peter Steinberger 5cf9c9cda6 ci: extend watchdog for cold migration proofs (#120700) 2026-08-08 18:03:16 -07:00
Vincent Koc 13322b2adc fix(ci): run every changed-scope routing suite (#120625) 2026-08-09 00:50:17 +08:00
Peter Steinberger caa50686ea fix(ci): clear Mantis reactions with app identity (#120523) 2026-08-08 05:00:08 -07:00
Peter Steinberger 95ea82b1e5 fix(ci): restore deterministic main checks (#120501)
* fix(plugin-sdk): stabilize session catalog baseline

* test(doctor): isolate bind persistence inventory

* fix(ci): prepare max-lines base during checkout

* test(sessions): align freshness regression fixtures

* style(tests): format context usage fixture

* fix(ci): preserve token provenance and isolate fork credentials

Finish the canonical token-provenance fixtures while preserving the
latest maintainer-owned unavailable-usage ordering. Limit the diff-base
GitHub token to manual non-release comparisons and guard that fork
isolation invariant in the existing workflow regression test.

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>

* test(ui): identify actual managed image eviction

* fix(ci): reuse the validated protocol comparison base

Consume the immutable diff base already resolved and validated by
preflight for every CI event. Remove the dead duplicate manual
GitHub lookup and unreachable fallbacks, and guard the single
authoritative path without changing fork credential isolation.

* test(sessions): preserve stale total expectation

* test(ui): arm reconnect deferral before disconnect

---------

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>
2026-08-08 03:36:35 -07: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 8c68f74ef9 fix(ci): align hosted gates with workflow applicability (#120313) 2026-08-08 03:59:27 +08:00
Vincent Koc 1823be79ce fix(ci): provision native Android resources for frozen current-contract targets (#120081) 2026-08-07 11:37:04 +08:00
Peter Steinberger 83d586083d test(ci): assert timeout signals from supervisor log (#119889) 2026-08-06 02:15:56 -07:00
Vincent Koc 7dcb1ad5ce fix(qa): attest realized profile executions (#119761)
* fix(qa): attest profile execution plans

Persist the canonical profile membership partition and scheduler-owned expected and observed execution cells in QA evidence. Validate successful evidence completeness and bind the canonical plan digest into workflow manifests.

Punchcard-Session: silver-meadow-lantern-vx

* test(ci): exercise QA evidence artifact round trips

Punchcard-Session: silver-meadow-lantern-vx

* fix(qa): record only realized profile executions

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
Co-authored-by: ruel225 <ruel225@users.noreply.github.com>
Punchcard-Session: silver-meadow-lantern-vx

* test(qa): type realized channel evidence

Punchcard-Session: silver-meadow-lantern-vx

---------

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
Co-authored-by: ruel225 <ruel225@users.noreply.github.com>
2026-08-06 08:33:02 +08:00
Peter Steinberger e7b7d1c8cd fix(ci): stop label-driven automation churn (#119610) 2026-08-05 06:53:23 -07:00
Vincent Koc 4b37a05225 fix(ci): preserve QA profile evidence on timeout (#119572)
* fix(ci): preserve QA profile timeout evidence

Punchcard-Session: silver-valley-valley-dt

* fix(ci): classify QA timeout escalation

Punchcard-Session: silver-valley-valley-dt

* fix(ci): distinguish QA watchdog expiry

Punchcard-Session: silver-valley-valley-dt

* test(ci): type QA watchdog signal expectations

Punchcard-Session: silver-valley-valley-dt
2026-08-05 21:06:35 +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 e4aab26d01 fix(cli): avoid repeated migration scans during local agent turns (#119051)
* fix(cli): avoid repeated state migration scans

* fix(build): preserve source runtime provenance

* fix(cli): persist state checkpoint before plugin convergence

* fix(cli): invalidate migration checkpoints on input changes

* fix(plugins): refresh changed doctor contracts

* fix(plugins): preserve warm Doctor contract indexes

* test(plugins): align manifest registry fixtures

* test(cli): isolate ACP process state

* fix(doctor): persist refreshed plugin indexes

* fix(doctor): verify persisted plugin index from disk

* fix(doctor): fence plugin index persistence

* fix(doctor): retain validated migration lease

* fix(plugins): canonicalize persisted build metadata

* fix(plugins): preserve config policy during install repair
2026-08-04 20:28:16 +08:00
Peter Steinberger 9f5f55bb88 fix(ci): budget hosted artifact checks for contributor forks (#118530) 2026-08-03 00:00:29 -07:00
Peter Steinberger 7c70571683 chore(lint): clear 172 lint:all baseline violations in five batches (#118098)
* chore(lint): clean Android-Linux app assets batch

* chore(lint): clean setup-launcher-plugin batch

* chore(lint): clean changelog-updater batch

* chore(lint): clean QA-runtime-helper batch

* chore(lint): clean script-tests batch

* fix(mxc): await sandbox spawn before bridge selection

* fix(test): make fake plutil metacharacter escaping survive the template hop
2026-08-02 14:08:09 -07:00
Peter Steinberger 9236fb854c ci: avoid full QA smoke package rebuild (#118111)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 11:35:11 -07:00
Dallin Romney c9dc5fb339 ci(qa): extend profile evidence timeout (#117999) 2026-08-02 22:14:34 +08:00
Dallin Romney dea6fb3b25 QA: allow scorecard generation from incomplete evidence (#117975) 2026-08-02 20:19:11 +08:00
Dallin Romney 3346507d84 fix(ci): fetch shallow Testbox base refs (#117940)
* fix(ci): fetch shallow Testbox base refs

* fix(ci): resolve Testbox base before setup
2026-08-02 19:38:20 +08:00
Dallin Romney 564c6dee83 fix(ci): stabilize checkout and Testbox preparation (#115795) 2026-08-02 11:54:23 +08:00
Vincent Koc 263741b1f0 fix(ci): align release validation fixtures (#117494)
* fix(release): align beta 6 e2e fixtures

* fix(doctor): preserve missing state startup signal

* test(release): align beta e2e contracts

* test(agents): use canonical empty auth store

* test(agents): isolate prompt cooldown scheduling

* test(release): align main validation fixtures

* test(release): accept Code Mode plugin tool evidence

* fix(test): repair release validation checks

* test(cron): assert structured session targets
2026-08-02 00:39:36 +08:00