P2 resolution calibration (phenotype-blind, MDD+CON 625220)

Review state: APPROVED. test_only=False.

Objective

Determine a phenotype-blind Leiden resolution range and selection basis for later P2 clustering. This freeze is not execution approval.

Scientific scope

Accepted clustering universe = 625220 MDD+CON nuclei / 70 Channels. Canonical clustering implementation is Pegasus only; Worker may not substitute Scanpy. Registered Pegasus kwargs: robust genes; log-norm with counts retained; HVG n_top=2000 batch=Channel; pca n_components=50; Harmony attrs=Channel; neighbors K=100; Leiden r from R_cal only. UMAP is sanity only. Grid R_cal = [0.4, 0.6, 1.0, 1.2, 1.6, 1.8, 2.4] with seeds [0, 1, 2]. G3b operational set {0.6, 1.2, 1.8} is included; author Leiden resolution remains NOT_FOUND. Admissible range uses operational guardrails (collapse n_clusters<7; over-fragment n_clusters>80 or >25% clusters size<50 or seed-ARI median<0.70). If lowest r=0.4 or highest r=2.4 remains admissible, mark RANGE_BOUNDARY_NOT_BRACKETED and do not claim a complete admissible range; recommend a later grid-extension contract. If any required grid point is unfinished, report completed diagnostics only and mark the calibration HOLD/INCOMPLETE; do not claim a complete admissible range. Do not declare one biological true resolution. Do not assign class labels. Marker-panel gaps are diagnostic distributions only (no GAP_WEAK cutoff) and run only if a frozen public panel identity/hash is resolved; otherwise HOLD_NOT_RUN.

Out of scope

Do not run clustering GO, annotation, unblind, DE, pathway, PTSD inclusion, P1 C2 copy, OPEN_01 auto-approval, production ENSG remapping, or scientific GO change. Do not use diagnosis, AST count-max, Channel balance, P1 concordance, 241/DEG, or Hwang ST2 AST fraction as selection targets. Do not use P1 8-gene panel. Do not open the restricted diagnosis asset. UMAP is sanity only and does not define identity. Do not execute archived frozen contracts.

Identity

Resolved inputs

assetrolereplicasiteaccesssha256bytesstatus
P2 MDD+CON 聚类队列(625,220 / 70 Channels)analysis_cohortSSH_CLOUDSSH_CLOUDcloud_live_hashffc9dcc707452e5b49ebd12132d3b2bff2143b1871bb59bbb1f45536bcd1e3f421882716MATCH
P2 计数矩阵(只公布逻辑名与哈希)count_matrix_csrSSH_CLOUDSSH_CLOUDcloud_live_hash79876eda346f3a6c325a2cb33de9f35cfc2d276018b79462bd749a957b2799225948837770MATCH
P2_RNA_CELLNAMEScell_id_orderSSH_CLOUDSSH_CLOUDcloud_live_hash3d274bcc16ef0d57014e4c2a47bf47e7f83bdf579f2fc8d8be349c17a9b7a9ba24319646MATCH
P2_RNA_GENENAMESgene_id_orderSSH_CLOUDSSH_CLOUDcloud_live_hashba827830af502d16a9aa4dbc80a31bb61bc5b7ec440698171d78bfc5af1fee623271355MATCH

Scientific parameters

