Files
corp-v1-channel-uat/references/journey-repository-contract.md
T

30 lines
1.1 KiB
Markdown

# Journey repository contract
The UAT repository is a standalone pnpm project. It contains no Kubernetes/Helm/Argo CD manifests and no application implementation.
Required baseline:
```text
journeys/
smoke/
regression/
fixtures/
helpers/
playwright.config.ts
package.json
pnpm-lock.yaml
Taskfile.yml
.gitea/workflows/validate.yaml
```
Rules:
- Stable journey IDs appear in test titles and evidence.
- `UAT_BASE_URL` is required; no production-looking default is embedded.
- Authentication is loaded from runtime secrets and never persisted in storage-state files committed to Git.
- Retries are explicit and low; a retry cannot turn a flaky first failure into an undisclosed pass.
- Failure evidence includes trace and screenshot; video is opt-in when data handling permits it.
- CI validates types, lint, journey discovery, and a non-network contract test. Environment execution is a separately authorized job.
- Taskfile is the human/automation entry point and delegates to package scripts.
- The repository README documents local execution, evidence locations, environment variables by name only, and failure classification.