Commit graph

5501 commits

Author SHA1 Message Date
Vincent Koc
263d2a2a91
fix(i18n): include concatenated Apple UI strings (#129882)
* fix(i18n): include concatenated Apple UI strings

* test(i18n): cover multiline Apple modifiers
2026-08-26 13:24:48 +08:00
Vincent Koc
67c5a85619
fix(release): bind prerelease plugins into package Telegram QA (#129784)
* fix(release): bind prerelease plugins into package Telegram QA

* fix(release): preserve registry artifact provenance
2026-08-26 13:17:30 +08:00
Vincent Koc
2b06180bb5
fix(package): restore npm package size headroom (#129782)
* fix(package): externalize diffs build outputs

* chore: remove release-owned changelog entry

* fix(build): generate selected plugin assets before Docker staging

---------

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-08-26 12:40:27 +08:00
Peter Steinberger
a5f36aef39
fix(parallels): avoid host networking for macOS upgrades (#129861) 2026-08-25 21:37:00 -07:00
Peter Steinberger
3a37a12d89
fix(package): prevent installs from deleting validated runtime assets (#129724)
* fix(package): enforce postinstall inventory parity

Reject packages whose pruning inventory omits shipped dist assets, and verify every installed bundled plugin artifact survives postinstall. Preserve lifecycle-free historical package compatibility.

Fixes #129722

* fix(package): keep parity helper private

* refactor(package): deduplicate SDK artifact requirements
2026-08-25 21:14:39 -07:00
Peter Steinberger
6f1ed5396e
fix(release): start approved VCR mirror recovery jobs (#129829) 2026-08-25 21:11:18 -07:00
Vincent Koc
db085b7d8f
fix(tooling): arm prompt cleanup before spawn (#129755) 2026-08-26 11:43:39 +08:00
Peter Steinberger
c406ef4b4d
test: consolidate prompt snapshot deltas (#129295) 2026-08-25 20:42:03 -07:00
Peter Steinberger
20b453f155
fix(agents): reject forged plugin owner authority (#104872)
* fix(security): bind channel owner authority to trusted runtime

* fix(plugins): preserve untrusted channel guest ingress

* fix(plugins): snapshot channel ingress authority once
2026-08-25 20:36:05 -07:00
tzy-17
7133f92007
fix(bench): preserve Unicode across bounded gateway diagnostics (#120125) 2026-08-25 20:24:33 -07:00
Peter Steinberger
54b0f9ff85
fix(release): prevent empty VCR mirror inputs (#129467)
* fix(release): preserve VCR mirror source digests

Transport only attestation-verified digests across secret-scanned job outputs, reconstruct immutable GHCR refs inside the VCR mirror, and add an approved mirror-only recovery path.\n\nCloses #129466

* fix(release): verify VCR recovery sources

Revalidate attestations and release-version labels before any VCR registry write so manual recovery preserves the immutable source boundary.

* test(release): keep VCR regression scoped

Leave global workflow-to-test routing cleanup for a follow-up; this PR directly changes and runs both VCR regression suites without forcing metadata-complete CI.

* fix(ci): preserve caches after warmer failures

Finish every selected cache-warm group, save content-keyed transform and compile caches, then fail visibly after the save steps. Ordinary CI remains fail-fast.
2026-08-25 20:15:42 -07:00
Peter Steinberger
b3d3494919
refactor(i18n): compact native source inventory (#129777) 2026-08-25 20:08:10 -07:00
Peter Steinberger
b5fcae34fe
refactor(install): remove obsolete Baileys media hotfix (#129751) 2026-08-25 20:00:29 -07:00
Peter Steinberger
9e8144e8d4
fix(parallels): preserve saved macOS snapshot sessions (#129788) 2026-08-25 19:48:34 -07:00
Peter Steinberger
5e81a346d7
fix(ci): narrow release validation GitHub contract (#129783)
Replace the checker-only broad Octokit shape with exact issue request and response contracts, and make the test harness reject impossible missing issue responses.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-08-25 19:47:59 -07:00
Peter Steinberger
e5173eddd4
fix(parallels): macOS dev upgrade needlessly rebuilds the checkout (#129444)
* fix(parallels): skip packaging for macOS dev upgrades

* fix(test): sanitize compile cache for all vitest children

* test(node-host): honor disabled worker compile-cache fixtures
2026-08-25 19:39:31 -07:00
Patrick Erichsen
004b06b6a0
Release validation: add isolated campaign skill runner (#129726) 2026-08-25 17:58:39 -07:00
Peter Steinberger
5ce9b61ceb
fix(doctor): preserve managed container services (#129527)
* fix(doctor): preserve managed container services

* fix(doctor): scope linger checks to user services

* fix(doctor): limit container repair to user services

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-25 17:48:32 -07:00
Vincent Koc
f457c2cea1
refactor(ios): share Agent Pro detail components (#119868)
* refactor(ios): share Agent Pro detail components

* test(ios): update Agent Pro i18n source contract
2026-08-26 08:41:06 +08:00
Peter Steinberger
6a246f70d1
refactor(state): retire six dead shared-state tables at schema v10 (#129626)
* refactor(state): retire six dead shared-state tables at schema v10

agent_model_catalogs, android_notification_recent_packages,
command_log_entries, diagnostic_stability_bundles, media_blobs, and
model_capability_cache landed with the database-first squash but their
runtime writers never reached main; every stable since v2026.6.10 created
them empty (agent_model_catalogs held only rebuildable catalog cache rows
until #111173 removed its writer). State schema 10 drops all six tables
and seven indexes through both the runtime-open and doctor migration
paths, records the retirements, bumps the native reader ceiling, and
corrects stale database-first doc claims that still named these tables
as canonical stores.

* test: move cross-lane schema-version pins to v10

The v10 retirement missed current-version pins outside src/state: the
native guard vitest wrapper, placement-move and node-worker-launch
same-version assertions, and the audit outbound-progress tripwire. The
pinned pre-C04 audit reader is a v9-era build that now refuses v10
databases by the version contract, so the test projects the file back to
the exact v9 shape with the documented 10-to-9 downgrade fixture before
the reader proof; the shared fixture also seeds the v10 retirement
regression.

* test: keep only the used downgrade fixture export
2026-08-25 17:31:32 -07:00
Vincent Koc
e7d66d0544
fix(ci): run isolated gateway agent methods (#129686) 2026-08-26 08:11:54 +08:00
Peter Steinberger
85d5df1d87
fix(onboarding): OpenAI setup installs mismatched Codex plugin (#129195)
* fix(onboarding): align Codex plugin with core release

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b4-f621-7144-bfdf-a68df795dd57

* test(onboarding): reject unpinned Codex candidates

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b4-f621-7144-bfdf-a68df795dd57

* fix(onboarding): match stable correction release plugin cohorts

Co-authored-by: 許元豪 <146086744+edenfunf@users.noreply.github.com>

* test: isolate plugin metadata and register startup retry coverage

* test: adopt upstream startup retry ownership pattern

* test: keep plugin metadata readers process-stable

* test: isolate terminal session recovery cases

* test: drop speculative gateway isolation change

* test(gateway): mock terminal transcript lifecycle decision

* fix(plugins): align correction cohorts across stable tracks

---------

Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: 許元豪 <146086744+edenfunf@users.noreply.github.com>
Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-08-25 17:03:39 -07:00
Tak Hoffman
b1ea61e847
fix(gateway): restore view-only macOS desktop observation (#128306)
Worked on by:
- @shakkernerd

Co-authored-by: roboclaw-bot <309084314+roboclaw-bot@users.noreply.github.com>
Co-authored-by: shakkernerd <165377636+shakkernerd@users.noreply.github.com>
2026-08-25 16:49:37 -07:00
Peter Steinberger
7782e4af5c
perf(test): speed up authorized beta evidence validation (#129668) 2026-08-25 16:29:48 -07:00
Peter Steinberger
6a1dedb00c
refactor(agents): remove redundant heartbeat system prompts (#129642)
* refactor(agents): remove redundant heartbeat system prompts

* test(agents): align heartbeat cleanup checks and prompt snapshots
2026-08-25 16:10:22 -07:00
Peter Steinberger
0b22075d56
test(agents): keep shared runner integrations in owner lifecycle (#129528) 2026-08-25 15:06:31 -07:00
Peter Steinberger
7dd6d9452e
refactor(apple): canonicalize string catalog formatting (#129592) 2026-08-25 14:23:48 -07:00
Andy Ye
6831959294
fix(installer): honor explicit git checkout targets (#128407)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-25 14:22:45 -07:00
Peter Steinberger
161a52f29b
fix(maintainers): avoid skipped CI runs blocking PR landing (#129428) 2026-08-25 14:21:44 -07:00
Peter Steinberger
31542bc375
fix(i18n): refresh native locales when locale inventory changes (#129438) 2026-08-25 14:12:03 -07:00
Dallin Romney
0ea03f3a3b
fix(ci): apply Kova runtime-major RSS calibration (#127763)
* fix(ci): pin Kova runtime-major RSS calibration

* fix(ci): separate Kova live trust pin

* test(ci): prove Kova live trust boundary
2026-08-25 10:57:57 -07:00
Peter Steinberger
de9a65c30f
refactor(scripts): remove obsolete z.ai fallback reproduction (#129208) 2026-08-25 05:46:28 -07:00
Peter Steinberger
4dc7bb7411
chore(deps): refresh dependencies after seven-day cooldown (#129187)
* chore(deps): refresh dependencies after cooldown

* fix(gateway): emit append-only Responses content events

* chore(deps): retain unverified Sherpa runtime
2026-08-25 05:00:46 -07:00
Peter Steinberger
fff5eb05f6
fix(release): allow ANSI in focused evidence logs (#129238)
* fix(release): allow ANSI in focused evidence logs

* test(release): exercise focused log fallback
2026-08-25 04:25:39 -07:00
Peter Steinberger
5af05ab1a2
improve: validate built CLI with Bun 1.4 (#129192)
* ci: validate built CLI with Bun 1.4

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

* test: align Bun Docker image assertion

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

* test: tolerate cold CLI startup in CI

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-08-25 03:44:57 -07:00
Peter Steinberger
33d8f24c99
refactor(agents): move live model policy to test owner (#129184)
* refactor(agents): move live model policy to test owner

* test(agents): retain dynamic live model policy map types
2026-08-25 03:41:36 -07:00
Peter Steinberger
e33606ef10
fix(release): verify focused candidate checkout (#129201)
* fix(release): verify focused candidate checkout

* fix(release): ignore unselected historical validation children
2026-08-25 03:17:24 -07:00
Josh Lehman
06e0f385f7
test(onboard): handle telemetry consent prompt (#128943) 2026-08-25 02:06:02 -07:00
Peter Steinberger
bea9084913
fix(pr): avoid OS argument limits during worktree recovery (#129169) 2026-08-25 02:02:14 -07:00
Peter Steinberger
afa89f03ee
fix(release): preserve focused evidence lineage (#129060)
* fix(release): preserve focused evidence lineage

* fix(release): bind focused evidence to authorized tooling

* fix(release): revalidate focused evidence after Docker approval
2026-08-25 01:58:18 -07:00
Peter Steinberger
72b06b0077
fix(release): keep polling before decision artifacts exist (#129166)
Handle GitHub's current missing-artifact message without abandoning active full validation, while preserving early blocker decisions. Covers #129104.
2026-08-25 01:55:19 -07:00
tzy-17
aa3e0ae429
fix(i18n): keep surrogate pairs intact when bounding process output tail (#120114)
* fix(i18n): keep surrogate pairs intact when bounding process output tail

appendBoundedProcessOutput used nextText.slice(-maxChars) to keep the
newest maxChars of captured process output. When the boundary landed
inside a UTF-16 surrogate pair (e.g. emoji in stderr), the retained
tail began with a dangling low surrogate, corrupting downstream JSON
serialization and fatal TextDecoder paths.

Switch to sliceUtf16Safe(nextText, -maxChars) from normalization-core,
which adjusts the boundary off the surrogate pair. The helper was
already imported elsewhere in the dependency graph.

* fix(i18n): count actually-dropped units when bounding surrogate-safe tail

Address ClawSweeper P2 finding on PR #120114: sliceUtf16Safe may
return fewer than maxChars code units when it advances past a low
surrogate at the boundary, so truncatedChars must derive from the
actual retained tail length rather than maxChars. For the emoji
case ("ab😀cdef", maxChars=5) the safe slice retains "cdef" (4
units), so 4 units are dropped, not 3.

Compute truncatedChars from nextText.length - text.length and
update the regression test expectation to 4.
2026-08-25 01:51:03 -07:00
Vincent Koc
063fcaf89e
improve(ci): add trusted FRV proof broker (#128966)
* improve(ci): add trusted FRV proof broker

* fix(ci): tighten FRV proof broker boundaries

* test(ci): narrow FRV broker workflow lookup

* fix(ci): renew FRV broker mutation authority

* fix(ci): bind FRV proof to broker attempt
2026-08-25 16:36:50 +08:00
Peter Steinberger
1285a08716
fix(codex): preserve native subagent gateway delivery (#129109) 2026-08-25 01:19:02 -07:00
Peter Steinberger
8759a58781
refactor(i18n): share canonical native app locales (#129100) 2026-08-25 01:12:29 -07:00
Vincent Koc
7ba58abd93
improve(ci): enforce temp path guard in hosted checks (#129000) 2026-08-25 15:51:04 +08:00
Peter Steinberger
851f8a2921
refactor(scripts): remove impossible cross-os gateway branches (#129053) 2026-08-25 00:07:24 -07:00
Peter Steinberger
ce84d83622
fix(gateway): fill sparse history pages and add fast coverage (#129047) 2026-08-24 23:42:33 -07:00
ClawSweeper
b68c136609
feat(codex): upgrade main to app-server 0.149.1 (#128370)
* feat(codex): upgrade app-server integration to 0.149.0

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>

* fix(codex): harden full app-server integration and lifecycle

* fix(codex): scope guardian trust and satisfy integration gates

* fix(codex): keep guardian startup and router tests within gates

* chore(codex): tighten guardian assertion safety baseline

* fix(ui): preserve sidebar icon path contracts

* test(codex): align side-question auth fixture

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* style(codex): format transcript mirror imports

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* test(codex): preserve native approval decisions

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* test(codex): isolate app cache and catalog fixtures

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix(ui): render guardian review and system notices

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* test(codex): isolate native approval decisions

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix(codex): revalidate reviewer config trust

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* chore(codex): update app-server to 0.149.1

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* test(codex): align desktop version warning

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix(ui): scope notices to the active run

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* fix(codex): isolate review, hosted app, and auth ownership

Co-authored-by: Vito Cappello <hixvac@gmail.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>

* chore(codex): keep release notes out of the release-owned changelog

* test(codex): reject reviewer cancellation with its explicit error

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: roboclaw-bot <309084314+roboclaw-bot@users.noreply.github.com>
Co-authored-by: Vito Cappello <hixvac@gmail.com>
2026-08-24 19:50:22 -07:00
Vincent Koc
e27433c22e
improve(ci): shard iOS screenshot capture (#128460)
* perf(ci): shard iOS screenshot capture

* fix(ci): bind iOS screenshot shard evidence

* fix(ci): preserve screenshot capture attempts

* fix(ci): align screenshot shards with Xcode 26.6

* fix(ci): provision screenshot shard Fastlane

* fix(ci): normalize Fastlane provenance version

* fix(ci): select installed Fastlane version
2026-08-24 16:59:06 -07:00