When a hypothesis prediction is falsified or a prediction market resolves
against the consensus, the most valuable downstream artifact is the new
question that the falsification opens. ("If APOE4 → tau spread is wrong, what
DOES drive tau spread in the absence of APOE4?") Today, falsifications close
the hypothesis loop without spawning any new search frontier. This task wires
a falsification → open_question generator so every refuted prediction becomes
a ranked question for the field.
scidex/agora/open_question_from_falsified.py (≤400 LoC).hypothesis_predictions.outcome_status flipping tofalsified / unsupported (poll table; no event_bus dependency).markets.resolution_status='resolved' with the resolution disagreeingscidex.core.llm.complete to ask aDOMAIN_JUDGES inscidex/agora/open_question_tournament.py) to generate 1-3 successoropen_question artifacts with:metadata.source_kind='falsified_prediction' or 'market_resolution'metadata.parent_hypothesis_id setmetadata.field_tag inherited from the parent hypothesismetadata.importance_elo seeded at the parent hypothesis's priorartifact_links: link_type='answered_by' (falsifiedlink_type='succeeds' edge back.
SELECT id FROM hypotheses WHERE status='falsified') and emit ≥30question_hash).
hypothesis_predictions schema in scidex/core/database.py andmarkets table in exchange.py for resolution columns.
scidex/agora/open_question_tournament.py DOMAIN_JUDGES.
scidex-openq-falsified.timer); single-shotdata/scidex-artifacts/reports/openq_falsified_<utc>.json.q-openq-mine-from-wiki-pages — shared dedup utilb2d85e76-51f3 — open_question schema47ee9103-ccc0 — Elo tournament reads seeded importance_eloSchema findings:
hypothesis_predictions.status (not outcome_status) holds 'falsified'/'unsupported'. 5 falsified rows exist (test data).hypotheses.status='falsified' — 0 rows currently; backfill handles both paths.markets uses current_price + resolution_price; consensus fallback via metadata['consensus_probability'].scidex/agora/open_question_from_falsified.py (378 LoC):process_falsified_prediction / process_market_resolution per-source processorsrun_poll(since_hours) / run_backfill(limit) batch runnerssource_id + source_kind guard prevents re-processingquestion_hash from open_question_miner_wikiparent_hypothesis_elo + 50; answered_by + succeeds linksopen_question_tournament
tests/agora/test_open_question_from_falsified.py — 19 tests all pass:deploy/scidex-openq-falsified.{service,timer} — daily at 03:00 UTC{
"completion_shas": [
"15fa5de4c5dee93403dfb7df8cb37b372880e41f"
],
"completion_shas_checked_at": ""
}