53 lines
2.7 KiB
Markdown
53 lines
2.7 KiB
Markdown
# Conductor v0.1.0 Release Validation
|
|
|
|
## Release-critical layers
|
|
|
|
The release gate uses five complementary layers:
|
|
|
|
1. Frontend unit and integration tests cover component rendering, visual authoring, JSON diagnostics, request templates, runtime state, actions, bindings, variables, failure recovery, and the deterministic MVP workflows.
|
|
2. Backend unit tests cover schema and semantic validation, authentication, encryption, proxy destination/header/redirect/transport/response policy, and safe logging.
|
|
3. Backend HTTP integration tests run an isolated server, SQLite database, and controlled upstream to cover health, CRUD, invalid-update atomicity, canonical round trips, all five authentication modes, proxy success/upstream/policy outcomes, history redaction/cleanup, and secret lifecycle.
|
|
4. Playwright browser tests exercise the real frontend and backend through Docker Compose using the controlled repository mock server. They cover the workflow launcher, dependent data, dashboard refresh/selection, save, reload, and rerun readiness.
|
|
5. The schema matrix, TypeScript checks, production builds, Docker restart/persistence, database backup/restore, and security regression checks prove packaging and operational behavior.
|
|
|
|
Passing automation does not replace proportional manual acceptance. Human verification remains required for usability, visual state, browser-visible redaction, and the complete six-workflow release checklist.
|
|
|
|
## Deterministic test environment
|
|
|
|
The release demo is `examples/project-definitions/valid-release-demo.json`. It uses only `http://mock-api:8787`, supplied by `examples/mock-server/conductor-mock-server.js` through the existing Compose override:
|
|
|
|
```bash
|
|
docker compose -f docker-compose.yml -f docker-compose.manual-test.yml up -d --build
|
|
npm run test:e2e
|
|
```
|
|
|
|
The override grants the backend only the exact internal origin `http://mock-api:8787`. The normal Compose definition remains default-deny and contains no internal exception.
|
|
|
|
## Automated commands
|
|
|
|
Run with Node 20 and npm 10:
|
|
|
|
```bash
|
|
cd frontend
|
|
npm ci
|
|
npx tsc --noEmit
|
|
npm test -- --watchAll=false --runInBand
|
|
npm run build
|
|
|
|
cd ../backend
|
|
npm ci
|
|
npm test
|
|
|
|
cd ..
|
|
npm ci
|
|
npm run test:schema
|
|
docker compose -f docker-compose.yml -f docker-compose.manual-test.yml up -d --build
|
|
npm run test:e2e
|
|
```
|
|
|
|
The backend integration suite binds isolated localhost ports. In restricted command sandboxes it may require explicit permission for local listening sockets.
|
|
|
|
## Manual gate
|
|
|
|
Manual acceptance begins only after all automated commands, Docker restart and persistence, backup/restore, repository credential scan, and cleanup checks pass. The manual checklist must cover all six workflows in `MVP_SCOPE.md`, including all authentication modes and failure recovery, and record any accepted limitations or defects.
|