{
  "preflight_schema": "nmd-vcell-source-recovery-preflight/1.0",
  "preflight_id": "PREFLIGHT:GSE293514:IDENTITY_ARTIFACTS:1.0",
  "resource_release": "v1.2.0-measured-dmd-evidence",
  "evidence_freeze": "2026-08-03",
  "interface_build": "EA-20260817-57",
  "checked_at": "2026-08-09",
  "dataset_id": "GSE293514",
  "candidate_root": "neuromuscular_virtual_cell/data/external/GSE293514/author_recovery",
  "status": "BLOCKED_MISSING_OR_INVALID_IDENTITY_ARTIFACTS",
  "checks": [
    {
      "artifact_id": "all_genes",
      "filename": "all_genes.csv",
      "state": "MISSING",
      "path": "all_genes.csv",
      "size_bytes": null,
      "sha256": null,
      "missing_fields": [
        "feature_index",
        "ensembl_id",
        "gene_symbol",
        "reference_build",
        "ensembl_release"
      ],
      "row_count": null,
      "notes": "Required author/source artifact is not present in the candidate recovery directory."
    },
    {
      "artifact_id": "cell_metadata",
      "filename": "cell_metadata_2000_new.csv",
      "state": "MISSING",
      "path": "cell_metadata_2000_new.csv",
      "size_bytes": null,
      "sha256": null,
      "missing_fields": [
        "barcode",
        "sample_2",
        "guide_infect",
        "guide3",
        "guide4",
        "guide_type",
        "AKAcluster",
        "sig_group",
        "sig_group2",
        "AKAcluster2",
        "human_disease"
      ],
      "row_count": null,
      "notes": "Required author/source artifact is not present in the candidate recovery directory."
    },
    {
      "artifact_id": "guide_reference",
      "filename": "final_guide_reference.csv",
      "state": "MISSING",
      "path": "final_guide_reference.csv",
      "size_bytes": null,
      "sha256": null,
      "missing_fields": [
        "guide_id",
        "guide_sequence",
        "target_gene",
        "guide_type",
        "control_class",
        "positive_control_rule"
      ],
      "row_count": null,
      "notes": "Required author/source artifact is not present in the candidate recovery directory."
    },
    {
      "artifact_id": "run_mapping",
      "filename": "cropseq_run_barcode_mapping.csv",
      "state": "MISSING",
      "path": "cropseq_run_barcode_mapping.csv",
      "size_bytes": null,
      "sha256": null,
      "missing_fields": [
        "run_id",
        "library_id",
        "parse_barcode_key",
        "bc_wells",
        "cell_barcode",
        "guide_barcode"
      ],
      "row_count": null,
      "notes": "Required author/source artifact is not present in the candidate recovery directory."
    },
    {
      "artifact_id": "processed_output",
      "filename": "author_processed_fig6_output.h5ad",
      "state": "MISSING",
      "path": "author_processed_fig6_output.h5ad",
      "size_bytes": null,
      "sha256": null,
      "missing_fields": [
        "obs",
        "var",
        "X",
        "uns.processing_provenance"
      ],
      "row_count": null,
      "notes": "Required author/source artifact is not present in the candidate recovery directory."
    }
  ],
  "gates": {
    "files_present": false,
    "feature_identity": false,
    "cell_metadata_identity": false,
    "guide_reference_identity": false,
    "guide_to_cell_mapping": false,
    "processing_output_present": false,
    "processing_output_verified": false,
    "author_identity_complete": false,
    "biological_transfer": false
  },
  "next_action": "Place the five requested de-identified artifacts in the candidate recovery directory, then rerun this preflight.",
  "claim_boundary": "A passing file preflight does not create DMD candidate perturbation truth. Biological transfer remains blocked until author processing, controls and claim-specific validation are independently reproduced.",
  "direct_dmd_candidate_perturbation_truth": "0/21"
}
