review-hypothesis-exploration
Review one provider-generated mechanistic-hypothesis exploration report, including its dataset use, analyses, and artifacts, or reconcile multiple separately assessed reports for one hypothesis. Use w
SKILL.md.claude/skills/review-hypothesis-exploration/SKILL.md
GitHubReview Hypothesis Exploration
Treat a provider report as a research lead, not as a source of truth. Assess the report's reasoning and claims without automatically promoting its claims into a disorder YAML.
Assess one report
- Locate the raw report at
kb/hypotheses/<Disease>/<hypothesis_id>/<provider>.mdand identify the hypothesis directory, provider slug, and any provider artifact bundle. Read the report and inventory before judging the run. - Inventory every material data source in
data_sources, including databases searched with no result. DistinguishCITED_NOT_ACCESSED,ACCESSED,SEARCHED_NO_RESULT, andUNVERIFIABLE; a proposed future dataset is not an accessed input. Preserve a committed query/response or search-log artifact forACCESSEDandSEARCHED_NO_RESULT. Verify each accession withjust verify-datasets --accession <CURIE>where supported, then separately check disease, tissue, cohort, organism, and assay relevance. Resolution does not establish relevance. - Inventory every claimed computation in
analyses. Trace input data-source IDs through method, software/version, parameters, code/environment, and outputs to the assessment claims the report attributes to that analysis; status and auditability determine whether execution actually supports them. UseSUCCEEDEDonly when inspectable artifacts substantiate execution; otherwise usePARTIAL,REPORTED_ONLY,FAILED, orSKIPPEDas appropriate. - Treat tool availability and fallback as evidence-quality facts. If retrieval,
a data lake, or a scientific tool failed, record the failure and any fallback;
do not silently treat a literature-only or model-knowledge fallback as a
provider analysis or independent result. Biomni is disabled at repository
entry points unless
DISMECH_ENABLE_BIOMNI=1; do not bypass that opt-in. Without it, Biomni must also remain unavailable to automatic provider fallback. The hypothesis runner's dry-run command inspection is safe without the opt-in. - Check the report's consequential claims against the cited primary literature. Distinguish direct support, external plausibility, qualification, and contradiction. Check taxonomic level, disease/model context, directionality, and causal versus correlational language.
- Create one authoritative YAML sidecar per provider and assessor at
assessments/<provider>-assessment-by-<assessor>.yaml. Use a lowercase, hyphenated assessor slug (for example,openai-5-pro). - Include the relative
source_report,hypothesis_id, an overall verdict, and claim-level dispositions. For every assessment claim, use a shortreport_quotecopied verbatim from the provider report and explain the assessment inrationale; attachanalysis_idsonly to claims the report attributes to those analyses, and use status/auditability to state whether execution supports them. - Add an optional Markdown narrative and/or PDF using the same stem when it
helps human review. The YAML remains authoritative; the rendered artifacts
must be listed in
artifacts. - Apply the hypothesis artifact policy in
docs/hypothesis-report-assessments.md: commit manifests, code, environment specifications, and small derived outputs; keep large/raw, controlled, or credential-bearing data outside Git and record whether each artifact is committed, external, local-only, missing, or not produced. Structured paths must be non-empty files beneathartifact_root: ../<provider>_artifacts. For a computational bundle, require canonicalMANIFEST.yaml, runjust validate-hypothesis-analysis-run <report> <artifact_dir>, and replay the saved code separately; the validator does not execute generated code. Confirm that report frontmatter has anartifact_manifest_sha256binding to the exact current manifest bytes; a manifest edit makes an older report stale. If you correct provider code or results after its response, record the exact correction and before/after hashes in the manifest, replay it independently, and keep the provider analysis at mostPARTIALuntil the provider reruns or attests the corrected bytes. Never stamp a stale provider report onto an assessor-corrected bundle merely to make the gate pass. - Keep a report-review citation as context only. Promote a paper-derived claim
to the disease YAML only after normal reference-cache and evidence validation.
Never hand-edit
references_cache/*.md; usejust fetch-reference <ID>. - Validate the sidecar:
just validate-hypothesis-assessment \
kb/hypotheses/<Disease>/<hypothesis_id>/assessments/<provider>-assessment-by-<assessor>.yaml
Reconcile multiple assessed reports
Create a reconciliation only when comparing at least two provider reports adds useful information.
Ensure every input report has a separate, valid
assessments/<provider>-assessment-by-<assessor>.yaml. If an assessment is missing, complete the single-report workflow first. A reconciliation never replaces report-by-report assessment; the selected assessments may share an assessor, but each source report must be reviewed on its own first.Read every selected raw report and assessment in full. Create one authoritative
kb/hypotheses/<Disease>/<hypothesis_id>/reconciliation.yaml, using a lowercase, hyphenatedassessorslug andsrc/dismech/schema/hypothesis_reconciliation.yaml. Recordreconciled_at, anoverall_verdict, and its concisesummary.In
providers, link eachproviderto bothsource_reportandsource_assessment, relative toreconciliation.yaml. Record each report's distinctive contribution and material limitations when useful. The selected assessment's provider, hypothesis, and resolved report must match these links; the provider slug does not have to equal the raw report filename stem. Each raw report must be a.mdfile directly in the hypothesis directory, not a citation sidecar.Phrase each
reconciled_claims[].statementprovider-neutrally, classify it asSCIENTIFIC_CLAIM,EVIDENCE_QUALITY,COVERAGE, orRESEARCH_PRIORITY, and assign the final assessmentdispositionwith a reasonedrationale.Give every reconciled claim exactly one
provider_supportblock per declared provider.stancedescribes what the raw report says relative to the claim; it is not the reconciler's endorsement. ForCONCORDANT,PARTIAL, orCONTRADICTORY, cite resolvingassessment_claim_ids, copy a short verbatimreport_quotefrom the raw report, recordclaim_origin, and explain the position. ForSILENT, omit claim anchors and lineage and explain the silence.Use
claim_originto distinguishPROVIDER_DISCOVERY,PROVIDER_EXTRACTION,PROVIDER_ANALYSIS,PROVIDER_INFERENCE,SEED_DERIVED,PRIOR_PROVIDER_DERIVED, andUNKNOWN. UsePROVIDER_EXTRACTIONwhen the provider extracts a new claim or detail from a source already cited in its seed. UsePROVIDER_ANALYSISfor a result the report attributes to a linked analysis. It may describeREPORTED_ONLYlineage, but that is unverified execution and not independent computational support;FAILEDandSKIPPEDanalyses cannot originate a position. When a claim was inherited from an earlier provider through the seed, usePRIOR_PROVIDER_DERIVEDplusderived_from_provider; do not count it as independent convergence. The lineage graph must be acyclic, and a position cannot derive from a provider that isSILENTon that claim.Compare data and analysis lineage, not just prose. Two providers using the same source dataset, seed-derived table, code, or upstream result are not independent replication. A shared accession can still support distinct analyses only when their methods and outputs are separately auditable.
Base the final claim dispositions and
overall_verdicton checked source evidence, not provider majority or citation count. Reconciliation citations remain review context, not disease-YAML evidence. Promotion still requires normal reference-cache and evidence validation.Validate the reconciliation:
just validate-hypothesis-reconciliation \ kb/hypotheses/<Disease>/<hypothesis_id>/reconciliation.yaml