{
  "calibration_spec": {
    "author_leiden_resolution": "NOT_FOUND",
    "design_reference": "reviewed Pegasus-only calibration design; grid/seeds/guardrails unchanged",
    "forbidden_selection_targets": [
      "diagnosis",
      "AST_count_max",
      "channel_balance_optimization",
      "P1_C2_concordance",
      "DEG_241",
      "Hwang_ST2_AST_fraction",
      "UMAP_aesthetics"
    ],
    "g3b_operational_subset": [
      0.6,
      1.2,
      1.8
    ],
    "grid": [
      0.4,
      0.6,
      1.0,
      1.2,
      1.6,
      1.8,
      2.4
    ],
    "guardrails": {
      "GAP_WEAK": "DELETED",
      "admissible_set_size_0_or_1": "HOLD",
      "collapse_if_n_clusters_lt": 7,
      "incomplete_grid": {
        "claim_complete_admissible_range": false,
        "if_any_required_grid_point_unfinished": "HOLD/INCOMPLETE",
        "may_report_completed_diagnostics": true
      },
      "marker_separability": "diagnostic distribution only; no pass/fail cutoff; requires frozen public panel identity/hash",
      "overfragment_if_frac_clusters_size_lt_50_gt": 0.25,
      "overfragment_if_n_clusters_gt": 80,
      "overfragment_if_seed_ari_median_lt": 0.7,
      "range_boundary": {
        "claim_complete_admissible_range": false,
        "follow_up": "later grid-extension contract",
        "highest_r": 2.4,
        "if_lowest_or_highest_still_admissible": "RANGE_BOUNDARY_NOT_BRACKETED",
        "lowest_r": 0.4
      }
    },
    "harmony_covariate": "Channel",
    "hvg_batch": "Channel",
    "hvg_n_top": 2000,
    "implementation": {
      "family": "Pegasus",
      "harmony": {
        "batch": "Channel"
      },
      "hvg": {
        "batch": "Channel",
        "fn": "highly_variable_features",
        "n_top": 2000
      },
      "log_norm": "pg.log_norm; raw counts retained in a separate layer",
      "neighbors": {
        "K": 100,
        "use_cache": false
      },
      "no_live_library_defaults": true,
      "no_scanpy_substitute": true,
      "pca": {
        "n_components": 50
      },
      "required_library": "Pegasus",
      "robust_genes": "pg.identify_robust_genes; keep var.robust",
      "worker_may_choose_scanpy": false
    },
    "k_neighbors": 100,
    "marker_separability": {
      "do_not_search_or_replace": true,
      "reason": "no frozen public class-marker panel asset_id with identity/hash in Record Core; P1 panels are not requested and are not substitutes",
      "status": "HOLD_NOT_RUN"
    },
    "n_pcs": 50,
    "ptsd_included": false,
    "seeds": [
      0,
      1,
      2
    ],
    "universe_asset_id": "P2_MDD_CON_CLUSTERING_COHORT_625220",
    "universe_n_channels": 70,
    "universe_n_nuclei": 625220
  },
  "csr_axis_semantics": {
    "cell_order_asset_id": "P2_RNA_CELLNAMES",
    "columns": "genes",
    "gene_order_asset_id": "P2_RNA_GENENAMES",
    "rows": "cells"
  }
}

Acceptance criteria

HOLD / stop

canonical_stop=WAITING_FOR_INVESTIGATOR_REVIEW

Outputs

Machine-readable sources: projection.json · contract.json · manifest.json

