mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +00:00
* 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. |
||
|---|---|---|
| .. | ||
| contracts | ||
| e2e | ||
| fixtures | ||
| helpers | ||
| mocks | ||
| plugins | ||
| scripts | ||
| tsconfig | ||
| vitest | ||
| agent-exec-code-mode.live.test.ts | ||
| AGENTS.md | ||
| appcast.test.ts | ||
| architecture-smells.test.ts | ||
| buzz-account-config-mutation.test.ts | ||
| canonical-descendant.integration.test.ts | ||
| CLAUDE.md | ||
| clawrouter-managed-gateway.e2e.test.ts | ||
| cli-json-stdout.agents.e2e.test.ts | ||
| cli-json-stdout.automation.e2e.test.ts | ||
| cli-json-stdout.config.e2e.test.ts | ||
| cli-json-stdout.e2e.test.ts | ||
| cli-json-stdout.gateway.e2e.test.ts | ||
| cli-json-stdout.hooks.e2e.test.ts | ||
| cli-json-stdout.models.e2e.test.ts | ||
| cli-json-stdout.plugins.e2e.test.ts | ||
| cli-json-stdout.sessions.e2e.test.ts | ||
| cli-json-stdout.skills.e2e.test.ts | ||
| cli-json-stdout.test-support.ts | ||
| cli-state-sqlite.e2e.test.ts | ||
| cron-edit-trigger-preservation.e2e.test.ts | ||
| discord-live-policy.integration.test.ts | ||
| doctor-copied-state-migration.e2e.test.ts | ||
| doctor-legacy-whatsapp-ack-migration.e2e.test.ts | ||
| 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 | ||
| gateway-copied-codex-session-resume.e2e.test.ts | ||
| gateway-external-state-ownership.e2e.test.ts | ||
| 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 | ||
| gateway-rpc-exporters.test.ts | ||
| gateway-session-end-shutdown.e2e.test.ts | ||
| gateway-steer-fifo.e2e.test.ts | ||
| gateway-widget-restart.live.test.ts | ||
| gateway.multi.e2e.test.ts | ||
| git-hooks-pre-commit-boundaries.test.ts | ||
| git-hooks-pre-commit.test-support.ts | ||
| git-hooks-pre-commit.test.ts | ||
| 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 | ||
| 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 | ||
| mcp-show-redact.e2e.test.ts | ||
| non-isolated-runner.resolve-mocks.test.ts | ||
| non-isolated-runner.test-api-fixtures.ts | ||
| non-isolated-runner.test.ts | ||
| non-isolated-runner.ts | ||
| npm-publish-plan.test.ts | ||
| oauth-refresh-authority-chain.e2e.test.ts | ||
| official-channel-catalog.test.ts | ||
| onboard-plugin-warnings.e2e.test.ts | ||
| openai-model-discovery-auth-order.test.ts | ||
| openai-onboarding.live.test.ts | ||
| openclaw-launcher-version.e2e.test.ts | ||
| openclaw-launcher.e2e.test.ts | ||
| openclaw-npm-postpublish-verify.test.ts | ||
| openclaw-npm-prepublish-verify.test.ts | ||
| openclaw-npm-release-check.test.ts | ||
| openclaw-prepack.test.ts | ||
| outbound-sanitize-text-delivery.test.ts | ||
| package-manager-config.test.ts | ||
| package-scripts.test.ts | ||
| plugin-clawhub-release.test.ts | ||
| plugin-cron-registry-owner.e2e.test.ts | ||
| plugin-extension-import-boundary.test.ts | ||
| plugin-npm-package-manifest.test.ts | ||
| plugin-npm-release.test.ts | ||
| plugin-npm-runtime-build.test.ts | ||
| pr111899-accepted-run-transport-loss.e2e.test.ts | ||
| pr119473-real-runtime-proof.e2e.test.ts | ||
| pr126853-heartbeat-visible-lane-proof.e2e.test.ts | ||
| qa-channel-message-tool-delivery.test.ts | ||
| qa-convex-credential-payload-validation.test.ts | ||
| release-check.test.ts | ||
| release-version.test.ts | ||
| repository-test-api-publications.ts | ||
| runtime-agent.codex-initialization.integration.test.ts | ||
| setup-home-isolation.test.ts | ||
| setup-openclaw-runtime.ts | ||
| setup.env.ts | ||
| setup.extensions.ts | ||
| setup.shared.ts | ||
| setup.ts | ||
| skills-proposal-manual-target.e2e.test.ts | ||
| slack-outbound-permanent-rejection-loopback.test.ts | ||
| stable-release-closeout.test.ts | ||
| status-shared-state-readonly.e2e.test.ts | ||
| subagent-requester-owner.e2e.test.ts | ||
| system-agent-managed-auth.e2e.test.ts | ||
| telegram-outbound-permanent-rejection-loopback.test.ts | ||
| telegram-question-gateway.test.ts | ||
| telegram-reply-conversation.test.ts | ||
| test-env.state-lifetime.test.ts | ||
| test-env.test.ts | ||
| test-env.ts | ||
| test-helper-extension-import-boundary.test.ts | ||
| test-home-context.mts | ||
| test-home-policy.mts | ||
| transcripts-discord-audio.integration.test.ts | ||
| transcripts-tool.discord-lifecycle.integration.test.ts | ||
| transcripts-tool.discord-provider.integration.test.ts | ||
| tsconfig.json | ||
| twitch-message-tool-delivery.test.ts | ||
| ui.presenter-next-run.test.ts | ||
| vitest-boundary-config.test.ts | ||
| vitest-cli-ownership.test.ts | ||
| vitest-dependency-resolution.test.ts | ||
| vitest-light-paths.test.ts | ||
| vitest-performance-config.test.ts | ||
| vitest-projects-config.test-support.ts | ||
| vitest-projects-config.test.ts | ||
| vitest-reporters-config.test.ts | ||
| vitest-scoped-config.test.ts | ||
| vitest-ui-e2e-config.test.ts | ||
| vitest-ui-e2e-prebuilt.test.ts | ||
| vitest-ui-package-config.test.ts | ||
| vitest-unit-config.test.ts | ||
| vitest-unit-fast-config.test.ts | ||
| vitest-unit-paths.test.ts | ||