acquire_fail:worktree_creation_failed:branch_held_by_other:held_by=/tmp/wt-d00d502f
Effort: thorough
Today a researcher who lands on /disease/alzheimers is bounced through a
301 to a wiki page (see api.py:61436) that shows static prose. SciDEX
actually has, for each disease, hundreds of artifacts spread across every
layer — top hypotheses, debates, open questions, prediction markets,
notebooks, citations, challenges, funding flows. None of this is surfaced
in one place. Build a real per-disease landing page that pulls EVERY
artifact type linked to the disease and renders a synthesized
"state of the field" view, auto-refreshing as new artifacts arrive.
This is the canonical demonstration of the artifact-unification spine
(wave-1 Q-DSC/Q-OPENQ/Q-LIVE/Q-PROP/Q-PERC) paying off: cross-layer
synthesis no human or single agent can produce by hand.
GET /disease-landing/{slug} in api.py. The legacy/disease/{name} 301 redirect (api.py:61436) is updated so anyentity_id pointing at a known/disease-landing/{slug}.
register_dashboard (scidex/atlas/artifact_registry.py:2318)disease-landing-<slug>. One artifact perscripts/seed_disease_landing_dashboards.py,scidex/senate/dashboard_engine.py:_validate_query:top_hypotheses — hypotheses joined to hypothesis_entitiesentity_links) on disease entity_id, ordered bycomposite_score DESC, top 10.open_debates — debate_sessions joined to those hypothesisclosed, archived), most recent 10.unanswered_questions — Q-OPENQ artifacts (artifact_type =open_question) tagged with the disease, ranked by score, top 10.live_markets — markets joined on the hypothesis ids, statusactive, ordered by liquidity_usd DESC, top 10.recent_notebooks — artifacts WHERE artifact_type IN
('notebook','analysis','figure','dataset') linked viaartifact_links, last 30 days.key_citations — top 10 papers by citation_count whosemesh_terms or wiki_entities link includes the disease.funding_flows — challenges (Q-CW bounties) for the disease,recent_proposals — Q-PROP proposed_artifact rows fromeb6ff576-9d5 continuous-proposal pipeline tagged withwhats_changed — count of every artifact type from #1-8render.template = new disease_landing.html added todashboard_engine._TEMPLATES. Layout:cache_ttl_seconds=600; manual refresh via existing/api/dashboard/{id}/refresh.
tests/test_disease_landing.py seeds 1 disease + 3 hyps +/disease-landing/alzheimers-disease and/disease-landing/parkinsons-disease against production DB and/agora/new).api.py:61436 to know the slugdiseases-<name>).
entity_links, wiki_entities, orcanonical_entity_links — seescidex/atlas/canonical_entity_links.py). One join per data_source_pc() ILIKE-escape helper landed forq-live-ad-therapeutic-landscape (work log notes the bug it fixed).
WHERE created_at >CASE WHEN created_at >
NOW() - INTERVAL '7 days' bucketing — keep all math in SQL solandscape_heatmap.html for visuale352460b-2d76 — view_spec_json DSL (done)41620b88-115d — seed-dashboard pattern (done)