diff --git a/docs/testing/pr-testing-guide.md b/archive/2026-06-test-cleanup/docs/testing/pr-testing-guide.md similarity index 100% rename from docs/testing/pr-testing-guide.md rename to archive/2026-06-test-cleanup/docs/testing/pr-testing-guide.md diff --git a/docs/testing/test-organization.md b/archive/2026-06-test-cleanup/docs/testing/test-organization.md similarity index 100% rename from docs/testing/test-organization.md rename to archive/2026-06-test-cleanup/docs/testing/test-organization.md diff --git a/docs/testing/testing-architecture.md b/archive/2026-06-test-cleanup/docs/testing/testing-architecture.md similarity index 100% rename from docs/testing/testing-architecture.md rename to archive/2026-06-test-cleanup/docs/testing/testing-architecture.md diff --git a/docs/testing/README.md b/docs/testing/README.md new file mode 100644 index 00000000..3f05e414 --- /dev/null +++ b/docs/testing/README.md @@ -0,0 +1,73 @@ +# Testing + +GraphDone has one reproducible test entry — the **unified harness** — plus the +focused **smoke gate** that must pass before any "it works" claim. + +```bash +TEST_URL=http://localhost:3127 npm run test:smoke # THE GATE (blocking, ~30s) +npm run test:unified # full battery → dual report +npm run test:unified:smoke # fast subset (unit + gate + a focused e2e) +npm run test:unified:open # full battery, then open the HTML report +npm run test:unified:lib # the harness's own unit tests (node --test) +``` + +## Dual output (one run, two artifacts) +The harness writes to `test-artifacts/unified/`: +- **`report.html`** — human-readable: per-sequence pass/warn/fail with embedded + `` screenshots and `