Commit Graph

1610 Commits

Author SHA1 Message Date
Peter Steinberger 19be0f6dc0 fix: honor scenario drivers in generated QA commands (#131101)
* fix: honor scenario drivers in generated QA commands

Carry declared driver requirements through coverage search, grouping and quoted command output. Preserve unconstrained defaults and validate generated arguments through real CLI parsing and canonical lane selection. Closes #131088.

* test: capture generated QA commands through the shell
2026-08-27 11:58:30 -07:00
Josh Avant 14bc698141 test(qa): align integrated audit verifiers (#131032) 2026-08-27 10:17:54 -07:00
Peter Steinberger 873e1c85fa fix: preserve channel answers after unavailable approvals (#130624)
* fix(agents): preserve replies after unavailable approvals

Keep setup notices durable without suppressing recovered answers or terminal errors. Preserve genuine pending-approval deduplication and align native approval setup guidance. Fixes #130584.

* fix(discord): restore named-account research skill discovery

Gate the Discord skill on channel configuration instead of a root token. Make clawtributor research portable across archive and native history readers, and apply requested time windows to conversation references rather than PR creation dates.

* fix(agents): order tool-result delivery before assistant events

* fix(slack): correct native approval enablement guidance

* test(qa): support context-aware model fixtures

* test(scripts): publish ready process IDs atomically
2026-08-27 01:50:36 -07:00
Vincent Koc d561fd36dd refactor(qa-lab): reuse model reference splitter (#130317) 2026-08-27 12:50:14 +08:00
Vincent Koc 345b25e305 refactor(qa-lab): share process tree metric reader (#130419) 2026-08-27 12:34:57 +08:00
Peter Steinberger c578d324ef fix(qa): preserve truthful debug snapshots for large AIMock requests (#130605) 2026-08-26 19:54:39 -07:00
Ayaan Zaidi 1cb914d6bf fix(telegram): make ask_user controls native and reliable (#130262)
Make ask_user use native Telegram controls when one single-select question can be represented directly, while keeping multi-select and batch questions on the text fallback. Add native Other-to-ForceReply input, preserve Gateway-owned option ordering across Telegram, Slack, and Discord, and prevent later progress from overwriting the delivered question.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-27 08:14:39 +05:30
wahaha1223 43be187b67 fix(qa-lab): bound retained child output without changing verdicts (#108981)
Reuse the canonical settlement owner for boundary helpers, reject truncated verification JSON, and preserve complete live output streams.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-26 18:15:45 -07:00
Peter Steinberger 395e5db41b chore(deps): refresh dependencies after seven-day cooldown (#130296)
* chore(deps): refresh cooled npm and plugin dependencies

* chore(deps): refresh cooled build and workflow tooling

* chore(deps): retain formatter compatibility

* chore(deps): retain lint compatibility
2026-08-26 16:13:18 -07:00
Dallin Romney 11ed401370 fix(qa): track current Slack progress cards (#130354) 2026-08-26 15:09:02 -07:00
Peter Steinberger 610a9c56e2 fix(qa): retain empty producer failures in mixed evidence (#130357) 2026-08-26 13:33:05 -07:00
Peter Steinberger adb3fb2967 fix(qa): enforce complete channel route isolation evidence (#129718)
* fix(qa): enforce complete channel route isolation evidence

* fix(qa): show full route identity in diagnostics
2026-08-26 11:51:28 -07:00
Peter Steinberger d4be12917c fix(qa): reject impossible empty scenario evidence (#129412)
* fix(qa): reject impossible empty scenario evidence

* test(qa): consolidate scenario evidence cases
2026-08-26 11:01:39 -07:00
Dallin Romney d8ade72867 fix(qa): recognize Code Mode recovery in OTel proof (#129806)
* fix(qa): recognize Code Mode recovery in OTel proof

* test(qa): retain Code Mode recovery boundaries
2026-08-26 09:51:52 -07:00
Dallin Romney c8c6e5a990 fix(qa): align repeated-request proof with provider timeout (#129851) 2026-08-26 09:34:48 -07:00
Dallin Romney 43a726cc70 fix(qa): prioritize and stream native suite work (#118015)
* fix(qa): prioritize and stream native suite work

* fix(qa): import Docker output callback type

* fix(qa): preserve native scenario evidence order

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(qa): redact streamed native scenario output

Protect split output chunks and repair scenario test fixture typing.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(qa): bind native output forwarding

* fix(qa): secure multiline native output streaming

Keep bounded streamed output safe across multiline and partition boundaries.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(qa): match multiline secret redaction grammar

Recognize bounded case-insensitive auth tag assignments across streamed lines.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

* fix(qa): keep unsafe child output out of suite progress

Preserve trusted native progress and artifact logs without forwarding child bytes.

Co-authored-by: Dallin Romney <dallinromney@gmail.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-26 05:48:02 -07:00
Peter Steinberger d940690787 test(qa): own OpenAI native web search coverage (#130034)
Co-authored-by: Amp <amp@ampcode.com>
2026-08-26 02:42:55 -07:00
Peter Steinberger ea49e77bbc fix(codex): keep progress cards out of chat history (#130022)
* fix(codex): keep progress cards out of chat history

* test(codex): simplify progress card regressions
2026-08-26 02:28:31 -07:00
Peter Steinberger 790a3f5a76 fix(qa): count only visible Telegram streaming finals (#129960) 2026-08-26 01:21:24 -07:00
Peter Steinberger 95bbc0ac05 fix(qa): bind restart triggers to checkpoint waits (#129935)
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b4-f621-7144-bfdf-a68df795dd57

Co-authored-by: Amp <amp@ampcode.com>
2026-08-26 00:09:27 -07:00
Peter Steinberger f1eb3f1e28 fix(qa): reject blocked sender replies in allowlist scenarios (#129840) 2026-08-25 23:30:00 -07:00
Peter Steinberger 647f8d7694 fix(qa): bind self-check replies to their actual recipients (#129661) 2026-08-25 23:00:11 -07:00
Peter Steinberger bf29167814 fix(qa): reject token confidence lanes without executed evidence (#129830) 2026-08-25 21:06:35 -07:00
Peter Steinberger 637da87a5d fix(gateway): tools.invoke must carry the caller's host-minted role authority (#129725)
* fix(gateway): tools.invoke must carry the caller's host-minted role authority

The connect handshake resolves each connection's authority once and stores it
server-side (shared-secret operator owners mint system authority there).
tools.invoke discarded that fact and re-derived ownership from scopes, so a
shared-secret caller with no durable profile resolved to the deny-by-default
role and was refused dispatch on its own agents — while the same connection
could still mutate sessions directly.

Carry client.internal.operatorRoleActor into the synthetic dispatch client and
keep the scope-derived fallback for callers that have no connection actor
(HTTP). Regression test fails pre-fix with the FORBIDDEN agent-allowlist error.

* test(opencode): close the fake CLI before exec to stop ETXTBSY flakes

The catalog suite wrote the fake opencode executable and spawned it
immediately. Under parallel CI shards the write handle could still be open
at exec time, so the launch failed with ETXTBSY and failed the shard.

Write through an explicit file handle with an fsync before close so the
binary is fully durable before the first spawn.

* fix(ci): repair red main type and lint gates

Two gates were failing on main independently of this branch:

- extensions/qa-lab cleanup tests still built OpenClawCrablineChannelDriverSelection
  with the retired smokeArtifactPath and a stale capabilityMatrixPath, so
  check:test-types failed after the readiness-artifact change (#124189).
  Align both fixtures with the current type and its pinned constants.
- scripts/github/release-validation-campaign.d.mts declared the Actions Octokit
  client as any (#129726), tripping no-explicit-any. Declare the structural
  subset the publisher actually calls instead of suppressing the rule.

Verified failing on clean origin/main before the fix.
2026-08-25 19:15:01 -07:00
Dallin Romney cc1c61034f fix(qa): publish readiness only from final artifacts (#124189)
* fix(qa): publish readiness from final artifacts

* fix(qa): isolate runtime parity readiness

* test(qa): type runtime parity artifact mock
2026-08-25 18:02:17 -07:00
Dallin Romney 12dff76235 fix(qa): pin Slack draft progress transport (#127298) 2026-08-25 17:53:51 -07:00
wahaha1223 bf78ec9a0a fix(qa-lab): bound internal transport response reads (#109029)
* fix(qa-lab): bound local transport response bodies

* test(qa-lab): keep bounded response proof at its owner
2026-08-25 16:47:26 -07:00
Ebo61 dfe29eda2d fix: resumed main-session turn after a gateway restart is delivered to the session's last route instead of silently completing (#127342)
* fix(agents): deliver unclaimed restart recoveries to session route (#127339)

Co-authored-by: Peter Steinberger <steipete@gmail.com>

* test(qa): validate restart isolation without stale inventory

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-25 16:37:20 -07:00
Vincent Koc d7c5771684 fix(matrix): await persistence shutdown (#129605)
* fix(matrix): await persistence shutdown

* fix(matrix): join startup during shutdown

* fix(matrix): bound startup retirement

* fix(matrix): fence late retirement ownership

* fix(matrix): centralize generation retirement
2026-08-26 07:19:16 +08:00
Vincent Koc 8c9575b972 fix(agents): honor private QA forced runtime selection (#128475)
* fix(agents): honor private QA forced runtime selection

* test(qa): detect forced runtime fallback and egress

* test(qa): satisfy runtime parity lint
2026-08-26 07:14:30 +08:00
Vincent Koc b6a2366f64 refactor(qa): reuse canonical string normalization (#120566) 2026-08-26 06:41:08 +08:00
Peter Steinberger 9b7c95a0f0 fix(anthropic): keep automated heartbeats on subscription usage (#129513)
* fix(anthropic): keep automated heartbeats on subscription usage

* test(agents): align retired heartbeat template expectations

* fix(anthropic): avoid heavyweight policy bootstrap imports

* chore(config): prune retired template assertion baseline

* test(vitest): cover Codex startup test family

* refactor(anthropic): remove obsolete thinking-profile re-export
2026-08-25 14:11:38 -07:00
Peter Steinberger e06e804955 fix(qa): reject incomplete manual lane responses (#129395)
* fix(qa): reject incomplete manual lane responses

* fix(qa): preserve missing-reply failure diagnostics
2026-08-25 11:04:25 -07:00
Dallin Romney 1d526c5c0e refactor(qa): adopt Crabline server artifacts (#118008)
* refactor(qa): adopt Crabline server artifacts

* fix(deps): restore Crabline release-age guard
2026-08-25 10:38:28 -07:00
Peter Steinberger 03a7e5b000 fix(qa): generate runnable scenario coverage commands (#129340) 2026-08-25 06:37:39 -07:00
Peter Steinberger 13934fef3d fix(qa): scope restart sentinel checks to scenario logs (#129270) 2026-08-25 05:46:51 -07:00
Peter Steinberger 956c609d02 refactor(qa): consolidate runtime fixtures (#129290) 2026-08-25 05:06:10 -07:00
Peter Steinberger daefcc117f fix(qa): track progress card planning signal (#129143)
Amp-Thread-ID: https://ampcode.com/threads/T-01a037b4-f621-7144-bfdf-a68df795dd57

Co-authored-by: Amp <amp@ampcode.com>
2026-08-25 02:30:56 -07:00
Peter Steinberger 1d10b275db test(plugins): deduplicate provider fixtures (#129072)
* test(plugins): deduplicate provider fixtures

* test(memory-lancedb): bind fixture configuration helpers
2026-08-25 01:39:08 -07:00
Peter Steinberger 234df15a6d chore: refresh dependencies after seven-day cooldown (#128414)
* build(deps): refresh dependencies after cooldown

Apply dependency, toolchain, action, image, and exact tool updates released by the inclusive 2026-08-16 seven-day cutoff. Adapt owner boundaries for the resulting CUA, logging, Teams, Markdown, native, and test-harness contract changes while retaining versions blocked by upstream compatibility constraints.

* fix(ui): align markdown renderer env typing

* fix(deps): align postcss and mistral peer contracts

* fix(deps): repair refreshed dependency contracts

* fix(deps): retain tslog startup budget

* fix(ci): verify Android tools with SHA-256

* fix(ci): fence Android SDK cache version
2026-08-24 03:01:54 -07:00
Ayaan Zaidi ca6fea301b refactor(plugins)!: remove OpenProse (#128494)
Remove the bundled OpenProse plugin and /prose command now that upstream owns the maintained Agent Skill. Preserve /prose as migration documentation and let Doctor clean stale plugin configuration.

BREAKING CHANGE: The bundled OpenProse plugin and /prose command are removed.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-24 10:39:46 +05:30
Vincent Koc 19d44d3f38 test(qa): detect pending restart waits by correlation (#128436) 2026-08-23 18:20:08 -07:00
Dallin Romney 0d727c3a3b fix(qa): exercise a real config restart boundary (#127285) 2026-08-23 14:25:12 -07:00
Dallin Romney 8a3afa8820 fix(qa): model-switch proof accepts served model reroutes (#127281)
* fix(qa): accept response model reroutes

* fix(qa): accept tool continuity response reroutes

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-23 14:17:33 -07:00
Dallin Romney 8122e5cdcc fix(qa): let scenario-owned timeouts settle before watchdog (#127289)
* fix(qa): let scenario timeouts settle before watchdog

* test(qa): satisfy promise executor lint

* fix(qa): cap scenario lifecycle watchdog

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-23 14:15:11 -07:00
Yiğit ERDOĞAN 40c88ebefd test(qa-lab): release cached databases before removing fixture temp dirs (#128335)
Five qa-lab fixtures point a state directory at a temporary workspace and then
remove it while the shared and per-agent SQLite handles opened underneath are
still cached, so Windows fails the removal with EBUSY while Linux unlinks the
open files and stays green.

Release both before each removal, in the ordering merged for this class: the
agent close releases its leases through shared state and reopens it, so the
shared store is released second.
2026-08-23 13:36:49 -07:00
Peter Steinberger d916272617 fix(qa-lab): release Mantis credentials when cleanup fails (#128315) 2026-08-23 11:35:46 -07:00
Vito Cappello 967696b743 fix(agents): restore system-agent delegation in channel turns (#128084)
* fix(agents): isolate probe runtime generation

* test(qa): prove channel system-agent delegation

---------

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: RoboClaw <309084314+roboclaw-bot@users.noreply.github.com>
2026-08-23 01:44:40 -04:00
Peter Steinberger 2f3f540045 perf(qa-lab): avoid quadratic lane exclusions (#128072)
Co-authored-by: Amp <amp@ampcode.com>
2026-08-22 18:32:09 -07:00
Peter Steinberger 01cd0a48db fix(qa): retain failed isolated scenarios in fail-fast results (#127715) 2026-08-21 17:41:37 -07:00