openclaw/test
Vincent Koc d72936b37e
docs(reference): split the testing reference by reader job (#141221)
* docs(reference): split the testing reference by reader job

docs/reference/test.md was 92,671 characters and mixed agent proof policy,
how-to steps, reference tables, and runner-internals explanation on one page.
It is now a short index over six children, one per reader job:

- reference/test/local            Routine local order, core commands, PR gate
- reference/test/lanes            Control UI, TUI, extension, Gateway, E2E lanes
- reference/test/docker           Docker scheduler knobs and the notable lanes
- reference/test/performance      Profiling, shard timings, benchmark scripts
- reference/test/runner-internals Build locks, test state, JSON report merging
- reference/test/remote-proof     Crabbox/Testbox policy, wrapper, lease, trust

Anchor strategy: per-anchor redirect routes are impossible here, because
redirectSource() in scripts/lib/docs-redirects.mjs rejects any source
containing [?#]. Every pre-split anchor instead stays alive on the parent as
an authored <a id="..." /> stub in the "Where each section moved" list, the
same mechanism docs/ci.md uses. All 30 ids were enumerated with
parseDocsDocument, never a hand-rolled slug, so the four punctuated headings
keep both the encoded and the cleaned id (for example
full-docker-suite-(pnpm-test%3Adocker%3Aall) and
full-docker-suite-pnpm-testdockerall). 29 ids are stubbed; `related` is not,
because the index still publishes that heading itself, and stubbing it would
raise a duplicate authored/canonical ID collision.

Verified independently of docs-link-audit, which cannot see the regression:
the split rewrote the repo's own links, so the audit reads clean even when
external deep links break. Resolving all 30 pre-split ids against the parsed
post-split index gives 30 resolved, 0 dead, 0 collisions, and all 24 onward
deep links land on a real fragment of a real child.

Losslessness (bodies, frontmatter excluded):
  code fences        20 -> 20   (+0)
  table rows         47 -> 47   (+0)
  inline code spans 530 -> 530  (+0, byte-identical multiset)
  fenced blocks      10 -> 10   (byte-identical, so commands are unchanged)
  chars           92,523 -> 92,253 on children + 5,093 on the index
  words           10,008 ->  9,981 on children +   381 on the index
  links               13 ->      9 on children +    35 on the index
The chars/words/links deltas reconcile exactly: the two intro bullets (170
chars) and the Related list (139 chars, 3 links) stay on the index, and one
declared edit adds 40 chars and one link.

The single declared prose edit: "Local test commands below are the normal
trusted development path" pointed at a section the split moves to another
page, so "below" became a link to /reference/test/local. No other prose was
rewritten; the remaining prose findings stay open for a follow-up.

Test pins repointed. test/scripts/docs-sync-publish.test.ts pins the exact
Release & CI navigation page list and breaks on the docs.json nav addition;
its route list now includes the six children. The two QA Lab producers point
their docsRefs at reference/test/local.md, the page that now owns the
commands they run, instead of the index. changed-lanes.test.ts needs no
change: it uses the path only as a docs-path example and asserts nothing
about the content.

Closes audit findings: r3-0695, r3-0696

* docs(reference): link the relocated local test commands

ClawSweeper found a second orphaned cross-reference the split missed.
remote-proof.md said "Local test commands below", but after the split
those commands live at /reference/test/local while this page continues
with remote-proof instructions, so "below" pointed at nothing.

docs-link-audit --anchors: 0 broken links.
2026-09-09 02:15:05 +08:00
..
contracts fix: ask_user suggests tapping options without buttons (#137978) 2026-09-06 08:36:57 -07:00
e2e docs(reference): split the testing reference by reader job (#141221) 2026-09-09 02:15:05 +08:00
fixtures fix: close out stable releases after split publication recovery (#142291) 2026-09-08 10:23:45 -07:00
helpers fix(ci): avoid unrelated catalog fetches in isolated fixtures (#141266) 2026-09-09 01:31:44 +08:00
mocks
plugins refactor(models): read published catalog inventory through the Gateway (#142063) 2026-09-08 16:51:57 +05:30
scripts docs(reference): split the testing reference by reader job (#141221) 2026-09-09 02:15:05 +08:00
tsconfig chore: group TUI typechecks with command tests (#142385) 2026-09-08 11:04:03 -07:00
vitest fix(tui): preserve long words and addresses while wrapping (#142210) 2026-09-08 08:30:43 -07:00
agent-exec-code-mode.live.test.ts fix: allow environment-only agent runs without a native harness (#138449) 2026-09-04 11:37:51 -07:00
AGENTS.md
appcast.test.ts fix(release): run Sparkle CLI through symlinked checkouts (#142315) 2026-09-08 09:27:03 -07:00
architecture-smells.test.ts fix(tooling): detect imports following regular expressions (#137804) 2026-09-04 04:28:06 -07:00
buzz-account-config-mutation.test.ts
canonical-descendant.integration.test.ts fix(tests): keep canonical transport fixtures on source plugins (#142171) 2026-09-08 06:56:24 -07:00
CLAUDE.md
clawrouter-managed-gateway.e2e.test.ts
cli-json-stdout.agents.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.automation.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.config.e2e.test.ts fix(cli): report invalid plugin configuration directly (#138131) 2026-09-04 03:32:36 -07:00
cli-json-stdout.e2e.test.ts fix(cli): keep qr --setup-code-only --json machine-readable (#137209) 2026-09-06 00:13:05 -07:00
cli-json-stdout.gateway.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.hooks.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.models.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.plugins.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.sessions.e2e.test.ts fix(sessions): unify target errors and reject blank agent selectors (#136664) 2026-09-02 15:29:54 -07:00
cli-json-stdout.skills.e2e.test.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-json-stdout.test-support.ts perf(ci): shorten release verification tails (#134824) 2026-08-31 23:30:07 -07:00
cli-state-sqlite.e2e.test.ts fix(snapshot): preserve Git backup failure diagnostics (#135455) 2026-09-02 16:23:12 +05:30
cron-edit-trigger-preservation.e2e.test.ts
discord-live-policy.integration.test.ts fix(discord): apply access policy during active Control UI turns (#140929) 2026-09-07 00:23:28 -07:00
doctor-copied-state-migration.e2e.test.ts
doctor-legacy-whatsapp-ack-migration.e2e.test.ts fix(doctor): report shadowed WhatsApp ack emoji 2026-09-01 11:44:24 +05:30
dreaming-startup-cleanup.e2e.test.ts
embedded-transcript-cursor.e2e.test.ts
extension-import-boundaries.test.ts
extension-test-boundary.test.ts
external-script-modules.d.ts
gateway-account-history.e2e.test.ts
gateway-cold-agent-abort.e2e.test.ts fix: preserve catalog metadata and provider failure outcomes (#137063) 2026-09-02 23:19:02 -07:00
gateway-copied-codex-session-resume.e2e.test.ts fix(gateway): repair the Gateway E2E shard (browser suite project, skill resource argv, Codex diagnostic) (#137358) 2026-09-03 08:16:24 -07:00
gateway-external-state-ownership.e2e.test.ts fix(update): recover stale runs without stopping healthy gateways (#141562) 2026-09-07 16:04:25 -07:00
gateway-hook-concurrency.e2e.test.ts fix(gateway): expose agent hook completion outcomes (#139155) 2026-09-06 01:36:46 +09:00
gateway-no-op-mutation.e2e.test.ts fix(agents): stop treating no-op write/edit/apply_patch results as terminal (#137036) 2026-09-03 12:41:59 +05:30
gateway-openai-compaction-replay.e2e.test.ts fix(agents): preserve post-compaction continuation prompts (#136236) 2026-09-05 01:00:13 +08:00
gateway-queued-session-rotation.e2e.test.ts fix(agents): preserve post-compaction continuation prompts (#136236) 2026-09-05 01:00:13 +08:00
gateway-restored-requester-settle.e2e.test.ts fix(subagents): let requester follow-ups finish after child completion (#138966) 2026-09-05 14:05:14 -04:00
gateway-rpc-exporters.test.ts feat(diagnostics): retain completed event-loop observation windows (#138249) 2026-09-04 10:27:50 -07:00
gateway-session-end-shutdown.e2e.test.ts
gateway-steer-fifo.e2e.test.ts fix(gateway): preserve document context in active-run steering (#138275) 2026-09-07 00:54:04 +05:30
gateway-widget-restart.live.test.ts fix: preserve tool context across agent backends (#139840) 2026-09-06 00:12:50 -07:00
gateway.multi.e2e.test.ts fix(test): stop Gateways after client cleanup failures (#138187) 2026-09-04 03:48:19 -07:00
git-hooks-pre-commit-boundaries.test.ts fix(git-hooks): format ordinary commits with orphan rebase refs (#137997) 2026-09-04 01:26:56 -07:00
git-hooks-pre-commit.test-support.ts fix(git-hooks): format ordinary commits with orphan rebase refs (#137997) 2026-09-04 01:26:56 -07:00
git-hooks-pre-commit.test.ts fix(git-hooks): format ordinary commits with orphan rebase refs (#137997) 2026-09-04 01:26:56 -07:00
github-cli-preflight.e2e.test.ts fix(github): preflight CLI before device authorization (#135301) 2026-09-02 21:32:16 +05:30
huggingface-local-app-openclaw.e2e.test.ts
image-generation.infer-cli.live.test.ts
image-generation.runtime.live.test.ts
jsdom-custom-elements.test.ts
jsdom-custom-elements.ts
linux-dashboard-recovery.test.ts
linux-quickchat-stream.test.ts
loopback-ask-user-telegram-channel.test.ts fix(test): await Telegram loopback prompt reception (#141204) 2026-09-07 05:22:57 -07:00
mcp-show-redact.e2e.test.ts
non-isolated-runner.resolve-mocks.test.ts test: simplify runner fixtures and cover in-flight mock registration (#133696) 2026-08-30 18:51:19 -07:00
non-isolated-runner.test-api-fixtures.ts refactor: simplify diagnostic, backup, and runtime ownership (#140369) 2026-09-06 11:54:33 -07:00
non-isolated-runner.test.ts chore(test): migrate to stable Vitest 5 (#138264) 2026-09-06 04:17:59 +09:00
non-isolated-runner.ts chore(test): migrate to stable Vitest 5 (#138264) 2026-09-06 04:17:59 +09:00
npm-publish-plan.test.ts
oauth-refresh-authority-chain.e2e.test.ts fix(auth): fence shared OAuth refresh generations (#141477) 2026-09-09 02:08:10 +08:00
official-channel-catalog.test.ts fix(plugins): migrate renamed official plugin installs (#130894) 2026-09-02 12:48:52 +08:00
onboard-plugin-warnings.e2e.test.ts
openai-model-discovery-auth-order.test.ts fix(auth): fence shared OAuth refresh generations (#141477) 2026-09-09 02:08:10 +08:00
openai-onboarding.live.test.ts
openclaw-launcher-version.e2e.test.ts fix(update): complete package lifecycle outside dist inventory 2026-08-31 15:12:42 +05:30
openclaw-launcher.e2e.test.ts fix(runtime): require Node builds with lossless SQLite reads (#140672) 2026-09-07 10:31:31 -07:00
openclaw-npm-postpublish-verify.test.ts fix: close out stable releases after split publication recovery (#142291) 2026-09-08 10:23:45 -07:00
openclaw-npm-prepublish-verify.test.ts
openclaw-npm-release-check.test.ts fix(release): accept frozen targets before worker bundles (#136699) 2026-09-06 11:26:06 +09:00
openclaw-prepack.test.ts fix(update): keep old updaters able to restart the Gateway (#142195) 2026-09-08 10:43:46 -07:00
outbound-sanitize-text-delivery.test.ts fix: keep unspaced Slack/Google Chat angle-link labels (#136306) 2026-09-04 14:02:08 +05:30
package-manager-config.test.ts chore(test): migrate to stable Vitest 5 (#138264) 2026-09-06 04:17:59 +09:00
package-scripts.test.ts fix(build): publish declarations before smoke validation (#138621) 2026-09-04 16:04:18 -07:00
plugin-clawhub-release.test.ts fix(release): make plugin harness pin freshness advisory (#136918) 2026-09-02 20:42:32 -07:00
plugin-cron-registry-owner.e2e.test.ts fix(test): align recovery and history fixtures with runtime contracts (#139733) 2026-09-05 23:04:10 -07:00
plugin-extension-import-boundary.test.ts
plugin-npm-package-manifest.test.ts fix(release): resolve nested bundled optional dependencies (#142126) 2026-09-08 04:21:28 -07:00
plugin-npm-release.test.ts fix(release): make plugin harness pin freshness advisory (#136918) 2026-09-02 20:42:32 -07:00
plugin-npm-runtime-build.test.ts fix(plugins): resolve packaged setup and TSX build artifacts (#136458) 2026-09-02 16:31:00 -07:00
pr111899-accepted-run-transport-loss.e2e.test.ts fix(cli): identify accepted runs after agent transport loss (#111899) 2026-09-08 22:22:59 +05:30
pr119473-real-runtime-proof.e2e.test.ts
pr126853-heartbeat-visible-lane-proof.e2e.test.ts
qa-channel-message-tool-delivery.test.ts fix(qa-channel): keep implicit messages in their source thread (#137964) 2026-09-03 23:26:36 -07:00
qa-convex-credential-payload-validation.test.ts
release-check.test.ts fix(npm): verify plugin-owned runtime chunks (#141876) 2026-09-08 00:11:14 -07:00
release-version.test.ts refactor(release): share stable pin grammar (#135709) 2026-09-03 12:11:00 +08:00
repository-test-api-publications.ts refactor: simplify diagnostic, backup, and runtime ownership (#140369) 2026-09-06 11:54:33 -07:00
runtime-agent.codex-initialization.integration.test.ts feat(codex): preserve native history in supervised message forks (#134660) 2026-08-31 22:47:45 -07:00
setup-home-isolation.test.ts
setup-openclaw-runtime.ts fix: close prepared model runtimes before auth teardown (#141280) 2026-09-07 09:08:23 -07:00
setup.env.ts
setup.extensions.ts
setup.shared.ts
setup.ts
skills-proposal-manual-target.e2e.test.ts fix(qa): align auth and Workshop proofs with runtime contracts (#142280) 2026-09-08 08:49:35 -07:00
slack-outbound-permanent-rejection-loopback.test.ts
stable-release-closeout.test.ts fix: close out stable releases after split publication recovery (#142291) 2026-09-08 10:23:45 -07:00
status-shared-state-readonly.e2e.test.ts
subagent-requester-owner.e2e.test.ts fix(subagents): completion can fail when requester key is unscoped (#141480) 2026-09-08 16:39:42 +05:30
system-agent-managed-auth.e2e.test.ts fix(setup): New Agent fails with protected provider credentials (#141586) 2026-09-07 17:40:04 -07:00
telegram-outbound-permanent-rejection-loopback.test.ts
telegram-question-gateway.test.ts
telegram-reply-conversation.test.ts fix(auto-reply): preserve automation conversation and delivery ownership (#133323) 2026-09-05 03:12:22 -07:00
test-env.state-lifetime.test.ts
test-env.test.ts feat(test): compile subprocesses once per invocation (#132716) 2026-08-30 21:45:07 -07:00
test-env.ts fix(update): preserve configuration and hand failed upgrades to triage (#134490) 2026-09-01 17:33:22 -06:00
test-helper-extension-import-boundary.test.ts
test-home-context.mts fix(update): preserve configuration and hand failed upgrades to triage (#134490) 2026-09-01 17:33:22 -06:00
test-home-policy.mts fix(update): preserve configuration and hand failed upgrades to triage (#134490) 2026-09-01 17:33:22 -06:00
transcripts-discord-audio.integration.test.ts fix(media): keep deferred audio and extraction providers discoverable (#139231) 2026-09-06 14:33:14 -07:00
transcripts-tool.discord-lifecycle.integration.test.ts fix(discord): keep recording independent of voice conversations (#139658) 2026-09-05 23:20:29 -07:00
transcripts-tool.discord-provider.integration.test.ts fix(discord): keep recording independent of voice conversations (#139658) 2026-09-05 23:20:29 -07:00
tsconfig.json fix(ci): lint changed root tests in their canonical project (#135123) 2026-09-01 04:09:13 -07:00
twitch-message-tool-delivery.test.ts
ui.presenter-next-run.test.ts
vitest-boundary-config.test.ts
vitest-cli-ownership.test.ts test: preserve Vitest project ownership for CLI filters (#133322) 2026-08-30 07:45:41 -07:00
vitest-dependency-resolution.test.ts fix(plugins): preserve declared dependencies in source checkouts (#132811) 2026-08-29 16:29:36 -07:00
vitest-light-paths.test.ts
vitest-performance-config.test.ts chore(test): migrate to stable Vitest 5 (#138264) 2026-09-06 04:17:59 +09:00
vitest-projects-config.test-support.ts feat(ui): render Mermaid diagrams in chat (#134913) 2026-09-01 02:01:25 -07:00
vitest-projects-config.test.ts perf(test): resolve the root project graph once in its owner (#141908) 2026-09-07 23:11:28 -07:00
vitest-reporters-config.test.ts perf(test): resolve the root project graph once in its owner (#141908) 2026-09-07 23:11:28 -07:00
vitest-scoped-config.test.ts fix: preserve targeted test selection under Bun (#139497) 2026-09-05 23:54:25 -07:00
vitest-ui-e2e-config.test.ts feat(ui): search long model menus (#141894) 2026-09-08 17:30:44 +05:30
vitest-ui-e2e-prebuilt.test.ts fix(update): keep old updaters able to restart the Gateway (#142195) 2026-09-08 10:43:46 -07:00
vitest-ui-package-config.test.ts chore(test): migrate to stable Vitest 5 (#138264) 2026-09-06 04:17:59 +09:00
vitest-unit-config.test.ts perf(test): preserve exact unit selection for CI (#135772) 2026-09-01 19:02:52 -07:00
vitest-unit-fast-config.test.ts fix(models): keep discovered models after catalog refresh failures (#139357) 2026-09-06 07:31:09 +05:30
vitest-unit-paths.test.ts