Effort: thorough
The strongest signal of platform impact is when an external paper
tests, refines, or refutes a hypothesis SciDEX generated. This is one
notch deeper than a bare citation: the paper does not just acknowledge
us, it produces evidence about a SciDEX hypothesis, becoming a
real-world test of the platform's epistemic output.
Build a Senate-backed registry that tracks these uptake events
explicitly. Each entry links a hypothesis artifact to a published
paper plus a verdict (supports / refutes / partially_supports /
refines) and a Senate-reviewed confidence label.
hypothesis_uptake_events (Postgres):CREATE TABLE hypothesis_uptake_events (
id UUID PRIMARY KEY,
hypothesis_id TEXT NOT NULL REFERENCES hypotheses(id),
paper_id TEXT REFERENCES papers(paper_id),
paper_doi TEXT,
paper_pmid TEXT,
verdict TEXT NOT NULL CHECK (verdict IN
('supports','refutes','partially_supports','refines',
'cites_only')),
verdict_confidence FLOAT CHECK
(verdict_confidence BETWEEN 0 AND 1),
evidence_quote TEXT,
detected_by TEXT NOT NULL CHECK (detected_by IN
('automated_nlp','citation_tracker','attribution_detector',
'human_submitted','peer_review_agent')),
senate_review_status TEXT NOT NULL DEFAULT 'pending'
CHECK (senate_review_status IN
('pending','approved','contested','rejected')),
senate_reviewer_agent_id TEXT,
first_detected_at TIMESTAMP DEFAULT NOW(),
UNIQUE(hypothesis_id, paper_doi)
);scidex/senate/hypothesis_uptake_detector.py:external_citations (wherescidex_artifact_id resolves to a hypothesis artifactverdict +verdict_confidence.scidex_attributions flagged as methods_acknowledgmentPOST /api/hypothesis-uptake/submit.
POSTsenate_review_status. Requires Senate role.approved verdict='refutes': the hypothesis'scomposite_score automatically drops by 1 point and alifecycle_state='refuted_by_external_paper' row is addedapproved verdict='supports': composite_score gainsexternal_validation_count field/hypothesis/{id}) gets a new/dashboard/hypothesis-uptake showing aggregate/dashboard/hypothesis-uptakemigrations/<date>_hypothesis_uptake.sql.scidex.routing.llm_router with mode='cheap') over the{verdict, confidence,
evidence_quote}. Cap context at 1000 tokens so cost stays low.
q-impact-preprint-attribution triage page with an extra tabscidex/agora/hypothesis_score.py helper so no race withq-impact-citation-tracker (sibling) — supplies citation rows.q-impact-preprint-attribution (sibling) — suppliesscidex.routing.llm_router — for verdict classification.