{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261003-advance-20261004-r04-graph-0079",
  "pilot_number": "R0069-35254",
  "number": 35254,
  "family_id": "qf-simple-graph-handshaking",
  "title": {
    "zh-Hant": "第 35254 題：簡單無向圖的全頂點度數和",
    "en": "Question 35254: Total Vertex Degree in a Simple Undirected Graph"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261003-advance-20261004-r04-graph-0079",
    "batch_id": "batch-20261003-advance-20261004-r04-graph-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-graph"
    ],
    "title_zh": "簡單無向圖的全頂點度數和",
    "stem_zh": "有限簡單無向圖 V={-9, -8, -7, -6, -5, -4}、E={{-9, -8}, {-9, -7}, {-8, -7}}，邊無方向、沒有自環或重邊。全部 V 中頂點的度數和是多少？",
    "answer": {
      "kind": "numeric",
      "value": "6",
      "explanation_zh": "度數和=6；2|E|=6。每條邊在兩個端點各貢獻一次，孤立頂點貢獻零；空圖總和也是零。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 1,
      "skills": [
        "簡單無向圖的全頂點度數和"
      ]
    },
    "variant": {
      "family_id": "qf-simple-graph-handshaking",
      "seed": 202610044079,
      "parameters": {
        "V": [
          -9,
          -8,
          -7,
          -6,
          -5,
          -4
        ],
        "E": [
          [
            -9,
            -8
          ],
          [
            -9,
            -7
          ],
          [
            -8,
            -7
          ]
        ],
        "operation": "handshaking",
        "semantic_template": "qf-simple-graph-handshaking/{\"E\":[[-9,-8],[-9,-7],[-8,-7]],\"V\":[-9,-8,-7,-6,-5,-4],\"operation\":\"handshaking\"}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_integer_rational_arithmetic",
        "producer_finite_enumeration",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication"
      ],
      "warning_zh": "僅為產生端候選及自檢；主架構者須另做獨立驗收，不構成人工審定、普遍證明或形式 Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "Codex independent peer (inherited model; exact runtime model not exposed)",
      "generated_at": "2026-10-03",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261003-advance-20261004-r04-graph-0079",
    "batch_id": "batch-20261003-advance-20261004-r04-graph-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "df6920ce85981ccfc8134ce9d5415a3a471649cd17b21d176d5bb3b13041fff4",
      "family_id": "qf-simple-graph-handshaking",
      "seed": 202610044079,
      "semantic_template": "qf-simple-graph-handshaking/{\"E\":[[-9,-8],[-9,-7],[-8,-7]],\"V\":[-9,-8,-7,-6,-5,-4],\"operation\":\"handshaking\"}"
    },
    "fields": {
      "title": "Total Vertex Degree in a Simple Undirected Graph",
      "stem": "The finite simple undirected graph has V={-9, -8, -7, -6, -5, -4} and E={{-9, -8}, {-9, -7}, {-8, -7}}. There are no loops or multiple edges, and repeated representations of the same unordered edge count once. Find the sum of degrees over all vertices in V.",
      "answer": {
        "kind": "numeric",
        "value": "6",
        "explanation": "Every unordered edge contributes once at each of its two endpoints, so the degree sum is 2|E|=6. Isolated vertices contribute zero, and the empty graph also gives zero."
      },
      "skills": [
        "Total Vertex Degree in a Simple Undirected Graph"
      ],
      "verification_warning": "This is a candidate exercise. Mechanical recomputation checks only the stated conditions and this instance; it is neither a formal proof nor human review."
    }
  },
  "givens": [
    {
      "id": "G001",
      "text": {
        "zh-Hant": "有限簡單無向圖 V={-9, -8, -7, -6, -5, -4}、E={{-9, -8}, {-9, -7}, {-8, -7}}，邊無方向、沒有自環或重邊。全部 V 中頂點的度數和是多少？",
        "en": "The finite simple undirected graph has V={-9, -8, -7, -6, -5, -4} and E={{-9, -8}, {-9, -7}, {-8, -7}}. There are no loops or multiple edges, and repeated representations of the same unordered edge count once. Find the sum of degrees over all vertices in V."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-simple-graph-handshaking, [E, V, operation]]",
      "after": "derived = [handshaking, no-invented-domain]",
      "relation": "implies",
      "rule_id": "R69_SOURCE_specific_keys_operation_domain_AND_binary_contract",
      "conditions": [],
      "explanation": {
        "zh-Hant": "各bank的keys/operation/domain獨立：LDL/PULSE/function legacy為表內underscore，TREE是完整tree_*與明定domain，BASE signed較寬不偷加op/domain。所有算術保持binary primitive契約。",
        "en": "Keep EACH bank’s keys/operation/domain distinct:LDL/PULSE/function legacy table underscores,TREE full tree_* with its declared domain,and permissive BASE signed without invented op/domain.All arithmetic respects the binary-primitive contract."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S002",
      "uses": [
        "G001",
        "S001"
      ],
      "before": "source roles = [LDL graph vertices ORIGINAL, 100, [-9, -8, -7, -6, -5, -4]]",
      "after": "derived = [[-9, -8, -7, -6, -5, -4]]",
      "relation": "implies",
      "rule_id": "Finite_RAW_ALL_SAFE_distinct_labels_then_derived_sort",
      "conditions": [],
      "explanation": {
        "zh-Hant": "先驗全部raw SAFE元素、不重複及此bank個數界，空集合法；只把衍生表示排序，原JSON不修改。TREE與LDL的上限不可互搬。",
        "en": "Type EVERY RAW SAFE label,distinctness and THIS bank’s cardinality bound;empty is allowed.Sort ONLY the derived representation,not original JSON.Do not exchange TREE and LDL limits."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S003",
      "uses": [
        "G001",
        "S002"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 0, [-9, -8]]",
      "after": "derived = [[-9, -8]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S004",
      "uses": [
        "G001",
        "S003"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 1, [-9, -7]]",
      "after": "derived = [[-9, -7]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S005",
      "uses": [
        "G001",
        "S004"
      ],
      "before": "source roles = [LDL raw edges ORIGINAL, 2, [-8, -7]]",
      "after": "derived = [[-8, -7]]",
      "relation": "implies",
      "rule_id": "Pairs_EVERY_RAW_two_SAFE_cells_BEFORE_any_dedup",
      "conditions": [],
      "explanation": {
        "zh-Hant": "去重之前逐raw pair驗恰兩個SAFE分量；相同row可作表示重複，但不能先丟掉未驗欄位。",
        "en": "BEFORE deduplication,type EACH RAW pair as EXACTLY TWO SAFE components.Identical rows may be representation duplicates,but no unvalidated cell may be silently discarded."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [[-9, -8, -7, -6, -5, -4], [[-9, -8], [-9, -7], [-8, -7]], 否]",
      "after": "derived = [[[-9, -8], [-9, -7], [-8, -7]], [[-9, [-8, -7]], [-8, [-9, -7]], [-7, [-9, -8]], [-6, []], [-5, []], [-4, []]]]",
      "relation": "implies",
      "rule_id": "Graph_WHOLE_simple_undirected_edges_normalized_NO_loops_or_outside",
      "conditions": [],
      "explanation": {
        "zh-Hant": "完整raw edges先型別檢查、再作無向正規化/去重，反向重複合法；輸入edge不准loop或carrier外端點，孤立頂點仍留在V。TREE raw E不借用LDL的200界。",
        "en": "Type the WHOLE raw edge list,then normalize undirected endpoints/deduplicate;reversed duplicates are allowed.INPUT edges have no loops/outside endpoints,while isolated vertices stay in V.TREE raw E does NOT acquire LDL’s200-entry limit."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S007",
      "uses": [
        "G001",
        "S006"
      ],
      "before": "source roles = [-9, [-8, -7]]",
      "after": "derived = [2]",
      "relation": "implies",
      "rule_id": "Graph_DEGREE_EACH_vertex_including_isolated",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個V頂點逐不同鄰點計度，孤立點0，不漏未出現在edge清單的頂點。",
        "en": "For EVERY V vertex,count distinct neighbors;isolated degree is0.Include vertices absent from the edge list."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S008",
      "uses": [
        "G001",
        "S007"
      ],
      "before": "source roles = [-8, [-9, -7]]",
      "after": "derived = [2]",
      "relation": "implies",
      "rule_id": "Graph_DEGREE_EACH_vertex_including_isolated",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個V頂點逐不同鄰點計度，孤立點0，不漏未出現在edge清單的頂點。",
        "en": "For EVERY V vertex,count distinct neighbors;isolated degree is0.Include vertices absent from the edge list."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S009",
      "uses": [
        "G001",
        "S008"
      ],
      "before": "source roles = [-7, [-9, -8]]",
      "after": "derived = [2]",
      "relation": "implies",
      "rule_id": "Graph_DEGREE_EACH_vertex_including_isolated",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個V頂點逐不同鄰點計度，孤立點0，不漏未出現在edge清單的頂點。",
        "en": "For EVERY V vertex,count distinct neighbors;isolated degree is0.Include vertices absent from the edge list."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S010",
      "uses": [
        "G001",
        "S009"
      ],
      "before": "source roles = [-6, []]",
      "after": "derived = [0]",
      "relation": "implies",
      "rule_id": "Graph_DEGREE_EACH_vertex_including_isolated",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個V頂點逐不同鄰點計度，孤立點0，不漏未出現在edge清單的頂點。",
        "en": "For EVERY V vertex,count distinct neighbors;isolated degree is0.Include vertices absent from the edge list."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S011",
      "uses": [
        "G001",
        "S010"
      ],
      "before": "source roles = [-5, []]",
      "after": "derived = [0]",
      "relation": "implies",
      "rule_id": "Graph_DEGREE_EACH_vertex_including_isolated",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個V頂點逐不同鄰點計度，孤立點0，不漏未出現在edge清單的頂點。",
        "en": "For EVERY V vertex,count distinct neighbors;isolated degree is0.Include vertices absent from the edge list."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S012",
      "uses": [
        "G001",
        "S011"
      ],
      "before": "source roles = [-4, []]",
      "after": "derived = [0]",
      "relation": "implies",
      "rule_id": "Graph_DEGREE_EACH_vertex_including_isolated",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每個V頂點逐不同鄰點計度，孤立點0，不漏未出現在edge清單的頂點。",
        "en": "For EVERY V vertex,count distinct neighbors;isolated degree is0.Include vertices absent from the edge list."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    },
    {
      "id": "S013",
      "uses": [
        "G001",
        "S012"
      ],
      "before": "Graph ORIGINAL all vertex degrees sum := sum(2, 2, 2, 0, 0, 0)",
      "after": "Graph ORIGINAL all vertex degrees sum = 6",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "精確使用原操作數；乘/減/除每步明示兩項，避免舊binary primitive忽略第三項。raw SAFE與無界BigInt衍生量分開，不以浮點近似湊答案。",
        "en": "Use ORIGINAL operands exactly;mul/sub/div have EXPLICITLY TWO operands so the old binary primitive cannot ignore a third.Keep RAW SAFE bounds separate from unbounded derived BigInts;do not approximate to force answers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Graph ORIGINAL all vertex degrees sum，不以小數近似替代。",
          "en": "Recompute Graph ORIGINAL all vertex degrees sum with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "sum",
        "inputs": [
          "2",
          "2",
          "2",
          "0",
          "0",
          "0"
        ],
        "output": "6",
        "label": "Graph ORIGINAL all vertex degrees sum"
      }
    },
    {
      "id": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "Graph ORIGINAL two endpoints per normalized edge := mul(2, 3)",
      "after": "Graph ORIGINAL two endpoints per normalized edge = 6",
      "relation": "calculation",
      "rule_id": "exact_rational_arithmetic",
      "conditions": [],
      "explanation": {
        "zh-Hant": "精確使用原操作數；乘/減/除每步明示兩項，避免舊binary primitive忽略第三項。raw SAFE與無界BigInt衍生量分開，不以浮點近似湊答案。",
        "en": "Use ORIGINAL operands exactly;mul/sub/div have EXPLICITLY TWO operands so the old binary primitive cannot ignore a third.Keep RAW SAFE bounds separate from unbounded derived BigInts;do not approximate to force answers."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "以精確有理數重算 Graph ORIGINAL two endpoints per normalized edge，不以小數近似替代。",
          "en": "Recompute Graph ORIGINAL two endpoints per normalized edge with exact rational arithmetic, not rounded decimals."
        }
      },
      "arithmetic": {
        "operation": "mul",
        "inputs": [
          "2",
          "3"
        ],
        "output": "6",
        "label": "Graph ORIGINAL two endpoints per normalized edge"
      }
    },
    {
      "id": "S015",
      "uses": [
        "G001",
        "S014"
      ],
      "before": "source roles = [[-9, -8, -7, -6, -5, -4], [[-9, -8], [-9, -7], [-8, -7]], [2, 2, 2, 0, 0, 0]]",
      "after": "derived = [6, 6]",
      "relation": "implies",
      "rule_id": "Graph_HANDSHAKE_complete_incidence_double_count",
      "conditions": [],
      "explanation": {
        "zh-Hant": "每條無向edge恰貢獻兩個端點incidences，所以完整度和=2|E|；空圖兩邊都0。這是此有限圖的完整重算與雙計數，不從草圖判定。",
        "en": "Every undirected edge contributes TWO endpoint incidences,so the COMPLETE degree sum is2|E|.For the empty graph both sides are0.This is finite full recomputation/double counting,not a sketch inference."
      },
      "reverse_audit": {
        "kind": "premise_and_result_audit",
        "explanation": {
          "zh-Hant": "反查本題原資料、型別、角色、完整前提與欄序；單向推論不倒當等價，有限表核對不冒充無限論域/形式證明。原題/英文/MKO/AST/狀態不變。",
          "en": "Reverse-audit THIS question’s ORIGINAL data,types,roles,complete premises and field order.Do not invert implication or turn finite-table checks into infinite-domain/formal proof.Original Q/English/MKO/AST/status remain unchanged."
        }
      },
      "arithmetic": null
    }
  ],
  "math_model": {
    "result": "6"
  },
  "conclusion": {
    "canonical_value": "6",
    "explanation": {
      "zh-Hant": "依上列完整代值及條件核對得到原題答案；原題編號、格式與狀態保持不變。",
      "en": "The full substitutions and premise checks give the original answer; source identity,format and status are unchanged."
    }
  },
  "definition_note": {
    "zh-Hant": "沿用原題明示的論域、假設與來源 MKO 定義。本題已完成第二對話數理與中英語義覆核，並由原始參數逐題獨立重算模型、答案與每個算術步驟；原題仍為 candidate。",
    "en": "Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate."
  },
  "source": {
    "input_commit": "0f7be61e2c22317a4075561dc822c87d881a50db",
    "question_binding": {
      "batch_id": "batch-20261003-advance-20261004-r04-graph-foundations",
      "batch_path": "public/data/questions/batches/batch-20261003-advance-20261004-r04-graph-foundations/questions.jsonl",
      "batch_sha256": "b09f01cc51be5860cc980e52ef7351d85c451a03e07aacb5f035fadb27e61239",
      "original_line": 79,
      "original_line_sha256": "bd7ceabc4b67796cb9e70d5fffa9b03326c36ffb93b6935f83590f84b99a1d9e",
      "question_compact_sha256": "df6920ce85981ccfc8134ce9d5415a3a471649cd17b21d176d5bb3b13041fff4",
      "english_row_compact_sha256": "f48f3a2764af4b1474503a58775291a4a9ecf44181e74b87652182df196cbed8",
      "english_manifest_path": "public/data/i18n/editions/batch-20261003-advance-20261004-r04-graph-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261003-advance-20261004-r04-graph-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-graph": {
        "sha256": "47d40107cd3836bb878ae46e5c4766288abb1b91e480c38ed14f61f749d27d55",
        "english_sha256": "985d93ed708f51da0e885228658ca76c7075f5bf67bb09b35d10745db33dc847",
        "original_path": "public/data/mko/graph.json",
        "english_path": "public/data/i18n/editions/mko-graph.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "63155b87d4994521b4a60f8f179750f57cbbd094e66cc42652608d1bbab47a9f",
    "original_candidate_sha256": "363050aba05dbfaf6b4d19df3faa9d330533108422443a421fa48f8308d4e66f",
    "original_candidate_line_sha256": "363050aba05dbfaf6b4d19df3faa9d330533108422443a421fa48f8308d4e66f"
  },
  "historical_source_state": {
    "review_state": {
      "derivation": "candidate_authored_and_locally_checked",
      "source_question_state": "candidate",
      "independent_AI_or_human_review": "NOT_PERFORMED",
      "formalization": "not_formalized",
      "Lean": "NOT_RUN"
    },
    "scope_note": {
      "zh-Hant": "來源綁定教學推導候選；精確核對不等於獨立AI／人工審查或一般形式證明。原題、答案、MKO、公式、AST與歷史不變。",
      "en": "Source-bound pedagogical derivation candidate.Exact checking is not independent AI/human review or general formal proof.Original questions,answers,MKOs,formulas,ASTs and history remain unchanged."
    },
    "label": "Frozen producer metadata; current per-question review is separate below."
  },
  "revision": {
    "id": "review-20261026-012-p70",
    "review_date": "2026-10-26",
    "owner_authorized_reader_publication": true,
    "scope": "One hundred sixty family prototypes and their mathematical/bilingual reasoning variants, stems, boundary statements and every distinct explanation shape were reviewed in a context independent of the producer; parameter substitutions, source bindings, full math models, both answer strings and every arithmetic step were independently reconstructed per question from the original parameters only, with negative controls. This grouped method does not claim a separate literal AI reading of every repeated sentence or an extra AI voter.",
    "review_receipts": {
      "semantic_review_sha256": "ccf93c72638d6abf6a412514da5838d55ecb09b71d0e4fdec2b559dc9fdee14b",
      "question_first_witness_sha256": "11af9a338b5a610342b2cfb2ee295683131b3139ac402dd19b1ba1725976d518"
    },
    "status": "second_context_reviewed",
    "mathematical_semantics": true,
    "bilingual_semantics": true,
    "steps_reviewed": 15,
    "method": "family_template_semantic_review_plus_independent_per_instance_reconstruction",
    "exact_question_first_check": {
      "model_sha256": "3fbca07714c802ae592f17256e84b6aef76e029cac66d198604ee50d642fa1b6",
      "arithmetic_steps": 2
    },
    "uses_answer_as_premise": false,
    "human_review": "NOT_PERFORMED",
    "formalization": "not_formalized",
    "Lean": "NOT_RUN",
    "Canonical_truth_promotion": false,
    "authority": "Owner-authorized reviewed reader publication; original question/candidate states remain historical and unchanged."
  }
}
