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

Review state: WAITING_FOR_INVESTIGATOR_REVIEW. 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. Embedding matches Hwang-public / G3b v0.2 geometry: robust genes, log-norm (counts retained), HVG 2000 by Channel, PCA 50, Harmony on Channel, neighbors k=100. Calibration 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 and is not invented. Metrics: n_clusters, size distribution, seed ARI, adjacent-r ARI, modularity if available. Selection basis: recommend a range (or HOLD) where clusters are neither collapsed below 7 nor exploded into many tiny clusters, and seed/adjacent stability is acceptable. Do not declare one biological true resolution. Do not assign class labels.

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.

Identity

Resolved inputs

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

Scientific parameters

{
  "calibration_spec": {
    "author_leiden_resolution": "NOT_FOUND",
    "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
    ],
    "harmony_covariate": "Channel",
    "hvg_batch": "Channel",
    "hvg_n_top": 2000,
    "k_neighbors": 100,
    "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": null
}

Acceptance criteria

HOLD / stop

canonical_stop=WAITING_FOR_INVESTIGATOR_REVIEW

Outputs

not declared

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",
      "Report states recommended range and selection basis, or HOLD with reason"
    ],
    "canonical_stop": "WAITING_FOR_INVESTIGATOR_REVIEW",
    "cloud_environment_manifest_sha256": "0fe8e83f3513bd9766faae0b7175fb393bfbe160272798b7089fbf4890c2de7c",
    "contract_body_sha256": "a5aebb334a39fd5ba8a9e0e7a6c6b8f41419bb3b6e895518b459ada637a48330",
    "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.",
    "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",
      "Marker Hodge/Lake/Ma JSON not frozen; this task does not score class markers",
      "G2 specimen HOLD remains; this task is nucleus-level geometry only",
      "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"
    ],
    "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": [],
    "project_id": "P2_HWANG",
    "record_checkpoint_id": "ckpt-1d9b0900-de09-4037-aaad-36d77ce380b9",
    "resolved_inputs": [
      {
        "access_mode": "local_read",
        "alias_zh": "P2 MDD+CON 聚类队列(625,220 / 70 Channels)",
        "asset_id": "P2_MDD_CON_CLUSTERING_COHORT_625220",
        "bytes": 21882716,
        "execution_location": "local",
        "execution_site": "LOCAL",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "analysis_cohort",
        "selected_replica": "LOCAL",
        "sha256": "ffc9dcc707452e5b49ebd12132d3b2bff2143b1871bb59bbb1f45536bcd1e3f4",
        "status": "MATCH"
      },
      {
        "access_mode": "metadata_only",
        "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"
      }
    ],
    "review_schema": "p2.contract_review_projection.v1",
    "runtime_manifest_sha256": "48aa6c4565667576180365be5b6addcea0ac9b3f176f10ee689f383b0254f92c",
    "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",
        "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
        ],
        "harmony_covariate": "Channel",
        "hvg_batch": "Channel",
        "hvg_n_top": 2000,
        "k_neighbors": 100,
        "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": null
    },
    "scientific_scope": "Accepted clustering universe = 625220 MDD+CON nuclei / 70 Channels. Embedding matches Hwang-public / G3b v0.2 geometry: robust genes, log-norm (counts retained), HVG 2000 by Channel, PCA 50, Harmony on Channel, neighbors k=100. Calibration 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 and is not invented. Metrics: n_clusters, size distribution, seed ARI, adjacent-r ARI, modularity if available. Selection basis: recommend a range (or HOLD) where clusters are neither collapsed below 7 nor exploded into many tiny clusters, and seed/adjacent stability is acceptable. Do not declare one biological true resolution. Do not assign class labels.",
    "task_id": "b90b5917-d077-4bff-8b6e-8307124e67a1",
    "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",
      "Report states recommended range and selection basis, or HOLD with reason"
    ],
    "approval_requirement": {
      "authorized_scientific_step": "P2_RESOLUTION_CALIBRATION",
      "channel": "existing trusted approval envelope; not this webpage",
      "required": true
    },
    "contract_body_sha256": "a5aebb334a39fd5ba8a9e0e7a6c6b8f41419bb3b6e895518b459ada637a48330",
    "contract_frozen_at": "2026-09-20T13:07:51.590567Z",
    "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.",
    "execution_location": "cloud",
    "expected_outputs": [
      "calibration_metrics.tsv (r, seed, n_clusters, size stats, modularity)",
      "pairwise_ari.tsv (seed ARI and adjacent-r ARI)",
      "CALIBRATION_REPORT.md (recommended range or HOLD; no AST membership)"
    ],
    "frozen_contract_hash": "a5aebb334a39fd5ba8a9e0e7a6c6b8f41419bb3b6e895518b459ada637a48330",
    "holds": [
      "OPEN_01 UNION_REMOVE remains unapproved; this task does not decide Round-1 merge",
      "Marker Hodge/Lake/Ma JSON not frozen; this task does not score class markers",
      "G2 specimen HOLD remains; this task is nucleus-level geometry only",
      "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"
    ],
    "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": [],
    "policy_summary": "execution_location=cloud; network=cloud_registered_ssh_only; tools=python, scanpy_or_pegasus",
    "project_id": "P2_HWANG",
    "recording_effects": {
      "minimum": [
        "task_receipt"
      ],
      "on_failure": [
        "task_receipt"
      ],
      "on_success": [
        "task_receipt"
      ]
    },
    "resolved_logical_assets": [
      {
        "access_mode": "local_read",
        "alias_zh": "P2 MDD+CON 聚类队列(625,220 / 70 Channels)",
        "asset_id": "P2_MDD_CON_CLUSTERING_COHORT_625220",
        "bytes": 21882716,
        "execution_location": "local",
        "execution_site": "LOCAL",
        "object_identity": null,
        "object_identity_status": "not_applicable",
        "path_withheld": true,
        "restricted": false,
        "restricted_class": "none",
        "role": "analysis_cohort",
        "selected_replica": "LOCAL",
        "sha256": "ffc9dcc707452e5b49ebd12132d3b2bff2143b1871bb59bbb1f45536bcd1e3f4",
        "status": "MATCH"
      },
      {
        "access_mode": "metadata_only",
        "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"
      }
    ],
    "review_state": "WAITING_FOR_INVESTIGATOR_REVIEW",
    "reviewed_contract_hash": "a5aebb334a39fd5ba8a9e0e7a6c6b8f41419bb3b6e895518b459ada637a48330",
    "schema": "p2.contract_review_projection.v1",
    "scientific_go": false,
    "scientific_scope": "Accepted clustering universe = 625220 MDD+CON nuclei / 70 Channels. Embedding matches Hwang-public / G3b v0.2 geometry: robust genes, log-norm (counts retained), HVG 2000 by Channel, PCA 50, Harmony on Channel, neighbors k=100. Calibration 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 and is not invented. Metrics: n_clusters, size distribution, seed ARI, adjacent-r ARI, modularity if available. Selection basis: recommend a range (or HOLD) where clusters are neither collapsed below 7 nor exploded into many tiny clusters, and seed/adjacent stability is acceptable. Do not declare one biological true resolution. Do not assign class labels.",
    "scientific_step": "P2_RESOLUTION_CALIBRATION",
    "task_id": "b90b5917-d077-4bff-8b6e-8307124e67a1",
    "task_title": "P2 resolution calibration (phenotype-blind, MDD+CON 625220)",
    "test_only": false,
    "webpage_is_not_scientific_authorization": true
  }
}