SciDEX hypotheses currently have 7 statuses: proposed, promoted, active,
debated, archived, open, superseded. There is no validated status.
The hypothesis validation gate task (ca573a56, merged 2026-04-28) was intended
to promote high-scoring hypotheses to "validated" — but the schema doesn't
include that status. As a result, the platform's scientific lifecycle is
incomplete. A hypothesis can be proposed, debated, scored 0.96, and yet never
reach a "this is validated science" endpoint. This is the core value-delivery
gap on SciDEX.
Current state (2026-04-29):
validated to the hypotheses status lifecycle in PostgreSQLvalidated statusALTER TABLE hypotheses migration adds validated as an allowed statusvalidatedGET /api/hypotheses?status=validated returns validated hypothesesapi.py for hypothesis routes and status validation logichypothesis_predictions table — confirmed predictions are strong evidenceconvergence_reports — these may already contain validation evidenceSpec created by ambitious quest task generator (Cycle 4). Root cause: ca573a56
shipped a validation gate but no validated status in hypotheses schema.
World model shows 88 composite_score ≥ 0.8 hypotheses and 9 confirmed
predictions — sufficient evidence for first validated cohort.
Started implementation in Orchestra worktree
task-0b9657cd-1826-4d1b-bc65-16fac2c0c242. Staleness check found
ca6dfe65a already added hypotheses.lifecycle='validated',
validated_at, validation_notes, and /api/hypotheses/validated, but
hypotheses.status still had no validated endpoint status and
/api/hypotheses?status=validated returned zero rows. Live DB inspection
also found no row currently satisfies the new strict criteria
composite_score >= 0.85 AND debate_count >= 2 AND >= 1 confirmed prediction; the 9 confirmed predictions are all
AND evidence_validation_score >= 0.7
attached to lower-scoring hyp_test_* rows. Plan: add the status constraint
and stricter future promotion path, expose legacy lifecycle-validated rows
through the status API/UI for continuity, and record the zero-strict-eligible
batch result rather than weakening scientific criteria.
Implemented the code path for the formal hypotheses.status='validated'
endpoint without loosening the task's scientific criteria. Added migration
149 with a PostgreSQL CHECK constraint allowing only the existing statuses
plus validated. Updated scidex.agora.hypothesis_validation_gate so
future writes to status='validated' require:
composite_score >= 0.85debate_count >= 2hypothesis_predictions.status='confirmed'evidence_validation_score >= 0.70/hypotheses UI now treat historical lifecycle='validated' rows asstatus='validated' value going forward. Migration 149 was appliedGET /api/hypotheses?status=validated&limit=3 returned HTTP