Files
pikasTech-HWLAB/docs/dev-gate-report.md
T
Lyon 357a68bb95 fix: layer dev DB readiness evidence
Refs #49

Merged by commander after reviewing Code Queue task codex_1779422762669_1. Adds redacted DB readiness layering and refreshes DEV endpoint/report evidence. Follow-up: deploy/verify the new readiness probe in DEV via standard image CI/CD.
2026-05-22 12:27:01 +08:00

74 lines
2.4 KiB
Markdown

# HWLAB DEV Gate Report Contract
This document defines the canonical DEV gate report format for
`pikasTech/HWLAB#31` and the DEV deploy apply report extension for
`pikasTech/HWLAB#33`. It is the handoff surface for the parallel workstreams
behind `#7/#9/#12/#17/#20/#21/#22/#23/#24/#25/#26`, so source-contract
evidence, local smoke, dry-run notes, real DEV prerequisites, and remaining
blockers stay in one place.
This contract is report-only. It does not authorize a real DEV or PROD
deployment.
## Files
- `reports/dev-gate/dev-gate-report.example.json`: machine-readable example.
- `reports/dev-gate/dev-deploy-report.json`: DEV deploy apply/preflight result.
- `scripts/validate-dev-gate-report.mjs`: local validator for the report shape.
## Required Fields
Every report must include:
- `$schema`
- `$id`
- `reportVersion`
- `issue`
- `taskId`
- `commitId`
- `acceptanceLevel`
- `devOnly`
- `prodDisabled`
- `sourceContract`
- `validationCommands`
- `localSmoke`
- `dryRun`
- `devPreconditions`
- `blockers`
## Field Rules
- `issue` is fixed to `pikasTech/HWLAB#31`.
- `devOnly` must be `true`.
- `prodDisabled` must be `true`.
- `commitId` must be a git SHA string.
- `taskId` and `acceptanceLevel` must be stable slugs, not free-form prose.
- `validationCommands` must record the exact commands used to validate the
report contract.
- `sourceContract.documents` should point at the frozen docs that define the
gate contract.
- `localSmoke`, `dryRun`, and `devPreconditions` should each summarize their
own state with a status, command list, evidence list, and short summary.
- `blockers` should list the remaining open blockers as machine-readable
objects.
- DB gate extensions may add redacted `db`, `cloudApiDb`, or check evidence
objects. These must include only env names, presence/missing status, and
Secret reference names plus redacted readiness layers such as `configReady`,
`envInjected`, `connectionAttempted`, `connectionResult`, and
`liveConnected`. They must not include connection strings, passwords, tokens,
DB hostnames from the secret URL, or fixture output presented as live DB
evidence.
## Validation
Run:
```sh
node --check scripts/validate-dev-gate-report.mjs
node scripts/validate-dev-gate-report.mjs
```
The validator scans `reports/dev-gate/*.json` by default. It only checks the
contract shape and the frozen report metadata; it does not run any DEV or PROD
deployment.