# 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.