Technical JSON (same objects as the files above)
{
  "contract": {
    "acceptance_criteria": [
      "Every r in R_cal finishes or is explicit HOLD",
      "Diagnosis remains sealed",
      "PTSD nuclei remain excluded",
      "Original ENSG row order unchanged",
      "No AST_MEMBERSHIP_FREEZE",
      "No single privileged resolution declared as biological truth",
      "Admissible set size is not 0 or 1, or the report is HOLD",
      "IMPLEMENTATION_CHECK records Pegasus with registered kwargs (no Scanpy substitute, no live library defaults)",
      "If r=0.4 or r=2.4 is admissible, report RANGE_BOUNDARY_NOT_BRACKETED and do not claim a complete range",
      "If any required grid point is unfinished, calibration is HOLD/INCOMPLETE and does not claim a complete range",
      "marker_separability is HOLD_NOT_RUN unless a frozen public panel identity/hash was resolved before freeze"
    ],
    "canonical_stop": "WAITING_FOR_INVESTIGATOR_REVIEW",
    "cloud_environment_manifest_sha256": "0fe8e83f3513bd9766faae0b7175fb393bfbe160272798b7089fbf4890c2de7c",
    "contract_body_sha256": "8353201ade216c8ef00c103c596f87889e67a1392780977fbf5c6d029b1467b9",
    "excluded_scope": "Do not run clustering GO, annotation, unblind, DE, pathway, PTSD inclusion, P1 C2 copy, OPEN_01 auto-approval, production ENSG remapping, or scientific GO change. Do not use diagnosis, AST count-max, Channel balance, P1 concordance, 241/DEG, or Hwang ST2 AST fraction as selection targets. Do not use P1 8-gene panel. Do not open the restricted diagnosis asset. UMAP is sanity only and does not define identity. Do not execute archived frozen contracts.",
    "execution_runtime_release_id": "0.3.2-rc4-reviewpub-v2",
    "holds": [
      "OPEN_01 UNION_REMOVE remains unapproved; this task does not decide Round-1 merge",
      "Public class-marker panel has no frozen Record Core identity/hash; marker_separability = HOLD_NOT_RUN; do not search or substitute P1 panels",
      "G2 specimen HOLD remains; this task is nucleus-level geometry only; 70 Channels are not 70 verified specimens",
      "RNA gene identity ledger is audit-only; no remap",
      "CALIBRATION/CLUSTERING/ANNOTATION Record Core flags remain NOT_AUTHORIZED until a later approved execution actually records them",
      "CSR matrix is CLOUD_AUTHORITATIVE; execution must be on the registered cloud host after approval",
      "Previous frozen calibration contracts are archived and not executable on this runtime"
    ],
    "method_identity": "p2-task-contract/0.3.2-rc4",
    "objective": "Determine a phenotype-blind Leiden resolution range and selection basis for later P2 clustering. This freeze is not execution approval.",
    "output_assets": [
      {
        "asset_id": "P2_CALIBRATION_METRICS",
        "filename": "calibration_metrics.tsv",
        "media_type": null,
        "required": true,
        "role": "calibration_metrics"
      },
      {
        "asset_id": "P2_CALIBRATION_PAIRWISE_ARI",
        "filename": "pairwise_ari.tsv",
        "media_type": null,
        "required": true,
        "role": "pairwise_ari"
      },
      {
        "asset_id": "P2_CALIBRATION_IMPLEMENTATION_CHECK",
        "filename": "IMPLEMENTATION_CHECK.json",
        "media_type": null,
        "required": true,
        "role": "implementation_check"
      },
      {
        "asset_id": "P2_CALIBRATION_UNIVERSE_CHECK",
        "filename": "UNIVERSE_CHECK.json",
        "media_type": null,
        "required": true,
        "role": "universe_check"
      },
      {
        "asset_id": "P2_CALIBRATION_REPORT",
        "filename": "CALIBRATION_REPORT.md",
        "media_type": null,
        "required": true,
        "role": "calibration_report"
      },
      {
        "asset_id": "P2_CALIBRATION_MARKER_SEPARABILITY",
        "filename": "marker_separability.tsv",
        "media_type": null,
        "required": false,
        "role": "marker_separability"
      }
    ],
    "project_id": "P2_HWANG",
    "record_checkpoint_id": "ckpt-f099eaaa-64f0-4b91-bf90-0df3f13bd62a",
    "resolved_inputs": [
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2 MDD+CON 聚类队列(625,220 / 70 Channels)",
        "asset_id": "P2_MDD_CON_CLUSTERING_COHORT_625220",
        "bytes": 21882716,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "analysis_cohort",
        "selected_replica": "SSH_CLOUD",
        "sha256": "ffc9dcc707452e5b49ebd12132d3b2bff2143b1871bb59bbb1f45536bcd1e3f4",
        "status": "MATCH"
      },
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2 计数矩阵(只公布逻辑名与哈希)",
        "asset_id": "P2_CSR_COUNT_MATRIX",
        "bytes": 5948837770,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "count_matrix_csr",
        "selected_replica": "SSH_CLOUD",
        "sha256": "79876eda346f3a6c325a2cb33de9f35cfc2d276018b79462bd749a957b279922",
        "status": "MATCH"
      },
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2_RNA_CELLNAMES",
        "asset_id": "P2_RNA_CELLNAMES",
        "bytes": 24319646,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "cell_id_order",
        "selected_replica": "SSH_CLOUD",
        "sha256": "3d274bcc16ef0d57014e4c2a47bf47e7f83bdf579f2fc8d8be349c17a9b7a9ba",
        "status": "MATCH"
      },
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2_RNA_GENENAMES",
        "asset_id": "P2_RNA_GENENAMES",
        "bytes": 3271355,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "gene_id_order",
        "selected_replica": "SSH_CLOUD",
        "sha256": "ba827830af502d16a9aa4dbc80a31bb61bc5b7ec440698171d78bfc5af1fee62",
        "status": "MATCH"
      }
    ],
    "review_schema": "p2.contract_review_projection.v1",
    "runtime_manifest_sha256": "2cc21f9f1868ce34bb21db692e94ee50411b7b4b69553d3ea9c9607c1c47cdb8",
    "schema": "p2.review_public_contract.v1",
    "schema_version": "p2-task-contract/0.3.2-rc4",
    "scientific_go": false,
    "scientific_parameters": {
      "calibration_spec": {
        "author_leiden_resolution": "NOT_FOUND",
        "design_reference": "reviewed Pegasus-only calibration design; grid/seeds/guardrails unchanged",
        "forbidden_selection_targets": [
          "diagnosis",
          "AST_count_max",
          "channel_balance_optimization",
          "P1_C2_concordance",
          "DEG_241",
          "Hwang_ST2_AST_fraction",
          "UMAP_aesthetics"
        ],
        "g3b_operational_subset": [
          0.6,
          1.2,
          1.8
        ],
        "grid": [
          0.4,
          0.6,
          1.0,
          1.2,
          1.6,
          1.8,
          2.4
        ],
        "guardrails": {
          "GAP_WEAK": "DELETED",
          "admissible_set_size_0_or_1": "HOLD",
          "collapse_if_n_clusters_lt": 7,
          "incomplete_grid": {
            "claim_complete_admissible_range": false,
            "if_any_required_grid_point_unfinished": "HOLD/INCOMPLETE",
            "may_report_completed_diagnostics": true
          },
          "marker_separability": "diagnostic distribution only; no pass/fail cutoff; requires frozen public panel identity/hash",
          "overfragment_if_frac_clusters_size_lt_50_gt": 0.25,
          "overfragment_if_n_clusters_gt": 80,
          "overfragment_if_seed_ari_median_lt": 0.7,
          "range_boundary": {
            "claim_complete_admissible_range": false,
            "follow_up": "later grid-extension contract",
            "highest_r": 2.4,
            "if_lowest_or_highest_still_admissible": "RANGE_BOUNDARY_NOT_BRACKETED",
            "lowest_r": 0.4
          }
        },
        "harmony_covariate": "Channel",
        "hvg_batch": "Channel",
        "hvg_n_top": 2000,
        "implementation": {
          "family": "Pegasus",
          "harmony": {
            "batch": "Channel"
          },
          "hvg": {
            "batch": "Channel",
            "fn": "highly_variable_features",
            "n_top": 2000
          },
          "log_norm": "pg.log_norm; raw counts retained in a separate layer",
          "neighbors": {
            "K": 100,
            "use_cache": false
          },
          "no_live_library_defaults": true,
          "no_scanpy_substitute": true,
          "pca": {
            "n_components": 50
          },
          "required_library": "Pegasus",
          "robust_genes": "pg.identify_robust_genes; keep var.robust",
          "worker_may_choose_scanpy": false
        },
        "k_neighbors": 100,
        "marker_separability": {
          "do_not_search_or_replace": true,
          "reason": "no frozen public class-marker panel asset_id with identity/hash in Record Core; P1 panels are not requested and are not substitutes",
          "status": "HOLD_NOT_RUN"
        },
        "n_pcs": 50,
        "ptsd_included": false,
        "seeds": [
          0,
          1,
          2
        ],
        "universe_asset_id": "P2_MDD_CON_CLUSTERING_COHORT_625220",
        "universe_n_channels": 70,
        "universe_n_nuclei": 625220
      },
      "csr_axis_semantics": {
        "cell_order_asset_id": "P2_RNA_CELLNAMES",
        "columns": "genes",
        "gene_order_asset_id": "P2_RNA_GENENAMES",
        "rows": "cells"
      }
    },
    "scientific_scope": "Accepted clustering universe = 625220 MDD+CON nuclei / 70 Channels. Canonical clustering implementation is Pegasus only; Worker may not substitute Scanpy. Registered Pegasus kwargs: robust genes; log-norm with counts retained; HVG n_top=2000 batch=Channel; pca n_components=50; Harmony attrs=Channel; neighbors K=100; Leiden r from R_cal only. UMAP is sanity only. Grid R_cal = [0.4, 0.6, 1.0, 1.2, 1.6, 1.8, 2.4] with seeds [0, 1, 2]. G3b operational set {0.6, 1.2, 1.8} is included; author Leiden resolution remains NOT_FOUND. Admissible range uses operational guardrails (collapse n_clusters<7; over-fragment n_clusters>80 or >25% clusters size<50 or seed-ARI median<0.70). If lowest r=0.4 or highest r=2.4 remains admissible, mark RANGE_BOUNDARY_NOT_BRACKETED and do not claim a complete admissible range; recommend a later grid-extension contract. If any required grid point is unfinished, report completed diagnostics only and mark the calibration HOLD/INCOMPLETE; do not claim a complete admissible range. Do not declare one biological true resolution. Do not assign class labels. Marker-panel gaps are diagnostic distributions only (no GAP_WEAK cutoff) and run only if a frozen public panel identity/hash is resolved; otherwise HOLD_NOT_RUN.",
    "task_id": "0e53d62a-aadd-4bd0-bfeb-a4d10aab656c",
    "test_only": false,
    "title": "P2 resolution calibration (phenotype-blind, MDD+CON 625220)",
    "webpage_is_not_scientific_authorization": true
  },
  "projection": {
    "acceptance_criteria": [
      "Every r in R_cal finishes or is explicit HOLD",
      "Diagnosis remains sealed",
      "PTSD nuclei remain excluded",
      "Original ENSG row order unchanged",
      "No AST_MEMBERSHIP_FREEZE",
      "No single privileged resolution declared as biological truth",
      "Admissible set size is not 0 or 1, or the report is HOLD",
      "IMPLEMENTATION_CHECK records Pegasus with registered kwargs (no Scanpy substitute, no live library defaults)",
      "If r=0.4 or r=2.4 is admissible, report RANGE_BOUNDARY_NOT_BRACKETED and do not claim a complete range",
      "If any required grid point is unfinished, calibration is HOLD/INCOMPLETE and does not claim a complete range",
      "marker_separability is HOLD_NOT_RUN unless a frozen public panel identity/hash was resolved before freeze"
    ],
    "approval_requirement": {
      "authorized_scientific_step": "P2_RESOLUTION_CALIBRATION",
      "channel": "existing trusted approval envelope; not this webpage",
      "required": true
    },
    "contract_body_sha256": "8353201ade216c8ef00c103c596f87889e67a1392780977fbf5c6d029b1467b9",
    "contract_frozen_at": "2026-09-22T15:48:03.338125Z",
    "excluded_scope": "Do not run clustering GO, annotation, unblind, DE, pathway, PTSD inclusion, P1 C2 copy, OPEN_01 auto-approval, production ENSG remapping, or scientific GO change. Do not use diagnosis, AST count-max, Channel balance, P1 concordance, 241/DEG, or Hwang ST2 AST fraction as selection targets. Do not use P1 8-gene panel. Do not open the restricted diagnosis asset. UMAP is sanity only and does not define identity. Do not execute archived frozen contracts.",
    "execution_location": "cloud",
    "expected_outputs": [
      "calibration_metrics.tsv (r, seed, n_clusters, size stats, modularity, Channel entropy, technical Cramer's V, over-fragmentation/collapse flags)",
      "pairwise_ari.tsv (seed ARI and adjacent-r ARI)",
      "marker_separability.tsv = HOLD_NOT_RUN (no frozen public panel identity in Record Core)",
      "IMPLEMENTATION_CHECK.json (Pegasus required; n_top=2000, batch=Channel, n_components=50, Harmony Channel, K=100)",
      "UNIVERSE_CHECK.json (n=625220, n_channels=70, PTSD=false, diagnosis_columns=none)",
      "CALIBRATION_REPORT.md (admissible range only if complete and bracketed; else HOLD/INCOMPLETE and/or RANGE_BOUNDARY_NOT_BRACKETED; no AST membership; no final r)"
    ],
    "frozen_contract_hash": "8353201ade216c8ef00c103c596f87889e67a1392780977fbf5c6d029b1467b9",
    "holds": [
      "OPEN_01 UNION_REMOVE remains unapproved; this task does not decide Round-1 merge",
      "Public class-marker panel has no frozen Record Core identity/hash; marker_separability = HOLD_NOT_RUN; do not search or substitute P1 panels",
      "G2 specimen HOLD remains; this task is nucleus-level geometry only; 70 Channels are not 70 verified specimens",
      "RNA gene identity ledger is audit-only; no remap",
      "CALIBRATION/CLUSTERING/ANNOTATION Record Core flags remain NOT_AUTHORIZED until a later approved execution actually records them",
      "CSR matrix is CLOUD_AUTHORITATIVE; execution must be on the registered cloud host after approval",
      "Previous frozen calibration contracts are archived and not executable on this runtime"
    ],
    "kind": "PRE_EXECUTION_REVIEW",
    "loop": "0.3.2-rc4",
    "not_a_commit": true,
    "not_a_scientific_result": true,
    "objective": "Determine a phenotype-blind Leiden resolution range and selection basis for later P2 clustering. This freeze is not execution approval.",
    "output_assets": [
      {
        "asset_id": "P2_CALIBRATION_METRICS",
        "filename": "calibration_metrics.tsv",
        "required": true,
        "role": "calibration_metrics"
      },
      {
        "asset_id": "P2_CALIBRATION_PAIRWISE_ARI",
        "filename": "pairwise_ari.tsv",
        "required": true,
        "role": "pairwise_ari"
      },
      {
        "asset_id": "P2_CALIBRATION_IMPLEMENTATION_CHECK",
        "filename": "IMPLEMENTATION_CHECK.json",
        "required": true,
        "role": "implementation_check"
      },
      {
        "asset_id": "P2_CALIBRATION_UNIVERSE_CHECK",
        "filename": "UNIVERSE_CHECK.json",
        "required": true,
        "role": "universe_check"
      },
      {
        "asset_id": "P2_CALIBRATION_REPORT",
        "filename": "CALIBRATION_REPORT.md",
        "required": true,
        "role": "calibration_report"
      },
      {
        "asset_id": "P2_CALIBRATION_MARKER_SEPARABILITY",
        "filename": "marker_separability.tsv",
        "required": false,
        "role": "marker_separability"
      }
    ],
    "policy_summary": "execution_location=cloud; network=cloud_registered_ssh_only; tools=python, pegasus",
    "project_id": "P2_HWANG",
    "recording_effects": {
      "minimum": [
        "task_receipt"
      ],
      "on_failure": [
        "task_receipt"
      ],
      "on_success": [
        "task_receipt",
        "asset_registry"
      ]
    },
    "resolved_logical_assets": [
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2 MDD+CON 聚类队列(625,220 / 70 Channels)",
        "asset_id": "P2_MDD_CON_CLUSTERING_COHORT_625220",
        "bytes": 21882716,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "analysis_cohort",
        "selected_replica": "SSH_CLOUD",
        "sha256": "ffc9dcc707452e5b49ebd12132d3b2bff2143b1871bb59bbb1f45536bcd1e3f4",
        "status": "MATCH"
      },
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2 计数矩阵(只公布逻辑名与哈希)",
        "asset_id": "P2_CSR_COUNT_MATRIX",
        "bytes": 5948837770,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "count_matrix_csr",
        "selected_replica": "SSH_CLOUD",
        "sha256": "79876eda346f3a6c325a2cb33de9f35cfc2d276018b79462bd749a957b279922",
        "status": "MATCH"
      },
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2_RNA_CELLNAMES",
        "asset_id": "P2_RNA_CELLNAMES",
        "bytes": 24319646,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "cell_id_order",
        "selected_replica": "SSH_CLOUD",
        "sha256": "3d274bcc16ef0d57014e4c2a47bf47e7f83bdf579f2fc8d8be349c17a9b7a9ba",
        "status": "MATCH"
      },
      {
        "access_mode": "cloud_live_hash",
        "alias_zh": "P2_RNA_GENENAMES",
        "asset_id": "P2_RNA_GENENAMES",
        "bytes": 3271355,
        "execution_location": "cloud",
        "execution_site": "SSH_CLOUD",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "gene_id_order",
        "selected_replica": "SSH_CLOUD",
        "sha256": "ba827830af502d16a9aa4dbc80a31bb61bc5b7ec440698171d78bfc5af1fee62",
        "status": "MATCH"
      }
    ],
    "review_snapshot_id": "rev-0e53d62a-aadd-4bd0-bfeb-a4d10aab656c-8353201ade21",
    "review_state": "APPROVED",
    "reviewed_contract_hash": "8353201ade216c8ef00c103c596f87889e67a1392780977fbf5c6d029b1467b9",
    "schema": "p2.contract_review_projection.v1",
    "scientific_go": false,
    "scientific_scope": "Accepted clustering universe = 625220 MDD+CON nuclei / 70 Channels. Canonical clustering implementation is Pegasus only; Worker may not substitute Scanpy. Registered Pegasus kwargs: robust genes; log-norm with counts retained; HVG n_top=2000 batch=Channel; pca n_components=50; Harmony attrs=Channel; neighbors K=100; Leiden r from R_cal only. UMAP is sanity only. Grid R_cal = [0.4, 0.6, 1.0, 1.2, 1.6, 1.8, 2.4] with seeds [0, 1, 2]. G3b operational set {0.6, 1.2, 1.8} is included; author Leiden resolution remains NOT_FOUND. Admissible range uses operational guardrails (collapse n_clusters<7; over-fragment n_clusters>80 or >25% clusters size<50 or seed-ARI median<0.70). If lowest r=0.4 or highest r=2.4 remains admissible, mark RANGE_BOUNDARY_NOT_BRACKETED and do not claim a complete admissible range; recommend a later grid-extension contract. If any required grid point is unfinished, report completed diagnostics only and mark the calibration HOLD/INCOMPLETE; do not claim a complete admissible range. Do not declare one biological true resolution. Do not assign class labels. Marker-panel gaps are diagnostic distributions only (no GAP_WEAK cutoff) and run only if a frozen public panel identity/hash is resolved; otherwise HOLD_NOT_RUN.",
    "scientific_step": "P2_RESOLUTION_CALIBRATION",
    "task_id": "0e53d62a-aadd-4bd0-bfeb-a4d10aab656c",
    "task_title": "P2 resolution calibration (phenotype-blind, MDD+CON 625220)",
    "test_only": false,
    "webpage_is_not_scientific_authorization": true
  }
}