diff --git a/README.md b/README.md
index b88b5aa..d133ac7 100644
--- a/README.md
+++ b/README.md
@@ -4,29 +4,7 @@ A portable GitHub Action and lightweight framework for running Playwright agains
It keeps the application repository in control of its tests and services while providing a consistent CI engine: deterministic runner images, smart reuse, SUT lifecycle management, test filtering, Playwright reports, traces, portable artifacts, and a fail-closed result.
-```text
-pull request / main / manual
- |
- validate e2e/ci.yml
- |
- hash E2E runner inputs
- |
- +------+------+
- | |
- validated cache cache miss
- | build runner
- +------+------+
- |
- start Dockerized SUT
- |
- Playwright projects + tags
- |
- results + traces
- |
- HTML report + report image
- |
- E2E Gate
-```
+
## Start from the template
@@ -86,19 +64,7 @@ The action fails at the end when tests fail or infrastructure is incomplete. A c
The caller keeps these files:
-```text
-.
-+-- compose.e2e.yml
-+-- e2e/
-| +-- ci.yml
-| +-- Dockerfile
-| +-- runner-entrypoint.mjs
-| +-- package.json
-| +-- pnpm-lock.yaml
-| +-- playwright.config.ts
-| +-- tests/
-+-- sut/ # example only; use your real services
-```
+
`e2e/ci.yml` is the CI contract:
diff --git a/docs/diagrams/e2e-flow.svg b/docs/diagrams/e2e-flow.svg
new file mode 100644
index 0000000..6426346
--- /dev/null
+++ b/docs/diagrams/e2e-flow.svg
@@ -0,0 +1,128 @@
+
diff --git a/docs/diagrams/repository-contract.svg b/docs/diagrams/repository-contract.svg
new file mode 100644
index 0000000..bb4829f
--- /dev/null
+++ b/docs/diagrams/repository-contract.svg
@@ -0,0 +1,87 @@
+