openclaw/test
Ayaan Zaidi fd39fc4842
fix(agents): delivered turns get the channel formatting rules once (#158028)
Related: #157877
Related: #108264

## What Problem This Solves

Fixes: a turn delivered to Telegram gets the channel's formatting rules in a different shape, twice, or not at all, depending on how it started.

- Reply turns carry the rules inside the inbound metadata. On an account with `richMessages: true`, they also get a separate "Collapsible Details" section, so the `<details>` rule arrives twice.
- Cron announce turns (#157877) carry the same rules in a second block with a different schema.
- Subagent and requester announce turns, and other delivered agent turns (inter-session steps, `openclaw agent --deliver`), get no formatting rules.

## User Impact

User impact: every turn whose visible output is delivered to a channel gets that channel's formatting rules once, in one block. This covers replies, heartbeats, cron announces and subagent announces. For Telegram, the rich-message rules apply only when the delivering account has `richMessages: true`. Other accounts get the standard-formatting rules. Turns with no chat delivery get no rules: no delivery, webhook delivery, subagent children, and Control UI chat. Slack announces now get Slack's rules too. No config change is required.

## Why This Change Was Made

- One core function builds the block: `buildDeliveryFormatPrompt`. Reply turns read the loaded plugin that received the message, as before. Cron and agent-command turns resolve the delivering plugin with on-demand loading, for example for the first cron announce after startup. It asks the plugin for the delivering account's rules and renders one trusted `### Delivery Format` block (`openclaw.delivery_format.v1`) into the extra system prompt. This is the path every runtime (embedded, Codex, CLI) and its compaction already reads.
- Three entry points call this function, each only when its turn has a channel delivery target:
  - Reply metadata, which also covers heartbeats and system events.
  - Cron delivery resolution.
  - Agent-command session preparation, for turns that deliver or use message-tool delivery. It uses the outbound channel and account chosen by delivery preflight, so a turn that starts on one account and delivers through another gets the delivering account's rules.
- Removed:
  - The cron-only builder and its `openclaw.delivery_meta.v1` schema.
  - The `response_format` field in the inbound metadata.
  - Telegram's `markdownDetails` capability. The Telegram contract already contains the `<details>` rule.
- The block has no per-turn fields, so its bytes are the same for every turn kind on the same channel and contract. It stays in trusted system metadata and never enters the transcript. The CLI session-binding inputs are unchanged: replies still keep this block out of the static binding text, and cron still hashes it.
- External ACP agents do not receive OpenClaw's extra system prompt, so they do not get this block. The docs say "OpenClaw agent turn" for that reason.
- Upgrade: the old cron `Delivery Context` block (#157877) is not in any release. Reply turns keep this block out of the CLI session-binding text, as before. A CLI-backed cron session on `main` whose bound prompt text changes resumes with `system-prompt` content drift, not a reset (covered by `src/agents/cli-session.test.ts`, "resumes on content drift").
- Plugin SDK: `inboundFormattingHints` is a shipped field, so this change keeps its name and signature. It is an intentional scope extension: core now calls it for every OpenClaw agent turn whose delivery target is the channel, not only inbound replies. The hook only receives `cfg` and `accountId`, with no inbound message data, so an existing hook returns the same rules it returns today. The SDK docs and type comment describe the new scope.
- Control UI keeps its core-owned `markdownDetails` capability, because it has no channel plugin.
- Follow-ups, not in this PR:
  - A `message` tool send to a different channel than the turn's own still gets only the current channel's rules.
  - `/btw` side answers do not get the block yet.

## Evidence

- Focused tests at the real entry points, with a Telegram stub whose rich and plain accounts return different contracts:
  - `src/auto-reply/reply/get-reply.delivery-format.test.ts`: `getReplyFromConfig` replies on a rich account and on a plain account each get exactly one block with their own contract. A Telegram heartbeat through `runHeartbeatOnce` gets exactly one block. A Control UI reply gets none.
  - `src/commands/agent.delivery-format.test.ts`: `agentCommandFromIngress` with `deliver: true` (rich account) and with message-tool delivery (plain account) each append exactly one block after the caller's prompt. A turn from the rich account that delivers through the plain account gets the plain rules. An undelivered turn keeps the caller's prompt unchanged.
  - `src/cron/isolated-agent/run.delivery-formatting.test.ts`: cron announces load the Telegram plugin on demand, as on a cold Gateway. They get exactly one block for rich and plain accounts, and none with `mode: "none"`.
  - `extensions/telegram/src/channel-actions.contract.test.ts`: in the real Telegram plugin, a rich account and a plain account on the same bot get different contracts, and neither advertises `markdownDetails`.
- The tests fail with the old production code restored: both delivered agent-command cases get no block, and the Telegram test finds `markdownDetails`. With the source account used instead of the outbound account, the cross-account case fails.
- Test cost with `pnpm test <file> --maxWorkers=1`: about 7.5 s of test time for the agent-command file, 9 s for the reply and heartbeat file, and 4.3 s for the cron file. Most of the wall time is cold transform.
- Neighboring suites pass: inbound metadata, prompt session context, reply media-only, agent command, session preparation and the system prompt. Changed-file typecheck, format and line-cap checks pass.
- Live Telegram Test Server run with a real user recorder and a recording mock provider, on `main` and on this branch (reply and cron code as in the current head):

  | Run | Model request system prompt | Telegram result |
  | --- | --- | --- |
  | `main`, reply, rich on | rules inside inbound metadata `response_format`, plus a separate `## Collapsible Details` section (the `<details>` rule twice) | rich message |
  | `main`, cron announce, rich on | rules in `### Delivery Context` (`openclaw.delivery_meta.v1`) | rich message |
  | this branch, reply, rich on | one `### Delivery Format` block (`openclaw.delivery_format.v1`, `markdown_telegram_rich`), `<details>` rule once, no `Collapsible Details` section, no `response_format` in inbound metadata | rich message |
  | this branch, cron announce, rich on | the same `### Delivery Format` block, byte for byte; no `Delivery Context` block | rich message |
  | this branch, reply, rich off | one `### Delivery Format` block with the "Telegram rich OFF" rules | plain text message |

  The mock reply is fixed, so the Telegram message does not change between `main` and this branch. No screenshots are attached for that reason.
- Not live-tested: subagent announces, heartbeats, and the Codex and CLI runtimes. They read the same extra-system-prompt input that the focused tests cover.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-09-25 16:39:29 +05:30
..
contracts
e2e test(acpx): stabilize cancellation fixture lifetimes (#157769) 2026-09-24 20:25:41 -07:00
fixtures test(daemon): avoid text-busy executable fixtures (#158045) 2026-09-25 04:05:46 -07:00
helpers refactor: move reply recovery reads off the Gateway thread (#155982) 2026-09-25 00:57:14 -07:00
mocks
plugins fix(memory): preserve historical dreaming jobs until Doctor repair (#157616) 2026-09-25 01:35:42 -07:00
scripts fix(ci): keep hourly checks moving past slow iOS runs (#158075) 2026-09-25 19:08:27 +08:00
tsconfig chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
type-contracts fix: keep delayed self-replies on their original conversation (#156984) 2026-09-24 04:29:25 -05:00
vitest fix(agents): delivered turns get the channel formatting rules once (#158028) 2026-09-25 16:39:29 +05:30
agent-exec-code-mode.live.test.ts fix(test): restore the installed Code Mode live fixture (#153442) 2026-09-19 22:55:17 -07:00
AGENTS.md
apns-worker-test-ownership.test.ts test: diagnose stalled infra test workers (#152381) 2026-09-19 03:53:39 -07:00
appcast.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
architecture-smells.test.ts refactor: run plugins and tooling without TypeScript 6 (#156829) 2026-09-23 22:34:20 -07:00
buzz-account-config-mutation.test.ts
canonical-descendant.integration.test.ts fix(codex): preserve native hosted app approval settings (#151260) 2026-09-24 19:56:58 +00:00
channel-message-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
clawrouter-managed-gateway.e2e.test.ts
cli-json-stdout.agents.e2e.test.ts test(cli): trim redundant agent process cases (#153993) 2026-09-20 23:19:41 -07:00
cli-json-stdout.automation.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.config.e2e.test.ts
cli-json-stdout.e2e.test.ts fix(state): repair index-only corruption explicitly in Doctor (#156761) 2026-09-24 13:38:25 -07:00
cli-json-stdout.gateway.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.hooks.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.models.e2e.test.ts test(cli): reuse model refresh migration proof (#153995) 2026-09-20 23:19:59 -07:00
cli-json-stdout.plugins.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.sessions.e2e.test.ts test(cli): trim redundant session process cases (#153994) 2026-09-20 23:19:04 -07:00
cli-json-stdout.skills.e2e.test.ts test(cli): restore skills process coverage (#154686) 2026-09-21 15:52:00 -07:00
cli-json-stdout.test-support.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-message-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
cli-state-sqlite.e2e.test.ts
codex-node-cancellation.integration.test.ts fix(codex): keep catalog actions bound to their source (#151854) 2026-09-19 02:32:25 -07:00
codex-settled-turn-finalization.integration.test.ts fix(codex): avoid fallback replies after intentional silence (#151951) 2026-09-19 03:15:48 +08:00
control-ui-import-boundary.test.ts fix(ui): keep Control UI code off the state database schema loader (#152130) 2026-09-18 14:48:40 -07:00
conversation-tools.codex.integration.test.ts fix(codex): preserve delivery facts and native approval semantics (#151863) 2026-09-19 16:45:20 -07:00
copilot-tool-policy-handoff.integration.test.ts
copilot-tool-policy-handoff.live.test.ts
cron-conversation-delivery.codex.integration.test.ts fix(codex): preserve delivery facts and native approval semantics (#151863) 2026-09-19 16:45:20 -07:00
cron-edit-trigger-preservation.e2e.test.ts
cron-message-read.integration.test.ts fix: prevent replies through stale conversation bindings (#154864) 2026-09-22 11:04:52 -07:00
discord-live-policy.integration.test.ts fix(zalouser): avoid Gateway stalls during credential persistence (#156003) 2026-09-23 08:23:57 -07:00
discord-metadata-read-authority.integration.test.ts fix: avoid blocking channel operations on stored account credentials (#156267) 2026-09-23 03:27:50 -07:00
doctor-copied-state-migration.e2e.test.ts fix: avoid slow task lookups and maintenance as history grows (#153548) 2026-09-20 03:00:27 -07:00
doctor-legacy-whatsapp-ack-migration.e2e.test.ts
dreaming-startup-cleanup.e2e.test.ts test(memory): seed restart fixtures with the Gateway stopped (#152038) 2026-09-18 13:37:16 -07:00
embedded-transcript-cursor.e2e.test.ts
extension-import-boundaries.test.ts
extension-test-boundary.test.ts ci: reduce Node fixture overhead and defer seven release matrices (#157341) 2026-09-24 08:17:47 -07:00
external-script-modules.d.ts
feishu-message-mutations.integration.test.ts fix: stop Feishu mutations after caller cancellation (#151235) 2026-09-18 01:27:50 +01:00
feishu-message-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
gateway-a2a.e2e.test.ts fix(a2a): complete tasks under message-tool-only reply policy (#154317) 2026-09-21 18:32:35 +05:30
gateway-account-history.e2e.test.ts test(gateway): await account-history turn settlement (#157530) 2026-09-24 13:56:36 -07:00
gateway-cold-agent-abort.e2e.test.ts
gateway-completion-replay.e2e.test.ts fix(state): fail readiness on shared-state integrity loss (#156700) 2026-09-23 22:58:58 +00:00
gateway-copied-codex-session-resume.e2e.test.ts
gateway-external-state-ownership.e2e.test.ts fix(update): prevent candidate Doctor authority stack overflows (#157273) 2026-09-24 22:35:52 +00:00
gateway-hook-concurrency.e2e.test.ts
gateway-no-op-mutation.e2e.test.ts
gateway-openai-compaction-replay.e2e.test.ts
gateway-queued-session-rotation.e2e.test.ts
gateway-restored-requester-settle.e2e.test.ts test(gateway): bind restored requester fixture provenance (#155621) 2026-09-22 05:14:43 -07:00
gateway-rpc-exporters.test.ts
gateway-session-end-shutdown.e2e.test.ts
gateway-steer-fifo.e2e.test.ts test(gateway): update steer skip contract (#150852) 2026-09-17 07:10:15 -07:00
gateway-subagent-restart.live.test.ts fix(agents): preserve subagent progress across repeated restarts (#151450) 2026-09-18 01:46:45 -07:00
gateway-widget-restart.live.test.ts
gateway.multi.e2e.test.ts fix(test): preserve selected CLI and Gateway runtime (#154809) 2026-09-21 06:01:47 -07:00
git-hooks-pre-commit-boundaries.test.ts improve(tooling): reduce commit formatting resource use (#152297) 2026-09-18 18:01:21 -07:00
git-hooks-pre-commit.test-support.ts
git-hooks-pre-commit.test.ts fix: speed up content scans for large staged commits (#157084) 2026-09-24 00:22:53 -07:00
github-cli-preflight.e2e.test.ts
huggingface-local-app-openclaw.e2e.test.ts
image-generation.infer-cli.live.test.ts
image-generation.runtime.live.test.ts
imessage-reply-alias.integration.test.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
jsdom-compat.mts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
jsdom-compat.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
jsdom-custom-elements.test.ts
jsdom-custom-elements.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
line-question-gateway.test.ts
linux-dashboard-recovery.test.ts fix(linux): show clear update status and recover release-page retries (#158037) 2026-09-25 18:22:02 +08:00
linux-quickchat-stream.test.ts feat: redesign Tauri Quick Chat and simplify effort controls (#153564) 2026-09-20 03:06:09 -07:00
loopback-ask-user-telegram-channel.test.ts
matrix-channel-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
matrix-client-crypto-authority.integration.test.ts
matrix-transport-read-authority.integration.test.ts
mcp-show-redact.e2e.test.ts
msteams-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
msteams-read-target.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
node-host-launcher.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
non-isolated-runner.agent-reader-fixtures.ts fix: close agent database readers between test files (#153749) 2026-09-20 07:33:20 -07:00
non-isolated-runner.gateway-lifecycle-fixtures.ts
non-isolated-runner.mock-resolution-fixtures.ts
non-isolated-runner.sqlite-fixtures.ts fix(sqlite): drain idle coordinators at lifecycle teardown 2026-09-22 03:07:12 -07:00
non-isolated-runner.sqlite.test.ts fix(state): attribute database teardown failures to their test file (#155312) 2026-09-22 01:12:13 +00:00
non-isolated-runner.test-api-fixtures.ts fix: preserve restart cleanup and initial chat positioning (#153267) 2026-09-20 02:52:09 -07:00
non-isolated-runner.test.ts fix: close agent database readers between test files (#153749) 2026-09-20 07:33:20 -07:00
non-isolated-runner.ts fix(state): attribute database teardown failures to their test file (#155312) 2026-09-22 01:12:13 +00:00
npm-publish-plan.test.ts fix(release): treat an already-superseded plugin version as published and skip its dist-tag move (#156724) 2026-09-23 12:28:57 -07:00
oauth-refresh-authority-chain.e2e.test.ts fix(state): repair index-only corruption explicitly in Doctor (#156761) 2026-09-24 13:38:25 -07:00
official-channel-catalog.test.ts
onboard-plugin-warnings.e2e.test.ts
openai-model-discovery-auth-order.test.ts
openai-onboarding.live.test.ts fix(live): use supported default onboarding thinking (#150474) 2026-09-17 07:27:46 +00:00
openclaw-launcher-version.e2e.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
openclaw-launcher.e2e.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
openclaw-npm-postpublish-verify.test.ts fix(release): avoid reparsing sealed worker bundles (#157618) 2026-09-24 22:37:18 +00:00
openclaw-npm-prepublish-verify.test.ts
openclaw-npm-release-check.test.ts
openclaw-prepack.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
outbound-sanitize-text-delivery.test.ts
package-manager-config.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
package-scripts.test.ts
plugin-clawhub-metadata.test.ts
plugin-clawhub-release.test.ts feat(release): add non-Latest extended-stable releases (#154515) 2026-09-21 00:29:24 -07:00
plugin-cron-registry-owner.e2e.test.ts
plugin-extension-import-boundary.test.ts
plugin-npm-package-manifest.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
plugin-npm-release.test.ts fix(plugins): reconcile deferred bundled publication (#150331) 2026-09-17 00:44:51 -07:00
plugin-npm-runtime-build.test.ts feat(themes): support plugin hats and critter artwork (#154935) 2026-09-21 10:30:47 -07:00
pr111899-accepted-run-transport-loss.e2e.test.ts
pr119473-real-runtime-proof.e2e.test.ts
pr126853-heartbeat-visible-lane-proof.e2e.test.ts
pr142176-real-runtime-proof.e2e.test.ts
progress-card-channel-literals.integration.test.ts refactor(channels): centralize progress and final delivery (#155639) 2026-09-22 17:39:33 +05:30
provider-auth-method.openai-siwc.integration.test.ts feat(openai): add Sign in with ChatGPT through Responses (#148567) 2026-09-24 15:19:53 -07:00
provider-auth-method.radius.integration.test.ts
qa-channel-message-tool-delivery.test.ts refactor(qa): keep Crabline thread identity structured (#124467) 2026-09-17 03:56:09 -07:00
qa-convex-credential-payload-validation.test.ts chore(qa): qualify execution identity across live boundaries (#156033) 2026-09-22 20:15:02 -05:00
release-check.test.ts refactor: run plugins and tooling without TypeScript 6 (#156829) 2026-09-23 22:34:20 -07:00
release-version.test.ts
repository-test-api-publications.ts refactor(auto-reply): deslop auto-reply (#156377) 2026-09-23 05:48:44 -07:00
runtime-agent.codex-initialization.integration.test.ts fix: honor sandbox requirements for native forks (#155358) 2026-09-22 05:31:57 +01:00
scripts-update-gateway.test.ts fix(updater): protect the live gateway during clean builds (#125896) 2026-09-19 03:08:07 -06:00
setup-home-isolation.test.ts
setup-openclaw-runtime.plugin-cache.test.ts test: cover shared runtime plugin retirement 2026-09-24 13:49:45 -07:00
setup-openclaw-runtime.ts fix(test): prevent plugin cache accumulation in shared workers (#157470) 2026-09-24 13:18:36 -07:00
setup.env.ts
setup.extensions.ts refactor(agents): share external harness session and attempt machinery (#152181) 2026-09-22 16:31:59 -07:00
setup.shared.ts
setup.signal.ts
setup.ts
skill-usage.codex.integration.test.ts refactor(skills): move usage and curator status SQL off the caller thread (#152319) 2026-09-20 09:12:28 -07:00
skills-proposal-manual-target.e2e.test.ts
slack-download-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
slack-outbound-permanent-rejection-loopback.test.ts
sqlite-test-lifecycle.ts perf(sessions): reuse worker membership snapshots across viewers (#155620) 2026-09-22 12:41:58 +00:00
stable-release-closeout.test.ts fix(release): record a withdrawn macOS appcast at stable closeout (#157082) 2026-09-23 23:34:27 -07:00
status-shared-state-readonly.e2e.test.ts
subagent-announce-origin.integration.test.ts
subagent-requester-owner.e2e.test.ts test(tasks): wait for completed requester task publication (#157768) 2026-09-24 19:58:39 -07:00
system-agent-managed-auth.e2e.test.ts
talk-browser-defaults.test.ts perf(ui): defer voice transports until a call starts (#154666) 2026-09-21 03:41:27 -07:00
telegram-history-read.integration.test.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
telegram-outbound-permanent-rejection-loopback.test.ts
telegram-question-gateway.test.ts fix(test): keep Gateway fixture config identity stable 2026-09-23 20:50:05 -07:00
telegram-recovery-notice-send.test.ts test(telegram): remove rate waits from recovery fence (#151424) 2026-09-19 19:49:14 -07:00
telegram-reply-conversation.test.ts refactor(telegram): remove redundant test coverage (#155040) 2026-09-23 00:50:06 -07:00
test-env.state-lifetime.test.ts
test-env.test.ts
test-env.ts fix(doctor): preserve channel ownership across updates (#150555) 2026-09-17 04:03:27 -07:00
test-helper-extension-import-boundary.test.ts
test-home-context.mts
test-home-policy.mts
transcripts-discord-audio.integration.test.ts fix(voice): keep audio flowing while the Gateway is busy (#154119) 2026-09-20 21:49:35 -07:00
transcripts-tool.discord-lifecycle.integration.test.ts improve: keep meeting caption appends off the host thread (#151760) 2026-09-20 10:48:01 -07:00
transcripts-tool.discord-provider.integration.test.ts refactor(transcripts): run stored lookups in the shared SQLite worker (#146547) 2026-09-18 08:52:29 -07:00
tsconfig.json
twitch-message-tool-delivery.test.ts
ui.presenter-next-run.test.ts
vitest-boundary-config.test.ts
vitest-cli-ownership.test.ts test: reduce command and tooling test setup costs (#155503) 2026-09-22 00:09:38 -07:00
vitest-credential-redaction.test.ts fix(test): redact credentials from Vitest failure reports (#150983) 2026-09-17 10:32:29 -07:00
vitest-dependency-resolution.test.ts
vitest-light-paths.test.ts
vitest-performance-config.test.ts improve(ci): speed up compatible Control UI tests with Bun (#154585) 2026-09-22 02:28:49 -07:00
vitest-projects-config.test-support.ts feat: select and manage installed agents from Models (#150224) 2026-09-20 18:00:12 +05:30
vitest-projects-config.test.ts perf(state): preserve lifecycle publication across concurrent writes (#155631) 2026-09-23 01:26:50 +00:00
vitest-redacting-reporter.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
vitest-reporters-config.test.ts fix(ci): emit elapsed tooling file timings (#156013) 2026-09-23 00:29:50 +00:00
vitest-scoped-config.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
vitest-ui-e2e-config.test.ts fix(test): prepare native UI fixtures before compilation 2026-09-24 08:32:10 -07:00
vitest-ui-e2e-prebuilt.test.ts ci: shorten and split real-Gateway UI validation (#156270) 2026-09-23 08:04:22 -07:00
vitest-ui-e2e-preflight.test.ts fix(test): stop preflight mocks leaking into shared workers (#157207) 2026-09-24 23:46:44 +08:00
vitest-ui-package-config.test.ts perf(test): reduce Bun UI test time and memory growth (#156220) 2026-09-24 19:51:28 +00:00
vitest-unit-config.test.ts
vitest-unit-fast-config.test.ts feat: run Code Mode on Node or isolated QuickJS (#154522) 2026-09-21 17:33:04 -07:00
vitest-unit-paths.test.ts improve: speed up cold Node test planning (#156234) 2026-09-23 06:43:18 +00:00