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
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
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
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
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
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
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
f4987deb94
fix(ci): support frozen validation scripts ( #121458 )
2026-08-10 14:49:51 +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
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
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
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
1823be79ce
fix(ci): provision native Android resources for frozen current-contract targets ( #120081 )
2026-08-07 11:37:04 +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
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
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
564c6dee83
fix(ci): stabilize checkout and Testbox preparation ( #115795 )
2026-08-02 11:54:23 +08:00
Peter Steinberger
8a36e0470c
Build export HTML vendor assets from pinned dependencies ( #117583 )
...
* build: generate export html vendor assets
* build: declare marked generator contract
* fix(build): preserve export asset working root
* fix(build): preserve postbuild root ownership
* test(build): update Docker TypeScript step count
2026-08-01 15:03:35 -07:00
Omar Shahine
5db7e1c4ec
fix(talk): preserve owner authorization in realtime consults ( #114163 )
...
* feat(talk): forward realtime consult sender auth
* docs(talk): clarify realtime sender auth contract
* ci: constrain oxlint on hosted runners
* ci: split oxlint core on hosted runners
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-08-01 09:37:17 -07:00
Peter Steinberger
9e43844264
build: generate native Canvas resources on demand ( #117424 )
2026-08-01 08:16:56 -07: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
Vincent Koc
90a22b4f50
chore(test): run browser copilot E2E in CI ( #116407 )
...
* test(browser): run copilot E2E in CI
* test(browser): stabilize copilot E2E synchronization
* test(browser): wake extension workers deterministically
* test(ci): route browser copilot command changes
2026-07-30 23:20:34 +08:00
joshavant
28f73d93c1
fix(ios): isolate capability router handlers
2026-07-30 03:04:42 -05:00
Dallin Romney
c8f0db2c24
fix(ci): load frozen shard runner without repository fetch ( #116273 )
...
* fix(ci): load frozen shard runner without repository fetch
* test(ci): preserve workflow expression delimiters
* fix(ci): use non-cone frozen runner checkout
2026-07-30 15:37:44 +08:00
Peter Steinberger
5a3c3b3f4f
fix(ci): explicitly serialize hosted Swift tests ( #116167 )
2026-07-29 18:55:37 -07:00
Peter Steinberger
1165be39ff
ci: serialize hosted macOS Swift tests ( #116137 )
2026-07-29 17:40:41 -07:00
Dallin Romney
2fa91f48d0
fix(ci): validate frozen release candidates ( #115605 )
...
* fix(ci): support historical i18n targets
* test(ci): cover historical i18n verification
2026-07-29 13:43:39 +08:00
Peter Steinberger
a8fb4872fb
refactor: harden shell completion and shard Control UI E2E ( #115332 )
...
* refactor: harden CLI completion and shard Control UI E2E
* fix: keep completion command-tree result private
* fix: remove unused browser test helper exports
* test: cover sharded Control UI workflow contract
2026-07-28 14:35:27 -04:00
Peter Steinberger
4683c752ed
test(ui): stabilize browser route readiness ( #115320 )
2026-07-28 13:59:05 -04:00
Yue Fei
1b4a465ea1
feat(gateway): accept WebSocket request trace context ( #113189 )
...
* feat(gateway): accept WebSocket request trace context
* test(gateway): prove WebSocket trace isolation
* test(gateway): simplify traced response match
* ci: allow iOS screenshot validation to finish
* fix(gateway): keep traced request failures scoped
* test(ci): align iOS screenshot timeout contract
* test(ui): reset config route location
* ci: scope iOS screenshots to native changes
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-28 13:15:05 -04:00
Vincent Koc
8f40fac955
fix(ci): run localization checks for UI changes
2026-07-28 23:47:14 +08:00
Peter Steinberger
c141496217
fix: full release validation avoids embedded-agent shard stalls ( #115019 )
...
* ci: use scoped embedded-agent timeouts
* ci: align frozen-target test watchdogs
* ci: align embedded-agent timeout assertions
2026-07-28 04:38:32 -04:00
Peter Steinberger
1e3a4a69b5
fix: preserve native trace heading typography ( #103436 )
...
* fix(ios): preserve native trace heading typography
* test(ios): attach trace heading visual proof
* test(ios): import shared chat UI for visual proof
2026-07-28 00:01:44 -04:00
metaforismo
a84ea8b732
fix(ios): suppress stale delayed UI actions ( #113062 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 23:19:07 -04:00