Files
ITWorx-Pulse-Public/docs/engineering/QUALITY_GATES.md
T
ITWorx Pulse release export bd774932d5
Public source validation / validate (push) Failing after 3m8s
Publish ITWorx Pulse source
2026-09-03 02:09:19 +02:00

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 by python tools/check_wiring.py; a task may not be marked done while its deliverable is unreachable, unless it is allowlisted in tools/wiring_allowlist.json with 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.