{
  "registry_schema": "nmd-vcell-tool-catalog-registry/1.0",
  "interface_build": "EA-20260817-57",
  "resource_release": "v1.2.0-measured-dmd-evidence",
  "checked_at": "2026-08-16",
  "route": "/resource/tools/",
  "tool_count": 7,
  "records": [
    {
      "tool_id": "TOOL-GENE-RESOLVER-1.0",
      "title": "Gene Resolver",
      "category": "IDENTITY",
      "audience": [
        "biologist",
        "data steward",
        "model developer"
      ],
      "execution_state": "LIVE_WEB_WORKFLOW",
      "primary_question": "Which canonical gene does this symbol, alias, previous symbol or identifier resolve to?",
      "input_contract": {
        "required": [
          "gene symbol, alias, Ensembl ID or NCBI Gene ID"
        ],
        "example": "P53 or ENSG00000141510"
      },
      "output_contract": {
        "object": "Gene search result",
        "includes": [
          "canonical symbol",
          "stable gene route",
          "mapping state",
          "released evidence pointers"
        ]
      },
      "prerequisites": [
        "Use one identifier per lookup",
        "Treat ambiguous aliases as unresolved until manually checked"
      ],
      "suitability_rule": "Suitable for identifier normalization and navigation; not a biological inference engine.",
      "failure_states": [
        {
          "code": "IDENTIFIER_NOT_FOUND",
          "meaning": "No released mapping key matches the input.",
          "next_action": "Check source species, namespace and spelling."
        },
        {
          "code": "AMBIGUOUS_ALIAS",
          "meaning": "The alias cannot be assigned safely to one canonical symbol.",
          "next_action": "Use Ensembl or NCBI Gene ID."
        }
      ],
      "responsible_use": [
        "Do not interpret successful identity resolution as evidence of disease relevance."
      ],
      "web_route": "/resource/search",
      "api_routes": [
        "/resource/api/v1.1/identifier_mapping.json",
        "/resource/api/v1/search_index.json"
      ],
      "next_handoff": {
        "label": "Open the canonical Gene object",
        "route": "/resource/genes/"
      },
      "inspired_by": [
        "Cellarium task-specific tool identity",
        "CZI linked object navigation"
      ]
    },
    {
      "tool_id": "TOOL-EVIDENCE-COMPARATOR-1.0",
      "title": "Evidence Comparator",
      "category": "EVIDENCE",
      "audience": [
        "biologist",
        "translational researcher"
      ],
      "execution_state": "LIVE_WEB_WORKFLOW",
      "primary_question": "How do several genes differ across evidence dimensions without forcing a winner?",
      "input_contract": {
        "required": [
          "two or more gene identifiers"
        ],
        "example": "ZNF133, GFOD2, SEMA3C"
      },
      "output_contract": {
        "object": "Frozen Comparison",
        "includes": [
          "dimension matrix",
          "missingness",
          "source links",
          "claim boundary"
        ]
      },
      "prerequisites": [
        "Resolve every input to a canonical gene",
        "Interpret not assessed separately from negative evidence"
      ],
      "suitability_rule": "Suitable for side-by-side evidence inspection; not suitable for therapeutic ranking.",
      "failure_states": [
        {
          "code": "GENE_NOT_ASSESSED",
          "meaning": "A dimension has no released evidence for one or more genes.",
          "next_action": "Open the gene page and inspect the missing-edge experiment."
        },
        {
          "code": "COMPARISON_NOT_FROZEN",
          "meaning": "The requested set has no immutable comparison object.",
          "next_action": "Create a shareable comparison from the compare route."
        }
      ],
      "responsible_use": [
        "Do not convert a comparison into a clinical or therapeutic recommendation."
      ],
      "web_route": "/resource/compare",
      "api_routes": [
        "/resource/api/v1.3/research-objects/registry.json"
      ],
      "next_handoff": {
        "label": "Turn a gap into a Study Card",
        "route": "/resource/planner"
      },
      "inspired_by": [
        "CZI associated resources",
        "Cellarium biological-question framing"
      ]
    },
    {
      "tool_id": "TOOL-PROCESS-INSPECTOR-1.0",
      "title": "Process Inspector",
      "category": "MECHANISM",
      "audience": [
        "biologist",
        "experimental scientist"
      ],
      "execution_state": "LIVE_READ_ONLY",
      "primary_question": "Which observed, contextual or hypothesized edges connect a candidate to a DMD process?",
      "input_contract": {
        "required": [
          "process node, edge or candidate"
        ],
        "example": "regeneration or ZNF133"
      },
      "output_contract": {
        "object": "Process-map view",
        "includes": [
          "node state",
          "edge evidence class",
          "claim ceiling",
          "missing-edge experiment"
        ]
      },
      "prerequisites": [
        "Keep observed reference edges separate from DMD hypotheses"
      ],
      "suitability_rule": "Suitable for mechanism navigation and experiment design; not a causal simulator.",
      "failure_states": [
        {
          "code": "EDGE_NOT_VALIDATED_IN_DMD",
          "meaning": "The edge is contextual or hypothesized rather than a validated DMD transition.",
          "next_action": "Use the named missing-edge experiment."
        }
      ],
      "responsible_use": [
        "Do not describe a pathway edge as a predicted cell-state transition unless a registered model and matched truth support it."
      ],
      "web_route": "/resource/process/",
      "api_routes": [
        "/resource/api/v1.1/perturbation_cascade_network.json",
        "/resource/api/v1.1/human_myoblast_perturbation_network.json"
      ],
      "next_handoff": {
        "label": "Design the missing-edge study",
        "route": "/resource/planner"
      },
      "inspired_by": [
        "Recursion physical–digital loop",
        "Cellarium applicability notes"
      ]
    },
    {
      "tool_id": "TOOL-MODEL-AUDITOR-1.0",
      "title": "Model Auditor",
      "category": "MODEL",
      "audience": [
        "model developer",
        "reviewer"
      ],
      "execution_state": "LIVE_READ_ONLY",
      "primary_question": "What exact task ran, against which baselines, and why did the gate pass, fail or stop?",
      "input_contract": {
        "required": [
          "registered ModelRun"
        ],
        "example": "MRUN-GEARS-0.1.2-FIVE-SEED-20260713"
      },
      "output_contract": {
        "object": "ModelRun Release",
        "includes": [
          "frozen task",
          "metrics",
          "baseline decision",
          "reproduction receipt",
          "prohibited uses"
        ]
      },
      "prerequisites": [
        "A run must exist in the immutable ModelRun ledger"
      ],
      "suitability_rule": "Suitable for audit and model selection within the frozen task; external reputation is not accepted as local performance.",
      "failure_states": [
        {
          "code": "PARTIAL_REPRODUCTION_RECEIPT",
          "meaning": "Code, container, data digest or seed receipt is missing.",
          "next_action": "Do not claim clean-room reproducibility; inspect the explicit missing fields."
        },
        {
          "code": "TASK_CONTEXT_MISMATCH",
          "meaning": "The run context does not qualify the requested disease prediction.",
          "next_action": "Return to the Dataset Card and task contract."
        }
      ],
      "responsible_use": [
        "Completed does not mean calibrated for DMD, therapeutic use or clinical use."
      ],
      "web_route": "/resource/models/",
      "api_routes": [
        "/resource/api/v1.1/model_run_registry.json",
        "/resource/api/v1.1/model_run.schema.json"
      ],
      "next_handoff": {
        "label": "Inspect benchmark gates",
        "route": "/resource/benchmarks"
      },
      "inspired_by": [
        "CZI model detail and quickstart pattern",
        "Tahoe versioned release object"
      ]
    },
    {
      "tool_id": "TOOL-METHOD-NAVIGATOR-1.0",
      "title": "Method Navigator",
      "category": "METHOD",
      "audience": [
        "biologist",
        "model developer",
        "reviewer"
      ],
      "execution_state": "LIVE_READ_ONLY",
      "primary_question": "Which model family, permanent baselines and evaluation layers fit this frozen biological task?",
      "input_contract": {
        "required": [
          "task contract",
          "available data context",
          "desired output object"
        ],
        "example": "unseen perturbation × DMD myogenic cells × population distribution"
      },
      "output_contract": {
        "object": "Method compatibility view",
        "includes": [
          "candidate model families",
          "minimum data contract",
          "permanent baselines",
          "evaluation requirements",
          "next gate"
        ]
      },
      "prerequisites": [
        "Freeze the biological unit and holdout axis",
        "Declare whether the output is a mean vector, cell distribution or functional endpoint"
      ],
      "suitability_rule": "Suitable for method selection and review; it does not execute a model or transfer literature performance into NMD-VCell.",
      "failure_states": [
        {
          "code": "TASK_NOT_FROZEN",
          "meaning": "The biological unit, output or generalization axis is undefined.",
          "next_action": "Write the task and split contract before choosing an architecture."
        },
        {
          "code": "TRUTH_CONTEXT_MISSING",
          "meaning": "No matched outcome exists for the requested disease and cell state.",
          "next_action": "Return an abstention and open the Experiment Planner."
        },
        {
          "code": "BASELINE_NOT_REGISTERED",
          "meaning": "The advanced model has no task-compatible simple comparator.",
          "next_action": "Register zero-change, mean, linear or nearest-neighbor controls first."
        }
      ],
      "responsible_use": [
        "Source-reported capability is a method reference, not a local benchmark result or DMD validation."
      ],
      "web_route": "/resource/technology-methods/",
      "api_routes": [
        "/resource/api/v1.1/technical_method_registry.json"
      ],
      "next_handoff": {
        "label": "Audit an executed ModelRun",
        "route": "/resource/models/"
      },
      "inspired_by": [
        "CZI standardized benchmark tasks",
        "Systema perturbation-specific evaluation",
        "AnnData typed data contracts"
      ]
    },
    {
      "tool_id": "TOOL-EXPERIMENT-PLANNER-1.0",
      "title": "Experiment Planner",
      "category": "EXPERIMENT",
      "audience": [
        "experimental scientist",
        "translational researcher"
      ],
      "execution_state": "LIVE_DRAFT_BUILDER",
      "primary_question": "What prospective study would resolve the current decision-blocking evidence gap?",
      "input_contract": {
        "required": [
          "canonical candidate",
          "biological context",
          "endpoint and comparator intent"
        ],
        "example": "ZNF133 × DMD myogenic state × fusion endpoint"
      },
      "output_contract": {
        "object": "Draft Study Card",
        "includes": [
          "estimand",
          "controls",
          "endpoint",
          "decision rule",
          "return path"
        ]
      },
      "prerequisites": [
        "Candidate identity resolved",
        "Current evidence gap inspected",
        "Draft must be reviewed before registration"
      ],
      "suitability_rule": "Suitable for drafting a falsifiable study; the output is not a registered protocol or prediction.",
      "failure_states": [
        {
          "code": "UNKNOWN_GENE",
          "meaning": "The candidate cannot be resolved to the released identifier map.",
          "next_action": "Use Gene Resolver first."
        },
        {
          "code": "INCOMPLETE_STUDY_CONTRACT",
          "meaning": "Context, comparator, endpoint or decision rule is missing.",
          "next_action": "Complete all required Study Card fields before review."
        }
      ],
      "responsible_use": [
        "A draft Study Card must not be represented as an approved or executed experiment."
      ],
      "web_route": "/resource/planner",
      "api_routes": [
        "/resource/api/v1.1/registered_studies.json"
      ],
      "next_handoff": {
        "label": "Review registry lifecycle",
        "route": "/resource/registry"
      },
      "inspired_by": [
        "Recursion experiment loop",
        "CZI responsible-use and prerequisite sections"
      ]
    },
    {
      "tool_id": "TOOL-OUTCOME-REGISTRY-1.0",
      "title": "Outcome Registry Inspector",
      "category": "OUTCOME",
      "audience": [
        "reviewer",
        "data steward",
        "experimental scientist"
      ],
      "execution_state": "LIVE_READ_ONLY_EMPTY_REGISTRY",
      "primary_question": "Has a draft study become registered, predicted, measured and returned to the evidence graph?",
      "input_contract": {
        "required": [
          "study, prediction or outcome identifier"
        ],
        "example": "future registered study ID"
      },
      "output_contract": {
        "object": "Lifecycle receipt",
        "includes": [
          "state",
          "immutability",
          "linked prediction",
          "measured outcome",
          "evidence return"
        ]
      },
      "prerequisites": [
        "A prospective study must pass review and registration before an outcome can be attached"
      ],
      "suitability_rule": "Suitable for lifecycle audit. The currently empty registries are a truthful state, not missing UI content.",
      "failure_states": [
        {
          "code": "NO_REGISTERED_OBJECT",
          "meaning": "No immutable study, prediction or outcome exists for the identifier.",
          "next_action": "Return to the draft planner and registration gate."
        },
        {
          "code": "OUTCOME_NOT_RETURNED",
          "meaning": "A registered study lacks a measured outcome or evidence-graph return.",
          "next_action": "Complete the governed outcome import."
        }
      ],
      "responsible_use": [
        "Do not fabricate outcome rows or infer efficacy from an empty registry."
      ],
      "web_route": "/resource/registry",
      "api_routes": [
        "/resource/api/v1.1/registered_studies.json",
        "/resource/api/v1.1/experimental_outcomes.json"
      ],
      "next_handoff": {
        "label": "Return to Evidence Atlas",
        "route": "/resource/diseases/"
      },
      "inspired_by": [
        "Recursion closed loop",
        "CZI associated resources and prohibited-use sections"
      ]
    }
  ],
  "boundary": "A tool route exposes a governed workflow and its failure states. It does not imply that every requested computation, prediction or outcome is available."
}
