Extend quality gates from hypothesis-only to ALL artifact types. Each type has gates
appropriate to its nature. Gates are the minimum bar for market listing — they prevent
garbage from entering the quality market in the first place.
quality_gates.py: Code quality gates (compilation, undefined vars, DDL safety)post_process.py: 3 hypothesis gates (evidence, score, specificity)data_quality_snapshots: 10 metrics tracking hypothesis qualityartifact_quality_gates.py module with per-type gate functionsrun_gates(artifact_id) → returns list of (gate_name, pass/fail, details)register_artifact() — run automatically on creationenforce (reject on fail), warn (log but allow), skipwarn during rollout, switch to enforce per type as gates stabilizeartifact_gate_results table (new, optimised for per-type queries)draft to listed (can_promote_to_listed)GET /api/artifacts/{id}/gates — gate results for an artifactGET /api/quality-gates/summary — pass/fail rates by typeexch-qm-01-MEXT — Market listing depends on gate passageexch-qm-03-LIFE — Lifecycle draft→listed transition requires gate passsen-sg-03-VALD — Schema validation is one gatescidex/atlas/artifact_quality_gates.py already written by prior agent run (untracked)migrations/123_artifact_gate_mode_column.py already written (untracked)artifact_gate_results table already exists in DB with gate_mode columnregister_artifact(), add API routes, add dashboard sectionrun_gates() call in scidex/atlas/artifact_registry.py:register_artifact() (warn mode, non-blocking)GET /api/artifacts/{artifact_id}/gates route to api.pyGET /api/quality-gates/summary route to api.py/senate/quality-gates dashboardpython3 -m py_compile; gates evaluated correctly on test data06a6948c7)artifact_quality_gates.py (582 lines): 7 artifact types with per-type gates, run_gates, can_promote_to_listed, get_gate_results, get_gate_summaryartifact_gate_results table: schema confirmed with all required columns (gate_mode, artifact_type, etc.)register_artifact() integration confirmed at line 475-476 in artifact_registry.py/api/artifacts/{id}/gates) and 5246 (/api/quality-gates/summary)/senate/quality-gates with per-type gate health section{
"requirements": {
"coding": 8,
"safety": 9
}
}