Peter Steinberger
83ebbcb3ac
fix(crabbox): retry cold metadata probes so a slow run --help does not block validation ( #102159 )
...
The wrapper probes `crabbox --version` and `crabbox run --help` once each with a
snappy 5s timeout to enumerate providers before delegating. A cold Crabbox — the
first call right after a version bump, or one on a loaded machine — can exceed
that timeout while rendering `run --help` (52KB, emitted on stderr in 0.36) or
doing first-run init, and can emit nothing on that first call. When that happens
both guards fire and hard-exit the wrapper ("selected binary failed basic
--version/--help sanity checks" or "could not parse provider list from --help;
refusing to run"), which blocks ALL remote validation (`pnpm check:changed`,
remote `pnpm test` lanes) even though the binary is fine.
Retry each metadata probe once with a generous 20s timeout when the first attempt
is killed or returns empty. The warm path is unchanged (one ~instant probe); only
a slow/empty first probe pays for the retry, after which the sanity/provider-list
guards judge the recovered result. Add a regression test: a fake Crabbox whose
`run --help` is slower than the default probe timeout (and, like 0.36, writes help
to stderr) is now recovered by the retry instead of hard-failing.
2026-07-08 12:53:48 +01:00
Jason (Json)
2fbd4cdcba
fix(installer): complete first-run onboarding ( #101901 )
...
* fix(installer): complete first-run onboarding
* docs(installer): document finalization paths
* fix(installer): honor verify without tty
* fix(installer): align config finalization
2026-07-07 18:23:56 -06:00
Vincent Koc
d563101a82
refactor(deadcode): localize test and tooling helpers ( #101875 )
2026-07-07 13:45:26 -07:00
joshavant
75e3aa293a
fix(qa): use valid Convex module filename
2026-07-07 15:04:53 -05:00
Peter Steinberger
a6768d9de5
feat(cron): event triggers — polled condition-watcher scripts via code mode ( #101195 )
...
* feat(cron): add headless code-mode driver and trigger-script evaluator
Part A of cron event triggers: runCodeModeScriptHeadless runs a script
to completion (exec/settle/resume, no snapshots, no session), plus the
cron-facing evaluator with per-job tool catalog cache, semaphore, 16KB
state cap, and closed failure taxonomy.
* fix(cron): correct trigger-script bootstrap flags and cache narrowing
* feat(cron): add event triggers (polled condition-watcher scripts)
Part B: trigger field on cron jobs gated by cron.triggers.enabled;
timer evaluates the script each due tick, quiet ticks leave no run
history, fired runs append the script message to the payload; once
semantics, min-interval floor, SQLite columns, RPC/CLI/agent-tool
surfaces, and docs.
* fix(cron): propagate triggerEval through startup catch-up outcomes
* fix(cron): honor cron staggering on quiet trigger ticks; fix trigger test types
* fix(cron): reject with Error reason in trigger-script abort test
* fix(cron): regenerate protocol/docs/snapshot artifacts and break madge cycle for trigger types
CI fixes for #101195 : trigger evaluator result types move to the cron
types leaf (madge cycle), cron tool schema inventory gains trigger,
Swift protocol bindings + docs map + Linux prompt snapshots regenerated.
* fix(cron): drop underscore-dangle names in trigger code sync assert
* fix(cron): adopt registerHeadlessToolSearchCatalog after tool-search symbol localization
Upstream #101831 made registerToolSearchCatalog module-private; fold the
headless ref-only catalog registration into one public seam.
2026-07-07 19:12:38 +01:00
Josh Lehman
453f5968bb
refactor(gateway): route chat transcript injection through the session accessor ( #101688 )
...
* refactor(gateway): route chat transcript injection through the session accessor
* fix(gateway): avoid map-spread in source reply mirror rewrite results
* perf(sessions): find injected transcript duplicates with a reverse early-exit scan
2026-07-07 09:10:30 -07:00
Peter Steinberger
ed28c57e20
fix(codex): validate maintained app-server types ( #101726 )
...
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-07 15:48:08 +01:00
Kevin Lin
72ca911e3c
fix(release): allow SHA-only extended-stable preflight ( #101466 )
2026-07-07 07:45:55 -07:00
Peter Steinberger
b95b9e4487
test: remove stale native i18n sentinel ( #101689 )
2026-07-07 14:32:49 +01:00
lsr911
37d613a596
fix(codex): use truncateUtf16Safe for attempt notification text truncation ( #101534 )
...
* fix(codex): use truncateUtf16Safe for attempt notification text truncation
.slice(0, 237) on notification text can split surrogate pairs from
CJK characters or emoji in agent output, producing U+FFFD in Codex
desktop notifications.
Co-Authored-By: Claude <noreply@anthropic.com >
* test(codex): cover UTF-16-safe attempt previews
* test(codex): assign notification coverage to a shard
---------
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 12:00:35 +01:00
Vincent Koc
b9a3db13f1
test(e2e): parse corrupt plugin timeouts as decimal
2026-07-07 12:03:11 +02:00
Vincent Koc
a9c0592831
test(e2e): align corrupt plugin update timeout
2026-07-07 12:03:10 +02:00
brokemac79
037412ec7d
ci(mantis): add web UI chat proof lane ( #100472 )
...
* ci(mantis): add web ui chat proof lane
* ci(mantis): tighten web ui proof candidate parsing
* ci: tighten Mantis Web UI proof lane
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 10:54:35 +01:00
Peter Steinberger
bc5a82b26d
fix(android): auto-detect the Android SDK when fresh worktrees lack local.properties ( #101273 )
2026-07-07 10:22:07 +01:00
Vincent Koc
202d90041d
test(e2e): authorize doctor install switch repairs
2026-07-07 11:15:05 +02:00
Vincent Koc
07a765522a
test(mcp): bind channel non-owner gateway client
2026-07-07 09:39:26 +02:00
Peter Steinberger
cb9de7d361
chore(android): update dependencies and compile with API 37 ( #101356 )
...
* build(deps): bump the android-deps group across 1 directory with 14 updates
Bumps the android-deps group with 14 updates in the /apps/android directory:
| Package | From | To |
| --- | --- | --- |
| [gradle-wrapper](https://github.com/gradle/gradle ) | `9.5.1` | `9.6.1` |
| androidx.compose:compose-bom | `2026.05.01` | `2026.06.01` |
| androidx.core:core-ktx | `1.18.0` | `1.19.0` |
| androidx.lifecycle:lifecycle-runtime-ktx | `2.10.0` | `2.11.0` |
| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java ) | `0.28.0` | `0.29.0` |
| [org.commonmark:commonmark-ext-autolink](https://github.com/commonmark/commonmark-java ) | `0.28.0` | `0.29.0` |
| [org.commonmark:commonmark-ext-gfm-strikethrough](https://github.com/commonmark/commonmark-java ) | `0.28.0` | `0.29.0` |
| [org.commonmark:commonmark-ext-gfm-tables](https://github.com/commonmark/commonmark-java ) | `0.28.0` | `0.29.0` |
| [org.commonmark:commonmark-ext-task-list-items](https://github.com/commonmark/commonmark-java ) | `0.28.0` | `0.29.0` |
| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework ) | `6.1.0` | `6.1.1` |
| [io.kotest:kotest-assertions-core-jvm](https://github.com/kotest/kotest ) | `6.1.11` | `6.2.1` |
| [io.kotest:kotest-runner-junit5-jvm](https://github.com/kotest/kotest ) | `6.1.11` | `6.2.1` |
| [com.squareup.okhttp3:mockwebserver](https://github.com/square/okhttp ) | `5.3.2` | `5.4.0` |
| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp ) | `5.3.2` | `5.4.0` |
Updates `gradle-wrapper` from 9.5.1 to 9.6.1
- [Release notes](https://github.com/gradle/gradle/releases )
- [Commits](https://github.com/gradle/gradle/compare/v9.5.1...v9.6.1 )
Updates `androidx.compose:compose-bom` from 2026.05.01 to 2026.06.01
Updates `androidx.core:core-ktx` from 1.18.0 to 1.19.0
Updates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.10.0 to 2.11.0
Updates `org.commonmark:commonmark` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-autolink` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-gfm-strikethrough` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-gfm-tables` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-task-list-items` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-autolink` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-gfm-strikethrough` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-gfm-tables` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.commonmark:commonmark-ext-task-list-items` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/commonmark/commonmark-java/releases )
- [Changelog](https://github.com/commonmark/commonmark-java/blob/main/CHANGELOG.md )
- [Commits](https://github.com/commonmark/commonmark-java/compare/commonmark-parent-0.28.0...commonmark-parent-0.29.0 )
Updates `org.junit.vintage:junit-vintage-engine` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/junit-team/junit-framework/releases )
- [Commits](https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1 )
Updates `io.kotest:kotest-assertions-core-jvm` from 6.1.11 to 6.2.1
- [Release notes](https://github.com/kotest/kotest/releases )
- [Commits](https://github.com/kotest/kotest/compare/6.1.11...6.2.1 )
Updates `io.kotest:kotest-runner-junit5-jvm` from 6.1.11 to 6.2.1
- [Release notes](https://github.com/kotest/kotest/releases )
- [Commits](https://github.com/kotest/kotest/compare/6.1.11...6.2.1 )
Updates `io.kotest:kotest-runner-junit5-jvm` from 6.1.11 to 6.2.1
- [Release notes](https://github.com/kotest/kotest/releases )
- [Commits](https://github.com/kotest/kotest/compare/6.1.11...6.2.1 )
Updates `com.squareup.okhttp3:mockwebserver` from 5.3.2 to 5.4.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.4.0 )
Updates `com.squareup.okhttp3:okhttp` from 5.3.2 to 5.4.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.4.0 )
Updates `com.squareup.okhttp3:okhttp` from 5.3.2 to 5.4.0
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.4.0 )
---
updated-dependencies:
- dependency-name: androidx.compose:compose-bom
dependency-version: 2026.06.01
dependency-type: direct:production
dependency-group: android-deps
- dependency-name: androidx.core:core-ktx
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: androidx.lifecycle:lifecycle-runtime-ktx
dependency-version: 2.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: com.squareup.okhttp3:mockwebserver
dependency-version: 5.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: com.squareup.okhttp3:okhttp
dependency-version: 5.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: gradle-wrapper
dependency-version: 9.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: io.kotest:kotest-assertions-core-jvm
dependency-version: 6.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: io.kotest:kotest-runner-junit5-jvm
dependency-version: 6.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: io.kotest:kotest-runner-junit5-jvm
dependency-version: 6.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-autolink
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-autolink
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-strikethrough
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-strikethrough
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-tables
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-gfm-tables
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-task-list-items
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.commonmark:commonmark-ext-task-list-items
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: android-deps
- dependency-name: org.junit.vintage:junit-vintage-engine
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: android-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
* build(android): compile dependencies against API 37
* chore(android): refresh native i18n inventory
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 08:00:55 +01:00
Peter Steinberger
8c0b3a784a
perf(test): overlap runtime cleanup proofs
2026-07-07 02:47:28 -04:00
xingzhou
de152b1f65
fix(plugin-sdk): align speech runtime packaging ( #89899 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 07:38:41 +01:00
Vincent Koc
6e6d1aac4c
test(openai): add focused realtime live smoke
2026-07-06 23:22:33 -07:00
Peter Steinberger
09977a9328
perf(test): overlap restart CLI probes
2026-07-07 02:03:36 -04:00
Peter Steinberger
d69c5ba116
perf(test): overlap process guard waits
2026-07-07 01:38:21 -04:00
Vincent Koc
f643c9b2f8
perf(ci): raise Node shard parallelism to 28 ( #101174 )
2026-07-06 21:59:22 -07:00
Peter Steinberger
1898afe076
perf(test): overlap PowerShell installer exit checks
2026-07-07 00:57:24 -04:00
Peter Steinberger
e5798e5477
refactor(codex): raise app-server floor to 0.142, drop range compat, fix deferred spawn_agent steering ( #101221 )
...
* refactor(codex): raise app-server floor to 0.142 and drop range-compat protocol paths
* refactor(codex): model subagent mirror state as one map
* style(codex): format event-projector
* test(codex): drop unused shared-client test import
* refactor(codex): drop v1-era notification field aliases
* fix(codex): teach models to load deferred native spawn_agent via tool_search
* docs(codex): realign harness config tables
* docs(changelog): note Codex app-server protocol update
2026-07-07 05:48:53 +01:00
Peter Steinberger
db42f05efe
perf(test): batch source directory routing assertions
2026-07-07 00:27:23 -04:00
Alex Knight
87a17920a0
fix(diagnostics-otel): surface error message on run/harness error spans ( #101244 )
...
* fix(diagnostics-otel): surface error message on run/harness error spans
Errored openclaw.run / openclaw.harness.run spans only carried a
low-cardinality errorCategory (or a hardcoded "error"), so trace UIs
showed "outcome error" with no message. Thread the redacted error
message through run.completed / harness.run.completed / harness.run.error
onto an openclaw.error span attribute + span status, mirroring
recordWebhookError. The raw message stays off metric attrs to preserve
cardinality; support-bundle redaction covers the new error field by name.
* fix(diagnostics-otel): harden run failure telemetry
Co-authored-by: Alex Knight <aknight@atlassian.com >
* test(diagnostics-otel): assert wire-level redaction
* chore(changelog): defer release note to release process
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-07 04:29:39 +01:00
Peter Steinberger
4fa8af486f
perf(test): drop redundant benchmark cli spawn
2026-07-06 22:44:30 -04:00
Peter Steinberger
f3106057e6
perf(test): batch install PowerShell cases
2026-07-06 21:47:22 -04:00
Josh Lehman
cb0d8a1294
refactor(sessions): move inbound meta, goals, and delivery reads behind the session accessor ( #101180 )
2026-07-06 18:07:26 -07:00
Josh Lehman
4e2a80cac3
refactor(sessions): route new session store bypasses through the accessor ( #101179 )
2026-07-06 18:05:18 -07:00
Vincent Koc
74bb2ad7a5
fix(package): reuse bundled artifact for install smoke
2026-07-07 02:31:09 +02:00
Peter Steinberger
aed2482292
fix(qa): restore automatic smoke coverage across channels ( #101186 )
...
* fix(qa): restore channel-sharded smoke coverage
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
* fix(qa): restore channel-sharded smoke coverage
* fix(qa): restore channel-sharded smoke coverage
* fix(qa): restore channel-sharded smoke coverage
---------
Co-authored-by: Vincent Koc <25068+vincentkoc@users.noreply.github.com >
Co-authored-by: Dallin Romney <dallinromney@gmail.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-06 17:09:40 -07:00
Peter Steinberger
054e3675e1
feat(android): publish signed APKs with stable releases ( #101212 )
...
* feat(android): publish signed release APKs
* fix(android): preserve fallback corrections
* test(android): isolate APK signer fixtures
* docs: refresh generated docs map
2026-07-07 00:39:59 +01:00
Dallin Romney
95e3b9243b
test: execute media and Talk runtime boundaries ( #101091 )
...
* test: execute media and Talk runtime boundaries
* test(qa): centralize gateway fixture startup
* test(qa): check in voice call plugin fixture
2026-07-06 16:25:33 -07:00
Peter Steinberger
317aa89af5
perf(test): unit-test parallels validation failures
2026-07-06 19:16:56 -04:00
Peter Steinberger
4c6c9660c3
fix(install): raise postinstall dist scan budget so npm upgrades cannot trip the shared cap ( #101206 )
...
The single InstalledDistScanBudget is consumed across all three prune
walks (legacy-deps prepass, dist file listing, empty-dir sweep). During
an npm upgrade the dist dir transiently holds old+new content-hashed
files, so a real upgrade scan totals ~24k entries against the 25k cap;
one more release of dist growth would make 'npm install -g openclaw'
throw InstalledDistScanLimitError for every upgrading user. Raise the
cap to 100k for real headroom while keeping the unbounded-scan guard,
and ratchet the cap in the test so it cannot be lowered back.
2026-07-07 00:07:05 +01:00
Peter Steinberger
2424fdf8e5
ci: keep native landing validation off queued Blacksmith capacity ( #101196 )
...
* ci: route native i18n release gates to hosted runners
* ci: keep Testbox PR validation on hosted runners
* fix(ci): gate Testbox lifecycle to real leases
2026-07-06 23:14:27 +01:00
Peter Steinberger
246b5bbcca
perf(test): run docs i18n partitions concurrently
2026-07-06 17:31:23 -04:00
Josh Lehman
c7295e417d
chore(scripts): add debt ratchet to the session-accessor boundary guard ( #101178 )
...
* chore(scripts): add debt ratchet baseline to session-accessor boundary gate
* fix(scripts): fail session-accessor debt gate until baseline ratchets down
2026-07-06 13:55:16 -07:00
Dallin Romney
6bffda4166
ci: temporarily disable QA smoke ( #101185 )
2026-07-06 13:38:33 -07:00
Dallin Romney
66b4dcf184
chore(docker): execute Compose and package artifact proofs ( #101045 )
...
* test(docker): prove Compose and package artifacts
* test(docker): use bounded container cleanup
* test(docker): bound package proof launch
* test(qa): keep Docker artifact proofs release-only
* test(docker): simplify artifact proof names
* test(docker): satisfy identity writer lint
2026-07-06 13:05:34 -07:00
Dallin Romney
2f7299eaa5
test(qa): add provider runtime evidence ( #101051 )
2026-07-06 13:01:32 -07:00
Peter Steinberger
2723628dd9
perf(test): unit-test crabbox provider aliases
2026-07-06 14:52:53 -04:00
Bryan Tegomoh, MD, MPH
e88f5cea7e
fix(test): skip live auth browser caches ( #91907 )
...
* fix(test): skip live auth browser caches
* fix(test): scope Gemini live auth exclusions
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-06 18:57:48 +01:00
Dallin Romney
d2e6ccf4bb
refactor(test): consolidate script declaration contracts ( #100992 )
2026-07-06 10:26:51 -07:00
Dallin Romney
a45c0999ce
refactor(plugins): require initialized registry collections ( #100990 )
...
* refactor(plugins): require initialized registry collections
* test(plugins): keep empty registry imports lightweight
2026-07-06 10:25:22 -07:00
Peter Steinberger
553acdfc1a
feat(gateway): add tts.speak method returning synthesized audio inline ( #100770 )
...
* feat(gateway): add tts.speak method returning synthesized audio inline
* test(gateway): type tts.speak synthesis mock for failure shapes
* fix(gateway): restore lowercase normalizer import used by talk catalog
* test(gateway): shift advertised-method window for tts.speak
* fix(gateway): ready tts speak for landing
* docs(changelog): record tts speak gateway API
* test(agents): stabilize fast auto startup synchronization
* test(crabbox): stabilize sparse checkout exit guard
2026-07-06 18:25:08 +01:00
Vincent Koc
3ad77774f0
fix: carry 2026.7.1 stability repairs into main ( #101043 )
...
* fix(telegram): throttle reconnect delivery drains
(cherry picked from commit 7182c74d04 )
* fix(agents): honor aborts during session lock acquisition
(cherry picked from commit 6443c2a552 )
* fix(cli): prefer installed launcher package roots
(cherry picked from commit 37e1b324db )
* fix(e2e): allow Linux onboarding to finish
(cherry picked from commit 88192552a0 )
* fix(e2e): scrub single-plugin allowlists on Windows
(cherry picked from commit bee5dee521 )
* fix(e2e): preserve Windows config shape during updates
(cherry picked from commit a580a7fe3f )
2026-07-06 10:17:36 -07:00
Vincent Koc
b3db79929f
fix(test): preflight targeted UI e2e ( #100950 )
2026-07-06 07:46:08 -07:00