feat: add Corp v1 UAT channel skill
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Defect and retest workflow
|
||||
|
||||
## Classification
|
||||
|
||||
- **Product defect:** deployed behavior contradicts an approved acceptance outcome or requirement.
|
||||
- **Environment defect:** routing, dependency, data, identity, or infrastructure prevents valid execution.
|
||||
- **Test defect:** the journey implementation or fixture is incorrect.
|
||||
- **Unresolved:** evidence is insufficient; investigate without assigning blame.
|
||||
|
||||
## Return packet
|
||||
|
||||
A returned failure names the journey ID, deployment tuple, first failing step/assertion, expected and actual behavior, trace/screenshot reference, reproducibility, classification, and owning Kanban/Delivery task.
|
||||
|
||||
UAT does not patch the application or desired state. Delivery supplies a new application/image/GitOps identity after remediation.
|
||||
|
||||
## Retest
|
||||
|
||||
Run the failed journey, materially coupled journeys, and the required smoke set. A narrow retest may verify the correction, but the final verdict must satisfy the release's declared journey set against one frozen deployment identity.
|
||||
@@ -0,0 +1,25 @@
|
||||
# Deployment evidence contract
|
||||
|
||||
A UAT run binds to one immutable deployment tuple:
|
||||
|
||||
```text
|
||||
application_commit
|
||||
image_digests
|
||||
GitOps_commit
|
||||
ArgoCD_application
|
||||
ArgoCD_sync_revision
|
||||
cluster_environment
|
||||
base_url
|
||||
```
|
||||
|
||||
Before execution, assert that the Argo CD application is synchronized to the declared GitOps commit and healthy. Where the environment exposes a version endpoint, compare its source/image identity with the handoff.
|
||||
|
||||
Reject the handoff when:
|
||||
|
||||
- an image tag is mutable and no digest is supplied;
|
||||
- Argo CD reports `OutOfSync`, `Unknown`, `Degraded`, or another non-healthy state;
|
||||
- the deployed source cannot be correlated to the handoff;
|
||||
- the base URL resolves to a different environment;
|
||||
- a newer synchronization occurs after the run begins.
|
||||
|
||||
If deployment identity changes during execution, end the run as invalidated and start a new run after the new identity is frozen.
|
||||
@@ -0,0 +1,29 @@
|
||||
# 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.
|
||||
@@ -0,0 +1,18 @@
|
||||
# Status and reporting
|
||||
|
||||
Lead with the verdict and exact environment. Keep canonical Task flow, deployment state, UAT verdict, and release decision separate.
|
||||
|
||||
Recommended update:
|
||||
|
||||
```markdown
|
||||
## UAT result — <VERDICT>
|
||||
- Run: <run ID>
|
||||
- Environment: <name and base URL>
|
||||
- Deployment: app <commit>; images <digests>; GitOps <commit>; Argo CD <sync/health>
|
||||
- Journeys: <passed>/<failed>/<skipped>; <browser matrix>
|
||||
- Evidence: <artifact index>
|
||||
- Defects/blockers: <links or none>
|
||||
- Next action: <one owner and action>
|
||||
```
|
||||
|
||||
Never say “released,” “production-ready,” or “DONE” from a UAT pass alone. Releases owns promotion and final release status.
|
||||
Reference in New Issue
Block a user