Commit Graph

78842 Commits

Author SHA1 Message Date
Dallin Romney 6f2758ffa3 test(release): keep trusted verifier regression focused 2026-08-13 15:08:07 +08:00
Dallin Romney 535193ccfc fix(release): use trusted plugin identity verifier 2026-08-13 15:03:46 +08:00
Dallin Romney 3e029bd119 chore(release): drop obsolete Docker status remnants 2026-08-13 14:01:30 +08:00
Dallin Romney d092036951 refactor(release): remove Docker-only closeout 2026-08-13 13:52:22 +08:00
Dallin Romney 0c8ab717e0 fix(release): type optional orchestrator identity 2026-08-13 13:47:45 +08:00
Dallin Romney d389f14293 fix(release): keep direct extended-stable run validation optional 2026-08-13 13:44:42 +08:00
Dallin Romney 0ed5fe7271 Merge remote-tracking branch 'origin/main' into feat/extended-stable-github-release
# Conflicts:
#	.github/workflows/plugin-npm-release.yml
2026-08-13 13:41:32 +08:00
Dallin Romney bcfcd9eca7 ci: route extended-stable through shared release publish 2026-08-13 13:39:10 +08:00
Alix-007 2dffeae126 fix(gateway): scope task-owned terminals by child session (#121192)
Punchcard-Session: calm-workshop-cedar-hx
2026-08-13 13:28:12 +08:00
Dallin Romney eda22ae1d5 fix(ui): stop misreporting limited Custodian access (#123011) 2026-08-13 13:25:58 +08:00
Leon-SK668 7d6dfa1939 fix(replies): keep approval-unavailable notices durable (#121179)
Punchcard-Session: clear-lantern-summit-v2
2026-08-13 13:23:58 +08:00
Peter Steinberger 568c07191a test: speed up attempt execution helpers (#123012)
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 22:20:09 -07:00
Peter Steinberger 3f4d89505a feat(worker): expose supervised terminal outcomes (#123013)
* feat(worker): expose supervised terminal outcomes

* docs(plan): track supervisor terminal outcomes
2026-08-12 22:19:49 -07:00
Peter Steinberger 009e53d582 fix(signal): fail probe when RPC verification fails (#123001) 2026-08-12 22:19:46 -07:00
Vincent Koc fd353ee5d7 fix(parallels): recover migration-refused gateway startup 2026-08-13 13:14:22 +08:00
Vincent Koc c6530738ee fix(state): accept shipped commitments schema (#122945) 2026-08-13 13:11:43 +08:00
Dallin Romney f8fcfe34b9 fix(sessions): preserve pinned sessions during maintenance (#122990) 2026-08-13 13:08:41 +08:00
Vincent Koc 1e7a76f49c fix(e2e): declare agents-delete fixture owners (#123000) 2026-08-13 13:07:55 +08:00
Peter Steinberger cd0fb355c7 refactor(plugin-sdk): remove retired Copilot login chain (#122988)
* refactor(plugin-sdk): remove retired Copilot login chain

* chore(plugin-sdk): refresh generated API baselines

* build(github-copilot): remove unused prompt dependency

* chore(plugin-sdk): reconcile API baselines after rebase
2026-08-12 22:07:33 -07:00
xingzhou 329ed12fcf fix(discord): chunk long thread initial messages (#117354)
Discord rejected over-limit starter messages and could leave ordinary threads empty after creation.

Split initial content through the existing Discord chunking and nonce-retry path while preserving confirmed-versus-ambiguous partial-delivery results.

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
2026-08-13 10:37:14 +05:30
Dallin Romney 7b9e793bf3 ci: share GitHub release finalization 2026-08-13 13:06:20 +08:00
Peter Steinberger 6ad5d1104c test(agents): move recovery transcript proof to QA (#123006) 2026-08-12 22:04:15 -07:00
Vincent Koc 3bc665f6ae fix(ci): sanitize AI manifest during installer pack (#122952) 2026-08-13 13:02:43 +08:00
Dallin Romney 45e59f38a7 ci: simplify extended-stable release finalization 2026-08-13 12:58:58 +08:00
Peter Steinberger 64e8791601 perf(test): avoid unrelated runtime imports in MCP suite (#122998)
Remove duplicate adversarial filter integration coverage, replace broad plugin/auth imports with contract-complete test leaves, and repair the main env-var ratchet broken by an unrelated newly added internal constant.

Amp-Thread-ID: https://ampcode.com/threads/T-019fee8d-665d-707b-a380-23f2a6a1ce03

Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 21:58:23 -07:00
Patrick Erichsen 074d75d372 test(buzz): add opt-in thread QA coverage (#116081)
* test(buzz): add opt-in thread QA coverage

* fix(buzz): preserve QA conversation kind

---------

Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-08-13 12:54:36 +08:00
Peter Steinberger c68039e7fb refactor(ui): one task-detail surface for rail and subagent clicks (#123003)
* refactor(ui): unify task details in sidebar panel

* docs(ui): describe task detail sidebar

* refactor(ui): collapse onSelectTask into onOpenTaskDetail

Two names for the same open-the-panel action; rows now call the
callback directly.

* fix(ui): clear rail open-task highlight when detail slot closes

openTaskId derived from sidebarContent alone, but region close only
collapses the layout and retains content, leaving a stale
aria-current row; gate the highlight on detail-slot visibility.

* fix(ui): keep requester sessions out of subagent transcripts and let reopen retry failed lookups

A queued subagent has no child session yet; falling back to its
sessionKey rendered the requester's conversation as the task
transcript. And a failed tasks.get permanently suppressed the panel's
render-driven load; selection now clears the recorded error so
reopening retries, matching the old rail behavior.
2026-08-12 21:51:07 -07:00
Peter Steinberger 867c029d5a fix(gateway): preserve system agent ownership (#122987)
* fix(gateway): preserve system agent ownership

* chore(plugin-sdk): refresh ownership API baseline

* fix(gateway): preserve global system event routing
2026-08-12 21:48:10 -07:00
Peter Steinberger 0c38af88f3 fix(agents): preserve headless timeout ownership (#122997) 2026-08-12 21:47:53 -07:00
sunlit-deng b05d2308e7 fix(memory): keep session reconciliation off search path (#120837)
* fix(memory): keep session reconciliation off search path

* test(memory): decouple reconciliation test from provider fixture

---------

Co-authored-by: Jason (Json) <263060202+fuller-stack-dev@users.noreply.github.com>
2026-08-12 21:42:01 -07:00
Peter Steinberger 05ffeee016 test(oc-path): make perf budgets robust to CI scheduler noise (#122994) 2026-08-12 21:40:44 -07:00
Peter Steinberger e4e558df21 fix(ci): rename state migration assertion map off the env-var pattern
OPENCLAW_STATE_MIGRATION_ASSERTIONS (a module-local const introduced by
#122959) matches the OPENCLAW_[A-Z0-9_]+ source scan in
scripts/check-env-var-count.mts, pushing the env-var ratchet to 503/502
and failing check:env-var-count on every branch based on current main.
It is not an environment variable; rename it to STATE_MIGRATION_ASSERTIONS
so the ratchet stays an honest env-var count.
2026-08-12 21:33:31 -07:00
Peter Steinberger edcf197483 improve: one channel picker and one model picker across the Control UI (#122964)
* fix(ui): unify channel pickers with icons

Preserve channel values and mutation ownership across Automations, pairing, setup, and Workboard while sharing accessible picker rendering and artwork.

* refactor(ui): unify model pickers

Share provider-aware model selection across chat, new sessions, Automations, Agents, model defaults, Session Observer, Talk, and Memory while preserving owner-specific values and locks.

* fix(ui): keep picker change callbacks value-only

Keep the Web Awesome element private to model-picker custom-mode handling while preserving one-argument callbacks for every picker consumer.

* fix(ui): satisfy model picker types

Keep custom sentinel options within the shared model option shape and guard optional Memory placeholder translation keys.

* refactor(ui): remove obsolete model option template import

Drop the Lit import after Agents model options became pure shared-picker data.

* fix(ui): satisfy picker lint gates

Use explicit model option mapping, remove stale E2E locals, and keep the Cron behavior suite within its enforced line budget.

* test(ui): target unified session model picker
2026-08-12 21:32:51 -07:00
Vincent Koc 01b3ece441 test(plugins): refresh fixture contracts (#122986) 2026-08-13 12:30:34 +08:00
kiranmagic7 095f3e1a44 feat(xai): add Grok 4.6 catalog and preserve OAuth xhigh (#122762)
* feat(xai): add Grok 4.6 catalog and preserve OAuth xhigh

Add first-class Grok 4.6 discovery, pricing, and reasoning metadata while
keeping the existing Grok 4.3 API-key and server-tool defaults unchanged.
Preserve xhigh only for Grok 4.6 so OAuth auto no longer inherits the
Grok 4.5 high downgrade.

Closes nothing; tracks #122734.

* fix(xai): resolve the OAuth auto alias to its canonical model in the thinking policy

The OAuth catalog row keeps id "auto" and records the provider-selected
target in params.canonicalModelId; judging the raw alias collapsed the
default OAuth route to an off-only thinking picker for every model.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test(xai): refresh catalog-order assertions and restore stream deadlines for Grok 4.6

Exact-order catalog and onboarding arrays now include the new row with its
metadata assertion; payload-capture timeouts return to their original
values, Grok 4.5 off-clamp and Grok 4.3 modern-model coverage are
restored, and the Grok 4.6 xhigh boundary test passes its id explicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(agents): add Grok 4.6 to the curated high-signal live matrix

xai is a curated-only high-signal provider, so the new flagship was
structurally excluded from default live sweeps; add it alongside
Grok 4.5 with its test and docs mirrors, matching the 4.5 precedent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(xai): align Grok frontier metadata

* fix(xai): align Grok 4.6 catalog contract

Remove the unsupported moving alias, centralize OAuth auto target resolution, correct cached pricing, and keep live coverage on the stable xhigh completion path.

Co-authored-by: Kiran Magic <262980978+kiranmagic7@users.noreply.github.com>

---------

Co-authored-by: Kiran Magic <262980978+kiranmagic7@users.noreply.github.com>
Co-authored-by: Kiran Magic <kiran@Alices-Laptop.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Kiran <kiranmagic7@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-12 21:29:51 -07:00
Ayaan Zaidi de291a3b1c fix(sessions): preserve durable transcript ownership (#122729)
Resolve transcript writes through the durable SQLite session-window owner, reject owner changes transactionally, and repair unambiguous stolen-owner aliases with Doctor.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
Co-authored-by: Thorsten Stresow <185197304+thostr1@users.noreply.github.com>
2026-08-13 09:57:47 +05:30
Peter Steinberger 5e67beb02e feat(node-host): add negotiated private worker controls (#122939)
* feat(node-host): add private worker supervisor controls

* refactor(node-host): harden private worker controls

* refactor(node-host): simplify private worker controls

* docs(plan): track private worker controls

* fix(node-host): satisfy private control CI guards

* test(gateway): follow worker service construction boundary

* test(gateway): register private control release train

* fix(gateway): retain worker dialect across reapproval
2026-08-12 21:27:01 -07:00
Peter Steinberger 9bf9bcebc4 refactor(gateway): remove suspension mock replay (#122977)
* test(gateway): remove suspension mock replay

* test(agents): stabilize headless timeout assertion
2026-08-12 21:24:50 -07:00
Peter Steinberger 1facf8f850 fix(agents): report recovered compaction runs as completed (#122974) 2026-08-12 21:24:46 -07:00
Peter Steinberger 9c4224c54e fix(cli): rejected profile commands no longer create state (#122970)
* fix(cli): defer profile state creation past argument validation

* test(cli): use tracked profile temp directory

* test(doctor): align checkpoint expectation with pristine roots
2026-08-12 21:14:26 -07:00
Peter Steinberger bac7a79260 test(extensions): repair stale full-config extension tests (#122978)
clickclack inbound mention gating: #114388 (1ca60fbc3a) made multi-agent fallback ownership explicit, so the #115484 fixture now declares its clickclack:default service-bot binding.

policy CLI: #114388 (1ca60fbc3a) removed ambient ownership from normalized multi-agent configs, so the #111087 routing-probe fixture uses the sole main agent and still reaches the intended findings exit.

Teams and Zoom node invoke policy: #118451 (7d4066639e) added trusted audio backend, buffer size, and format forwarding; assert those fields alongside the configured commands.

Teams node host: #118451 (7d4066639e) made default audio commands platform-dependent at import time after #111455 added the sox dedupe test; reset modules and mock Darwin before importing defaults.
2026-08-12 21:09:42 -07:00
Vyctor H. Brzezowski e647794c20 feat(ui): open bare pair command without a chat turn (#120855)
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-08-12 21:09:13 -07:00
Peter Steinberger 48cc78cdd8 fix(agents): preserve setup inference auth owner (#122975) 2026-08-12 21:07:28 -07:00
Peter Steinberger 88bc628149 perf(test): avoid embedded runtime imports in btw suite (#122957)
Co-authored-by: Amp <amp@ampcode.com>
2026-08-12 21:03:17 -07:00
Peter Steinberger 0748bfa23a refactor(state): simplify schema migration validation (#122959) 2026-08-12 21:02:13 -07:00
Sarah Fortune 3f731db90c fix(slack): accept org-wide user IDs in Enterprise Grid policies (#122934)
* test(slack): accept org-wide enterprise users

* fix(slack): allow org-wide enterprise users

* style(slack): format enterprise user policy

* test(slack): preserve enterprise user identity scope

* fix(slack): preserve enterprise user identity scope

* fix(slack): import workspace identity normalizer

* fix(slack): normalize enterprise owner ids

---------

Co-authored-by: Sarah Fortune <sarah.fortune@gmail.com>
2026-08-12 21:01:05 -07:00
Peter Steinberger 0cd3cfb1e3 test(agents): remove global test APIs (#122972) 2026-08-12 20:58:11 -07:00
Peter Steinberger d3ea3c387d docs(hosting): fix unsafe deployment instructions (#122971) 2026-08-12 20:56:25 -07:00
Peter Steinberger e45a9460ce docs: repair spellcheck and anchor drift (#122960)
* docs: repair spellcheck and anchor drift

* docs: satisfy markdown anchor lint
2026-08-12 20:50:56 -07:00
Peter Steinberger 2c3e537cb8 fix(deploy): repair probes that silently pass and a blueprint that cannot boot (#122963)
Three defects proven by running the shipped configs:

Kubernetes probes checked only the status code against /startupz, but the
pinned image predates that route and the Control UI answers unknown paths
with a catch-all 200. A wedged pod was therefore marked Ready forever.
Probes now assert the JSON probe contract and target routes the pinned
image actually serves; verified in a kind cluster where the old command
exits 0 on the missing route and the new one exits 1.

render.yaml set no dockerCommand, so the image CMD ran without
--allow-unconfigured and a fresh Render disk exited 78 with 'Missing
config' before binding. Reproduced locally with Render's exact env.

The Cloudflare Container readiness poll had the same route mismatch
against operator-supplied official image digests; it now polls /healthz,
which every published image serves.

Also replaces an R2 verification step that could never fail: wrangler
cannot list object keys, so the documented command 404'd into || true.
2026-08-12 20:49:54 -07:00