{
  "schema_version": "ocme-reviewed-question-reader-v1",
  "question_id": "q-20261007-advance-20261009-r02-tree-0077",
  "pilot_number": "R0069-35402",
  "number": 35402,
  "family_id": "qf-tree-added-edge-cycle",
  "title": {
    "zh-Hant": "第 35402 題：樹加入原本不存在的新邊",
    "en": "Question 35402: Unique Cycle from a Genuinely New Tree Edge"
  },
  "original_question": {
    "schema_version": "ocme-question-v0.1",
    "id": "q-20261007-advance-20261009-r02-tree-0077",
    "batch_id": "batch-20261007-advance-20261009-r02-tree-foundations",
    "language": "zh-Hant",
    "source_mko_ids": [
      "mko-tree"
    ],
    "title_zh": "樹加入原本不存在的新邊",
    "stem_zh": "有限簡單無向圖；約定樹須非空、連通且無環。原樹 V=[0, 1, 2]、E=[[1,0],[0,2]]，加入端點u=2、v=1的邊，原邊不存在。從較小的新增邊端點出發，沿原道路到另一端，再以新邊回起點，列唯一環。",
    "answer": {
      "kind": "expression",
      "value": "[1, 0, 2, 1]",
      "explanation_zh": "新增邊唯一環=[1, 0, 2, 1]。起點只比較新增邊的兩端，不選全圖或全環的最小標籤；原邊必須不存在，重列已有邊不是此操作。"
    },
    "difficulty": {
      "band": "undergraduate_core",
      "level": 1,
      "skills": [
        "樹加入原本不存在的新邊"
      ]
    },
    "variant": {
      "family_id": "qf-tree-added-edge-cycle",
      "seed": 202610092077,
      "parameters": {
        "V": [
          0,
          1,
          2
        ],
        "E": [
          [
            1,
            0
          ],
          [
            0,
            2
          ]
        ],
        "u": 2,
        "v": 1,
        "operation": "tree_added_edge_cycle",
        "domain": "finite_simple_undirected",
        "semantic_template": "qf-tree-added-edge-cycle/{\"E\":[[0,1],[0,2]],\"V\":[0,1,2],\"ends\":[1,2]}"
      }
    },
    "verification": {
      "status": "candidate",
      "checks": [
        "producer_exact_integer_rational_arithmetic",
        "producer_finite_enumeration",
        "producer_source_snapshot_check",
        "producer_substantive_template_deduplication",
        "producer_json_schema"
      ],
      "warning_zh": "僅為產生端候選及自檢；主端須另做獨立驗收，不構成人工審定、普遍證明或形式 Evidence。"
    },
    "provenance": {
      "generator_role": "question_producer",
      "generator_model": "model_unknown",
      "generated_at": "2026-10-07",
      "contract_version": "ocme-question-factory-v0.1"
    }
  },
  "original_english_edition": {
    "schema_version": "ocme-question-localization-v0.1",
    "question_id": "q-20261007-advance-20261009-r02-tree-0077",
    "batch_id": "batch-20261007-advance-20261009-r02-tree-foundations",
    "locale": "en",
    "translation_state": "ai_candidate",
    "source": {
      "question_sha256": "95187ee34b0968c35b1fe6d0e2f4797a3e1ba1a233a2b61d168d100fbd4494a7",
      "family_id": "qf-tree-added-edge-cycle",
      "seed": 202610092077,
      "semantic_template": "qf-tree-added-edge-cycle/{\"E\":[[0,1],[0,2]],\"V\":[0,1,2],\"ends\":[1,2]}"
    },
    "fields": {
      "title": "Unique Cycle from a Genuinely New Tree Edge",
      "stem": "The finite simple undirected graph has V=[0, 1, 2] and E=[[1, 0], [0, 2]]. Edges are unordered, with repeated listings normalized and no loops or absent endpoints. The original nonempty graph is a tree, and the edge between distinct 2,1 is absent. Add it and list the unique cycle: start at the smaller endpoint, follow the original path to the larger, then close at the start.",
      "answer": {
        "kind": "expression",
        "value": "[1, 0, 2, 1]",
        "explanation": "The genuinely new edge closes the unique original path, giving [1, 0, 2, 1]. A repeated existing edge is not an eligible new-edge cycle operation."
      },
      "skills": [
        "Unique Cycle from a Genuinely New Tree Edge"
      ],
      "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=[0, 1, 2]、E=[[1,0],[0,2]]，加入端點u=2、v=1的邊，原邊不存在。從較小的新增邊端點出發，沿原道路到另一端，再以新邊回起點，列唯一環。",
        "en": "The finite simple undirected graph has V=[0, 1, 2] and E=[[1, 0], [0, 2]]. Edges are unordered, with repeated listings normalized and no loops or absent endpoints. The original nonempty graph is a tree, and the edge between distinct 2,1 is absent. Add it and list the unique cycle: start at the smaller endpoint, follow the original path to the larger, then close at the start."
      }
    }
  ],
  "steps": [
    {
      "id": "S001",
      "uses": [
        "G001"
      ],
      "before": "source roles = [qf-tree-added-edge-cycle, [E, V, domain, operation, u, v]]",
      "after": "derived = [tree_added_edge_cycle, finite_simple_undirected]",
      "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 = [TREE vertices ORIGINAL, 10, [0, 1, 2]]",
      "after": "derived = [[0, 1, 2]]",
      "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 = [TREE raw edges ORIGINAL, 0, [1, 0]]",
      "after": "derived = [[1, 0]]",
      "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 = [TREE raw edges ORIGINAL, 1, [0, 2]]",
      "after": "derived = [[0, 2]]",
      "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 = [[0, 1, 2], [[0, 2], [1, 0]], 是]",
      "after": "derived = [[[0, 1], [0, 2]], [[0, [1, 2]], [1, [0]], [2, [0]]]]",
      "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": "S006",
      "uses": [
        "G001",
        "S005"
      ],
      "before": "source roles = [0, 1, 0, 1]",
      "after": "derived = [是]",
      "relation": "implies",
      "rule_id": "Tree_EACH_edge_union_components_cycle_audit",
      "conditions": [],
      "explanation": {
        "zh-Hant": "端點在不同已建components才合併；若已同component，這條edge閉成cycle。逐所有components的edge檢查，不只看一個連通塊。",
        "en": "Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block."
      },
      "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 = [0, 2, 1, 2]",
      "after": "derived = [是]",
      "relation": "implies",
      "rule_id": "Tree_EACH_edge_union_components_cycle_audit",
      "conditions": [],
      "explanation": {
        "zh-Hant": "端點在不同已建components才合併；若已同component，這條edge閉成cycle。逐所有components的edge檢查，不只看一個連通塊。",
        "en": "Merge endpoint components ONLY when different.If already in the same component,this edge closes a cycle.Check EVERY edge across ALL components,not only one reached block."
      },
      "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 = [0, [1, 2]]",
      "after": "derived = [[0, 1, 2], [0]]",
      "relation": "implies",
      "rule_id": "Tree_CONNECTIVITY_actual_reachability_from_min_label",
      "conditions": [],
      "explanation": {
        "zh-Hant": "由最小label逐鄰點擴展，保實際已達集合；edge數等於V−1仍不能取代連通性檢查。",
        "en": "Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity."
      },
      "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 = [1, [0]]",
      "after": "derived = [[0, 1, 2], [0, 1]]",
      "relation": "implies",
      "rule_id": "Tree_CONNECTIVITY_actual_reachability_from_min_label",
      "conditions": [],
      "explanation": {
        "zh-Hant": "由最小label逐鄰點擴展，保實際已達集合；edge數等於V−1仍不能取代連通性檢查。",
        "en": "Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity."
      },
      "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 = [2, [0]]",
      "after": "derived = [[0, 1, 2], [0, 1, 2]]",
      "relation": "implies",
      "rule_id": "Tree_CONNECTIVITY_actual_reachability_from_min_label",
      "conditions": [],
      "explanation": {
        "zh-Hant": "由最小label逐鄰點擴展，保實際已達集合；edge數等於V−1仍不能取代連通性檢查。",
        "en": "Expand actual neighbors from the least label and retain reached vertices.Edge count|V|−1 ALONE does not replace connectivity."
      },
      "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 = [[0, 1, 2], [[0, 1], [0, 2]]]",
      "after": "derived = [是, 是, 是, 是]",
      "relation": "implies",
      "rule_id": "Tree_NONEMPTY_connected_acyclic_ALL_three",
      "conditions": [],
      "explanation": {
        "zh-Hant": "本條目tree明定非空+連通+無環；empty graph No，singleton無edge Yes。三角形加孤立點即使E=V−1也No。",
        "en": "THIS entry defines a tree as NONEMPTY,connected and acyclic.Empty graph is No;an edgeless singleton is Yes.A triangle plus an isolated vertex is No EVEN when|E|=|V|−1."
      },
      "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 = [1, 0]",
      "after": "derived = [[1, 0]]",
      "relation": "implies",
      "rule_id": "Tree_PATH_EACH_parent_discovery_keep_label0",
      "conditions": [],
      "explanation": {
        "zh-Hant": "首次發現鄰點時保parent；label0是合法頂點，不把0當結束sentinel。",
        "en": "Retain the parent on FIRST discovery.Label0 is a VALID vertex,not an end sentinel."
      },
      "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": "source roles = [0, 2]",
      "after": "derived = [[1, 0, 2]]",
      "relation": "implies",
      "rule_id": "Tree_PATH_EACH_parent_discovery_keep_label0",
      "conditions": [],
      "explanation": {
        "zh-Hant": "首次發現鄰點時保parent；label0是合法頂點，不把0當結束sentinel。",
        "en": "Retain the parent on FIRST discovery.Label0 is a VALID vertex,not an end sentinel."
      },
      "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": "S014",
      "uses": [
        "G001",
        "S013"
      ],
      "before": "source roles = [1, 2]",
      "after": "derived = [[1, 0, 2]]",
      "relation": "implies",
      "rule_id": "Tree_PATH_ORDERED_edges_verified_unique_by_acyclicity",
      "conditions": [],
      "explanation": {
        "zh-Hant": "依parent回溯再反轉保s→t順序，每對相鄰頂點真有edge且不重複；兩條不同simple paths會形成cycle，與tree無環矛盾。s=t的零edge道路是[s]。",
        "en": "Backtrack parents and reverse to retain s→t ORDER.Verify EVERY adjacent edge and distinct vertices.TWO different simple paths would form a cycle,contradicting acyclicity.The zero-edge path for s=t is[s]."
      },
      "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": "S015",
      "uses": [
        "G001",
        "S014"
      ],
      "before": "source roles = [2, 1, [1, 0, 2]]",
      "after": "derived = [[1, 0, 2, 1]]",
      "relation": "implies",
      "rule_id": "Tree_GENUINELY_NEW_edge_closes_UNIQUE_old_path_MIN_to_MAX",
      "conditions": [],
      "explanation": {
        "zh-Hant": "新edge需端點不同、原edge不存在且端點在V；由小端點沿原tree唯一道路到大端點，再新增edge回起點，最後才重複起點閉環。不可排序cycle頂點或接受已存在反向edge。",
        "en": "Require DISTINCT endpoints in V and a GENUINELY absent original edge.Start at the SMALLER endpoint,follow the UNIQUE original tree path to the larger,THEN close by the new edge and repeat the start.Do not sort cycle vertices or accept a reversed existing edge."
      },
      "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": "[1, 0, 2, 1]"
  },
  "conclusion": {
    "canonical_value": "[1, 0, 2, 1]",
    "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-20261007-advance-20261009-r02-tree-foundations",
      "batch_path": "public/data/questions/batches/batch-20261007-advance-20261009-r02-tree-foundations/questions.jsonl",
      "batch_sha256": "89c014f3fb83d9c5bdf49e57db3b0444029b6c8fc738c6ae8a48e7248aba0628",
      "original_line": 77,
      "original_line_sha256": "2823f10226e2a86672749210108a2dfeaf17c33f8ac51bdd18e394a67e4429a4",
      "question_compact_sha256": "95187ee34b0968c35b1fe6d0e2f4797a3e1ba1a233a2b61d168d100fbd4494a7",
      "english_row_compact_sha256": "959d4c3fd5e859215ecd40288dd020e36deb052f9c97ecea5881ee4f10c273f6",
      "english_manifest_path": "public/data/i18n/editions/batch-20261007-advance-20261009-r02-tree-foundations.en.json",
      "english_rows_path": "public/data/i18n/questions/batch-20261007-advance-20261009-r02-tree-foundations.en.jsonl"
    },
    "mko_bindings": {
      "mko-tree": {
        "sha256": "48c7310136a8fd9749e9a9af278b0ade15fdecb8f4cc5657f4f0895eef89aebf",
        "english_sha256": "9b6b7c0d53aa18952a811e36d538baf58041cc6982489dd77fe0f5e4535379f6",
        "original_path": "public/data/mko/tree.json",
        "english_path": "public/data/i18n/editions/mko-tree.en.json"
      }
    },
    "selected_manifest_sha256": "5233edba9654a6cffd8b6b2d83c932f82ded15f9c0b7c733bd049943e672acff",
    "selected_part_sha256": "63155b87d4994521b4a60f8f179750f57cbbd094e66cc42652608d1bbab47a9f",
    "original_candidate_sha256": "48ac3fc0e72609b440271fac69a22b17e4fb7ae29ce3a587cf89ee81651f39b6",
    "original_candidate_line_sha256": "48ac3fc0e72609b440271fac69a22b17e4fb7ae29ce3a587cf89ee81651f39b6",
    "mko_binding_revision": {
      "id": "edition-symbol-bindings-20261101",
      "path": "content/edition-symbol-bindings-20261101/revision.json",
      "sha256": "e9b4c69f2c4732074c37abb624c8ab8a70afc3645c12bf9df2268ef650ad7b6c",
      "previous_english_sha256": {
        "mko-tree": "85d883b1c7551ca05ff4319fb1234a359116ddd647ba5ff4094409cbc9578788"
      }
    }
  },
  "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": "b6842fe17eafe97936fd3927a2761bd3178d159f5edece8f43cd52a8ff3f3285",
      "arithmetic_steps": 0
    },
    "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."
  }
}
