Public source validation / validate (push) Failing after 3m8s
3.7 KiB
3.7 KiB
Quality gates
Per task
- Deliverables exist.
- Acceptance checks pass.
- Formatting/lint/type checks for changed code pass.
- Relevant unit/integration/browser tests pass.
- Diff review complete.
- Docs/contracts updated.
- Evidence summary complete.
- No introduced secret or critical security issue.
- A production Go package has at least one non-test importer reachable from a binary (
cmd/api,cmd/worker,cmd/agent,cmd/migrate), verified bypython tools/check_wiring.py; a task may not be marked done while its deliverable is unreachable, unless it is allowlisted intools/wiring_allowlist.jsonwith a reason and a tracking task id. - State updated via
projectctl.
Per milestone
- Every milestone task done.
- Full milestone test set passes.
- Architecture drift review.
- Dependency/security/license check.
- TODO/FIXME/skipped-test/debug scan.
- Wiring/reachability scan (
python tools/check_wiring.py): no package this milestone claims to deliver is unreachable and unallowlisted. - Migration/restart behavior where relevant.
- UX/accessibility check for user-visible milestones.
- Performance check for hot paths.
- Milestone evidence index.
python tools/projectctl.py gate <MILESTONE>passes.
M0 gate
- Repository/tooling/server discovery recorded.
- Existing services/ports/networks/volumes/monitoring sources inventoried.
- Backups/rollback plan for touched configs.
- Current versions/capabilities verified from primary sources.
- Architecture/security baseline reviewed.
- M1-M9 plan adjusted to facts.
- No destructive production change.
M1 gate
- Clean local build.
- API/web/worker/database start and health.
- Migrations empty/restart/repeat.
- Auth/RBAC skeleton and audit.
- CI-equivalent checks.
- No secrets.
- Compose isolation/hardening baseline.
M2 gate
- Prometheus and Unraid/mock adapters.
- Inventory entities/relations/source ownership.
- Discovery idempotency and source failure safety.
- Datasource health/freshness.
- API and UI inventory.
- Target-scale reconciliation test.
M3 gate
- Full dashboard CRUD/versioning/import/export.
- Grid edit and per-breakpoint layouts.
- Widget catalog/config states.
- Undo/redo/restore/concurrency.
- Desktop/mobile accessibility.
- Browser persistence/reload proof.
M4 gate
- Semantic metrics and bounded query planner.
- Historical/live charts.
- WebSocket auth, dedup, backpressure, reconnect.
- Stale/unknown.
- Performance/load and leak baseline.
- Query security tests.
M5 gate
- Host/process/container/application coverage.
- Restart loop and application aggregation.
- Events/detail pages/top-N/status.
- Failure scenarios and scale.
M6 gate
- Array/disks/SMART/pools/shares/capacity.
- Read-only safety.
- Storage stale/unknown and alerts inputs.
- Simulated degradation.
- No real destructive test.
M7 gate
- Probe engine and SSRF controls.
- TLS/DNS/network/service history.
- Dependencies/topology.
- Container-running/service-down detection.
- Suppression inputs.
M8 gate
- Rule versions/state machine/hysteresis.
- Unknown/silence/maintenance/suppression.
- Notifications audit.
- Incident grouping/timeline/notes.
- Alert storm scenario produces expected grouping.
- Concurrency/restart tests.
M9/final gate
- Complete Dutch UX, mobile and wallboard.
- Accessibility and performance budgets.
- Security hardening/scans.
- Real wallboard soak of at least 17 hours. This supersedes the original 24-hour duration only through the explicit product-owner decision recorded for M10-14 on 2026-08-11; all other continuity and performance budgets remain.
- Backup/restore and upgrade/rollback.
- Clean-room install.
- Production deployment, restart and smoke.
- Final requirement/evidence matrix.
- Runbook and current state accurate.