Completion criteria are empty ({}), making it impossible to verify whether the published atlas content addresses immunology of aging, immune memory, or any Allen Immunology domain requirements
> Goal. Maintain living maps of scientific fields — where research clusters, where the white space is, what the frontiers are. These maps drive quest_gaps (by surfacing empty cells) and quest_inventions (by tagging cells as novel or saturated). Generalizes the existing AI-tools-landscape pattern to every scientific domain SciDEX cares about.
>
> Distinct from ad-hoc review articles: a landscape here is a structured artifact — domain partitioned into cells, each cell with density/recency/controversy metrics, each cell linked to the literature and the world model. It's queried programmatically by other quests.
Parent: [scidex_economy_design_spec.md](scidex_economy_design_spec.md).
Existing AI-tools case: [q-ai-tools-landscape_spec.md](q-ai-tools-landscape_spec.md), [4be33a8a_4095_forge_curate_ai_science_tool_landscape_spec.md](4be33a8a_4095_forge_curate_ai_science_tool_landscape_spec.md).
---
An instance of this artifact class covers one domain (e.g. "CRISPR base editing", "RNA therapeutics for CNS", "small-molecule PROTACs"). It has:
domain (canonical string; pinned to a world-model subgraph)cells: list of {cell_id, label, paper_count, recency_score, controversy_score, saturation, gap_hint}boundaries: adjacency edges to neighboring landscapes (so a gap in the boundary region can route to either)freshness_date: when the corpus was last ingestedcoverage_completeness (0-1): how much of the named domain is actually mappedopen_gaps: list of cell_ids with saturation < 0.3 (the white-space frontier)top_papers_by_cell: 3-5 representative papers per cellfrontier_commentary: 2-3 paragraphs of Synthesizer-written narrative on where the field is going---
world_model_framework_spec.md)Per run, one or more landscape_analysis artifacts. Each admitted artifact feeds:
quest_gaps — each cell with saturation < 0.3 is emitted as a candidate gap (downstream quest decides if it's actionable)quest_inventions and quest_experiments — novelty(cell) lookup/showcase/economy dashboard — landscape heatmapstask_type = multi_iter:
artifact_class = "landscape_analysis"required_roles = ["surveyor", "cartographer", "critic"]debate_rounds = 3max_iterations = 2 (landscapes are expensive to build; don't thrash)target_cell = domainacceptance_criteria:coverage_completeness ≥ 0.7cell_cohesion ≥ 0.6 (cells are semantically coherent per embedding clustering)freshness_date within 30 dayscross-reference consistency (cells consistent with the world-model subgraph)Round 1 — Survey. Surveyor agents pull a sized corpus (5k-20k papers depending on domain) from the Atlas literature index and produce an initial clustering. Clusters come with proposed labels (LLM-summarized) and per-cluster paper lists.
Round 2 — Cartography. Cartographer agent takes the clusters and produces:
recency_score, cited-by dispersion → controversy_score, paper_density_per_unit_time → saturation)domain_adjacency in Atlas)gap_hint per under-saturated cellsaturation well-calibrated? (Compare to a held-out subsample of papers.)coverage_completeness ≥ 0.7: ≥70% of the world-model subgraph's high-connectivity entities land in some cell.cell_cohesion ≥ 0.6: measured via within-cluster vs between-cluster embedding distance (standard silhouette or Davies-Bouldin threshold).freshness_date within 30 days of admission.saturation > 0.5 cells: refresh every 8 weeks (slow-moving fields)saturation 0.2-0.5 cells: refresh every 4 weeks (active fields)saturation < 0.2 cells: refresh every 2 weeks (frontier fields — highest novelty value)saturation or controversy_score has drifted since the last snapshot. Stable landscapes don't need re-mapping; volatile ones do.quest_gaps — reads open_gaps from each landscape; the gap factory's scanner component (f456463e9e67_atlas_build_automated_gap_scanner_analy_spec.md) ingests landscape cells as input context.quest_inventions — novelty(cell) lookup drives seeding priority.quest_experiments — the no_redundant_prior_art admission check consults this landscape's top_papers_by_cell.Showcase landscape artifacts demonstrate the full mapping pipeline for a domain of current strategic interest. UI treatment: interactive 2D cell map (umap or similar), click a cell to see its papers + saturation + any inventions/experiments rooted in it.
boundaries edges; the UI renders a federated view.)cfecbef1-ea59-48a6-9531-1de8b2095ec7immunology-aging-memory after a staleness check confirmed no sibling task or existing artifact on origin/main already covered this domain.artifacts/landscape_synthetic_biology_lineage_tracing.json.paper_cache.search_papers, get_db_readonly(), and the existing persona/scientist paper accumulation scripts for Susan Kaech and Claire Gustafson.quest_gaps consumption, and a persona review block capturing a synthetic "looks right" judgment tied to the requested Allen personas.
immunology, neuroinflammation, aging neurobiology, and peripheral-to-central immune modulation.Memory T cell aging and rejuvenation (2026), Multi-omic profiling reveals age-related immune dynamics in healthy adults (2025), NRF1-mediated innate immune response drives inflammaging (2025), and C1q reprograms innate immune memory (2025).cfecbef1-ea59-48a6-9531-1de8b2095ec7scripts/build_landscape_immunology_aging_memory.py now writes the JSON artifact and upserts landscape_analyses for domain immunology-aging-memory.artifacts/landscape_immunology_aging_memory.json and persisted landscape_analyses.id=2 with coverage_completeness=0.857, cell_cohesion=0.63, open_gap_count=12, total_papers=136.domain_description, generated_at, methodology, per-run coverage metrics, and generated gap IDs so downstream consumers can inspect the artifact through PostgreSQL without scraping repo files.python3 -m py_compile scripts/build_landscape_immunology_aging_memory.py passed; python3 scripts/build_landscape_immunology_aging_memory.py completed successfully and printed the persisted row id.cfecbef1-ea59-48a6-9531-1de8b2095ec7artifacts, and emits concrete knowledge_gaps rows linked back to landscape_analyses.id=2.artifacts/landscape_immunology_aging_memory.json; current run produced total_papers=326, coverage_completeness=0.857, cell_cohesion=0.63, and emitted_gap_ids=12.python3 -m py_compile scripts/build_landscape_immunology_aging_memory.pypython3 scripts/build_landscape_immunology_aging_memory.pylandscape-immunology-aging-memory-v1, 12 domain gaps in knowledge_gaps, and landscape_analyses.generated_gaps populated with the emitted gap ids.