Files
geointel/docs/M6_QUALITY_GATES.md
T
Jens faeb58ef6d
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
Initial public release
2026-08-31 21:56:53 +02:00

2.5 KiB

M6 Quality Gates

Gate 0 — Repository health

Before implementing, Codex must verify:

  • expected root folders exist;
  • docs are present;
  • .env.example exists;
  • Docker compose exists;
  • scripts are executable or documented;
  • no obvious merge conflict markers exist;
  • no generated secrets are committed.

Gate 1 — Contract compliance

Every implemented endpoint must have:

  • request schema;
  • response schema;
  • status codes;
  • validation behavior;
  • error shape following the error contract;
  • at least one unit or smoke test.

Gate 2 — Database safety

Every migration must:

  • be additive unless explicitly planned;
  • include indexes for geometry and foreign keys where relevant;
  • avoid destructive operations;
  • preserve future PostGIS use;
  • be documented in migration notes.

Gate 3 — Geospatial correctness

Every geometry operation must:

  • validate geometry;
  • preserve CRS metadata;
  • use projected CRS for area/length where required;
  • return units explicitly;
  • handle empty geometries;
  • handle invalid polygons safely;
  • never silently mix coordinate systems.

Gate 4 — Job safety

Long-running tasks must:

  • run through the job layer;
  • record status transitions;
  • record parameters;
  • record errors;
  • be restart-safe where feasible;
  • not block the API process.

Gate 5 — Frontend state correctness

Every frontend module must:

  • handle loading, empty, success, error, and processing states;
  • not assume demo data exists;
  • use typed API clients;
  • show job progress if job-backed;
  • avoid hidden state that cannot be refreshed.

Gate 6 — AI pipeline safety

Every AI pipeline must:

  • support CPU fallback;
  • write deterministic metadata;
  • record model id/version;
  • record thresholds;
  • preserve georeferencing for outputs;
  • expose confidence values;
  • never overwrite raw input data.

Gate 7 — Export integrity

Every export must include:

  • source dataset reference;
  • analysis run id;
  • generated timestamp;
  • CRS;
  • units;
  • limitations where relevant.

Gate 8 — Handoff completeness

Every Codex pass must update:

  • docs/CODEX_EXECUTION_LOG.md or a pass log;
  • relevant module docs if behavior changed;
  • tests or test notes;
  • TODO/backlog if work remains.

Gate 9 — No fake completion

A feature may not be marked done when it only has:

  • placeholder UI;
  • stub endpoint without real service behavior;
  • mock data not clearly marked as fixture/demo;
  • no persistence despite requiring persistence;
  • no error handling;
  • no acceptance criteria coverage.