{
  "schema_version": "ocme-derivation-reader-v1",
  "guide_id": "derivation-mko-diagnostic-mathematical-assessment-01",
  "mko_id": "mko-diagnostic-mathematical-assessment",
  "title": {
    "zh-Hant": "診斷性數學評量記錄：一道分數加法題的合成記錄與判定",
    "en": "Diagnostic assessment records: synthetic records and judgments for one fraction-addition item"
  },
  "contract": {
    "schema_version": "ocme-derivation-guide-v0.1",
    "guide_id": "derivation-mko-diagnostic-mathematical-assessment-01",
    "source": {
      "mko_id": "mko-diagnostic-mathematical-assessment",
      "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
      "sha256": "a28efe40ed4cdaae147307d664cab323409357f5deb8a840a56e4cb0ce9a40ce",
      "english_sha256": "0cc9c352db42a18773ad0b54fa57bb86d3b959d8a0ae8ba17137e325e9b357b3"
    },
    "mode": "definition_walkthrough",
    "audience_prerequisites": [
      "frac_rules",
      "eq_congruence",
      "zero_product",
      "mul_inverse_nonzero",
      "function_def",
      "contrapositive",
      "numeric_evaluation"
    ],
    "goal": {
      "zh-Hant": "對題目 Q-FRAC-01「計算 3/4+1/6，答案寫成分數 a/b（a、b 為整數，b≠0）」，先精確算出期望結果 e，再寫出判定規則 R_val（作答的值等於 e 即符合）與較嚴格的 R_low（值相等且為最簡分數）。據此判定三份合成記錄：D1 作答 4/10、D2 作答 22/24、D3 作答 22/24 但規則欄空白；並證明 D1 的「不符合」不能推出任何關於真實學生能力或錯誤原因的結論。",
      "en": "For the item Q-FRAC-01, 'compute 3/4+1/6 and write the answer as a fraction a/b with integers a, b and b≠0', first compute the expected result e exactly, then state the judgment rule R_val (a response matches when its value equals e) and the stricter rule R_low (equal value and lowest terms). Use them to judge three synthetic records: D1 with response 4/10, D2 with response 22/24, and D3 with response 22/24 but an empty rule field; and show that the label 'no match' on D1 supports no conclusion about a real student's ability or error cause."
    },
    "givens": [
      {
        "id": "G1",
        "statement": {
          "zh-Hant": "記錄定義（MKO）：診斷記錄 D=(q,e,r,R) 由題目身分 q、期望數學結果 e、觀察到的合成作答 r 與判定規則 R 組成。判定碼 Λ(D) 取「符合」「不符合」「紀錄不完整」之一；任何欄位缺少時，唯一允許的判定碼是「紀錄不完整」（MKO 第一段）。",
          "en": "Record definition (MKO): a diagnostic record D=(q,e,r,R) consists of an item identity q, an expected mathematical result e, an observed synthetic response r and a judgment rule R. The label Λ(D) is one of 'match', 'no match' and 'incomplete'; when any field is missing the only permitted label is 'incomplete' (MKO, first paragraph)."
        }
      },
      {
        "id": "G2",
        "statement": {
          "zh-Hant": "題目 Q-FRAC-01：計算 3/4+1/6，答案寫成分數 a/b，其中 a、b 為整數且 b≠0。",
          "en": "Item Q-FRAC-01: compute 3/4+1/6 and write the answer as a fraction a/b, where a and b are integers and b≠0."
        }
      },
      {
        "id": "G3",
        "statement": {
          "zh-Hant": "合成記錄：D1 的作答為 r1=4/10，規則為 R_val；D2 的作答為 r2=22/24，規則為 R_val（另以 R_low 對照）；D3 的作答為 22/24，規則欄空白。所有作答都是為本練習生成的合成資料，不涉及任何真實學習者（MKO 假設 a1）。",
          "en": "Synthetic records: D1 has response r1=4/10 and rule R_val; D2 has response r2=22/24 and rule R_val (compared also under R_low); D3 has response 22/24 and an empty rule field. Every response is synthetic data generated for this exercise and involves no real learner (MKO assumption a1)."
        }
      },
      {
        "id": "G4",
        "statement": {
          "zh-Hant": "規則 R_val：作答 a/b 符合 ⇔ a/b 與 e 作為有理數相等。規則 R_low：作答 a/b 符合 ⇔ a/b=e、b>0 且 gcd(|a|,b)=1（最簡分數）。",
          "en": "Rule R_val: a response a/b matches ⇔ a/b equals e as a rational number. Rule R_low: a response a/b matches ⇔ a/b=e, b>0 and gcd(|a|,b)=1 (lowest terms)."
        }
      },
      {
        "id": "G5",
        "statement": {
          "zh-Hant": "MKO 假設 a2：判定碼只描述作答是否符合明示數學規則，不把不符合的結果心理化或因果化。",
          "en": "MKO assumption a2: a label describes only whether the response agrees with the explicit mathematical rule; an incorrect result is given no psychological or causal interpretation."
        }
      },
      {
        "id": "G6",
        "statement": {
          "zh-Hant": "兩個假設的合成生成器（程序，不是人）：Gen_A 對題目 p/q+s/t 輸出 (p+s)/(q+t)；Gen_B 依序輸出預設清單 [4/10, 7/12, 11/12] 的項目，第一次呼叫輸出 4/10。",
          "en": "Two hypothetical synthetic generators (procedures, not people): Gen_A, given an item p/q+s/t, outputs (p+s)/(q+t); Gen_B outputs the entries of the preset list [4/10, 7/12, 11/12] in order, so its first call outputs 4/10."
        }
      }
    ],
    "steps": [
      {
        "id": "S01",
        "uses": [
          "G1"
        ],
        "before_tex": "\\text{diagnostic record}",
        "after_tex": "D=(q,\\,e,\\,r,\\,R),\\ \\Lambda(D)\\in\\{\\text{match},\\ \\text{no match},\\ \\text{incomplete}\\}",
        "relation": "definition",
        "rule": "mko_diag_record",
        "conditions": [],
        "explanation": {
          "zh-Hant": "依 MKO，一份診斷記錄由四個欄位組成：題目身分 q、期望數學結果 e、觀察到的合成作答 r、判定規則 R。判定碼 Λ(D) 只能取三個值：「符合」「不符合」由規則 R 比較 r 與 e 得到，「紀錄不完整」用於缺欄（G1）。之後每一個判定都只用這四個欄位，判定碼的值域裡沒有任何描述人的類別。",
          "en": "By the MKO, a diagnostic record has four fields: the item identity q, the expected mathematical result e, the observed synthetic response r and the judgment rule R. The label Λ(D) takes only three values: 'match' and 'no match' come from the rule R comparing r with e, and 'incomplete' is for a missing field (G1). Every later judgment uses only these four fields, and the set of labels contains no category describing a person."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "mko_diag_record"
          ],
          "explanation": {
            "zh-Hant": "此步只寫出定義，不推出新事實；判定碼的取值範圍由定義給定。",
            "en": "This step only states the definition and derives no new fact; the range of the label is fixed by the definition."
          }
        },
        "leaf_basis": "mko_diag_record + def_intro"
      },
      {
        "id": "S02",
        "uses": [
          "G2",
          "frac_rules"
        ],
        "before_tex": "\\tfrac{3}{4}+\\tfrac{1}{6}",
        "after_tex": "\\tfrac{9}{12}+\\tfrac{2}{12}",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [
          "3\\neq 0",
          "2\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "期望結果必須精確算出，記錄才可重播。用 a/b=(ak)/(bk)（k≠0）把兩個分數擴分到公分母 12：3/4=(3·3)/(4·3)=9/12，1/6=(1·2)/(6·2)=2/12。12 是 4 與 6 的最小公倍數，但任何非零公倍數都可以作公分母（若約定分母為正，就取正公倍數）；擴分不改變分數的值。",
          "en": "The expected result must be computed exactly so that the record can be replayed. Use a/b=(ak)/(bk) (k≠0) to bring both fractions to the common denominator 12: 3/4=(3·3)/(4·3)=9/12 and 1/6=(1·2)/(6·2)=2/12. 12 is the least common multiple of 4 and 6, though any nonzero common multiple can be a common denominator (choose a positive one if positive denominators are required); expanding does not change the value of a fraction."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules"
          ],
          "explanation": {
            "zh-Hant": "反向是約分：9/12=(3·3)/(4·3)=3/4，2/12=(1·2)/(6·2)=1/6；擴分與約分用的是同一條 a/b=(ak)/(bk)，兩式同值。",
            "en": "The backward move is reduction: 9/12=(3·3)/(4·3)=3/4 and 2/12=(1·2)/(6·2)=1/6; expanding and reducing use the same rule a/b=(ak)/(bk), so both expressions have the same value."
          }
        },
        "leaf_basis": "frac_rules + numeric_evaluation"
      },
      {
        "id": "S03",
        "uses": [
          "S02",
          "frac_rules"
        ],
        "before_tex": "\\tfrac{9}{12}+\\tfrac{2}{12}",
        "after_tex": "e=\\tfrac{11}{12},\\ \\gcd(11,12)=1",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [
          "12\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "同分母相加 a/c+b/c=(a+b)/c：9/12+2/12=11/12。11 是質數且不整除 12，所以 gcd(11,12)=1，11/12 已是最簡分數。記錄中的期望結果 e=11/12 由此確定，任何人都可以重算（N3、N4、N12）。",
          "en": "Add over the common denominator, a/c+b/c=(a+b)/c: 9/12+2/12=11/12. 11 is prime and does not divide 12, so gcd(11,12)=1 and 11/12 is already in lowest terms. This fixes the expected result e=11/12 of the record, and anyone can recompute it (N3, N4, N12)."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "反向把 11/12 拆回 9/12+2/12（因 11=9+2）；同分母加法是等值改寫，雙向成立。gcd 的計算是一次精確核對。",
            "en": "Backward, 11/12 splits back into 9/12+2/12 (since 11=9+2); addition over a common denominator is a rewriting of equals and holds both ways. The gcd is one exact check."
          }
        },
        "leaf_basis": "frac_rules + numeric_evaluation"
      },
      {
        "id": "S04",
        "uses": [
          "G4",
          "S03"
        ],
        "before_tex": "\\tfrac{a}{b}=\\tfrac{11}{12}",
        "after_tex": "12a=11b",
        "relation": "equivalent",
        "rule": "L_cross",
        "conditions": [
          "b\\neq 0",
          "12\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "R_val 要比較兩個有理數是否相等。依引理 L_cross（c=11、d=12）：a/b=11/12 ⇔ a·12=b·11。這把「值相等」換成只用整數乘法的條件，可以精確重算，不必化成小數，也不受作答是否約分影響。",
          "en": "R_val compares two rational numbers for equality. By Lemma L_cross (c=11, d=12): a/b=11/12 ⇔ a·12=b·11. This replaces 'equal value' by a condition using only integer multiplication, which can be recomputed exactly without decimals and regardless of whether the response is reduced."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "L_cross",
            "G2"
          ],
          "explanation": {
            "zh-Hant": "引理的兩個方向都在 S04.1、S04.2 證明；條件 b≠0 由題目格式 G2 保證，d=12≠0。",
            "en": "Both directions of the lemma are proved in S04.1 and S04.2; the condition b≠0 is guaranteed by the answer format in G2, and d=12≠0."
          }
        },
        "leaf_basis": "L_cross + frac_rules"
      },
      {
        "id": "S04.1",
        "uses": [
          "eq_congruence",
          "zero_product"
        ],
        "before_tex": "\\tfrac{a}{b}=\\tfrac{c}{d}",
        "after_tex": "\\tfrac{a}{b}\\cdot bd=\\tfrac{c}{d}\\cdot bd",
        "relation": "equivalent",
        "rule": "eq_congruence",
        "conditions": [
          "b\\neq 0",
          "d\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "兩邊同乘 bd。因 b≠0 且 d≠0，由零乘積性質 bd≠0，所以 1/(bd) 存在；兩邊再同乘 1/(bd) 就回到原式。這是可逆的等價變形。",
          "en": "Multiply both sides by bd. Since b≠0 and d≠0, the zero-product property gives bd≠0, so 1/(bd) exists; multiplying both sides by 1/(bd) returns to the original equation. This is a reversible equivalence."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "eq_congruence",
            "zero_product",
            "mul_inverse_nonzero"
          ],
          "explanation": {
            "zh-Hant": "乘 bd 與乘 1/(bd) 互為反運算，前提 bd≠0，正是由引理條件 b≠0、d≠0 經零乘積性質得到。若 b=0，a/b 根本沒有定義。",
            "en": "Multiplying by bd and by 1/(bd) undo each other given bd≠0, which follows from the lemma's hypotheses b≠0 and d≠0 by the zero-product property. If b=0, a/b is not even defined."
          }
        },
        "leaf_basis": "eq_congruence + zero_product + mul_inverse_nonzero"
      },
      {
        "id": "S04.2",
        "uses": [
          "S04.1",
          "frac_rules"
        ],
        "before_tex": "\\tfrac{a}{b}\\cdot bd=\\tfrac{c}{d}\\cdot bd",
        "after_tex": "ad=bc",
        "relation": "equivalent",
        "rule": "frac_rules",
        "conditions": [
          "b\\neq 0",
          "d\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "化簡左邊：(a/b)·bd=a·(b/b)·d=ad；右邊：(c/d)·bd=c·b·(d/d)=cb=bc（乘法結合律與交換律）。換掉相等的式子不改變等式真假。S04.1 與 S04.2 合起來證得引理 L_cross。",
          "en": "Simplify the left side: (a/b)·bd=a·(b/b)·d=ad; the right side: (c/d)·bd=c·b·(d/d)=cb=bc (associativity and commutativity of multiplication). Replacing equal expressions does not change whether the equation holds. S04.1 and S04.2 together prove Lemma L_cross."
        },
        "reverse_audit": {
          "kind": "inverse_equivalence",
          "required_ids": [
            "frac_rules",
            "mul_assoc",
            "mul_comm"
          ],
          "explanation": {
            "zh-Hant": "所用的是在 b≠0、d≠0 時對所有整數成立的恆等式，雙向成立。",
            "en": "These are identities valid for all integers when b≠0 and d≠0, so the step holds both ways."
          }
        },
        "leaf_basis": "frac_rules + mul_assoc + mul_comm + mul_inverse_nonzero + mul_one"
      },
      {
        "id": "S05",
        "uses": [
          "G1",
          "G2",
          "G3",
          "S03"
        ],
        "before_tex": "D_1=(\\text{Q-FRAC-01},\\ \\tfrac{11}{12},\\ \\tfrac{4}{10},\\ R_{\\mathrm{val}})",
        "after_tex": "D_1\\ \\text{complete}",
        "relation": "implies",
        "rule": "def_unfold",
        "conditions": [],
        "explanation": {
          "zh-Hant": "逐欄核對 D1：題目身分 Q-FRAC-01、期望結果 11/12（S03）、作答 4/10、規則 R_val，四欄都有內容；作答符合題目格式 a/b，且 b=10≠0。所以 D1 不屬於「紀錄不完整」，可以套用規則。",
          "en": "Check D1 field by field: item identity Q-FRAC-01, expected result 11/12 (S03), response 4/10 and rule R_val; all four fields are filled, and the response has the required form a/b with b=10≠0. So D1 is not 'incomplete' and the rule can be applied."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "G2",
            "G3",
            "S03"
          ],
          "explanation": {
            "zh-Hant": "完整性只檢查欄位存在與格式；這一步不判斷作答對錯。",
            "en": "Completeness checks only that the fields exist and have the right form; this step does not judge the response."
          }
        },
        "leaf_basis": "def_unfold + and_intro_elim"
      },
      {
        "id": "S06",
        "uses": [
          "S04",
          "S05"
        ],
        "before_tex": "r_1=\\tfrac{4}{10}:\\ 12\\cdot 4\\ \\text{vs}\\ 11\\cdot 10",
        "after_tex": "48\\neq 110\\ \\Rightarrow\\ \\Lambda(D_1)=\\text{no match}",
        "relation": "implies",
        "rule": "L_cross",
        "conditions": [
          "10\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "代入 a=4、b=10：12·4=48，11·10=110，而 48≠110。依 S04 的等價，4/10≠11/12，所以 R_val 判 D1 為「不符合」。這個判定碼的全部內容就是「作答 4/10 的值不等於期望結果 11/12」，沒有更多（G5）。",
          "en": "Substitute a=4, b=10: 12·4=48 and 11·10=110, and 48≠110. By the equivalence S04, 4/10≠11/12, so R_val labels D1 'no match'. The whole content of this label is 'the value of the response 4/10 differs from the expected result 11/12', and nothing more (G5)."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S04",
            "S05",
            "contrapositive",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "需要 D1 完整（S05），以及 S04 的逆否：12a≠11b 推出 a/b≠11/12。判定碼不宣稱作答由誰產生、為什麼這樣答。",
            "en": "It needs D1 complete (S05) and the contrapositive of S04: 12a≠11b gives a/b≠11/12. The label claims nothing about who produced the response or why."
          }
        },
        "leaf_basis": "L_cross + contrapositive + numeric_evaluation"
      },
      {
        "id": "S07",
        "uses": [
          "S06",
          "G2",
          "G5"
        ],
        "before_tex": "\\tfrac{4}{10}",
        "after_tex": "\\tfrac{4}{10}=\\tfrac{3+1}{4+6}",
        "relation": "implies",
        "rule": "numeric_evaluation",
        "conditions": [],
        "explanation": {
          "zh-Hant": "記錄可以附上的只是一個數學觀察：4/10 恰好等於把題目的兩個分子相加、兩個分母相加得到的 (3+1)/(4+6)。這是關於數字的等式，可以精確重算（N11）；它描述作答與題目數字之間的關係，不描述產生作答的過程或原因（G5）。S12 會證明這個觀察也不能唯一決定產生方式。",
          "en": "What the record may carry is a mathematical observation only: 4/10 equals (3+1)/(4+6), the result of adding the two numerators and the two denominators of the item. This is an equation about numbers and can be recomputed exactly (N11); it describes a relation between the response and the item's numbers, not the process or cause that produced the response (G5). S12 shows that the observation does not even determine how the response was produced."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "numeric_evaluation",
            "G5"
          ],
          "explanation": {
            "zh-Hant": "只需算術；不宣稱反向，即不由這個等式推回任何產生程序。",
            "en": "Only arithmetic is needed; no converse is claimed, that is, no generating procedure is inferred from this equation."
          }
        },
        "leaf_basis": "numeric_evaluation + frac_rules"
      },
      {
        "id": "S08",
        "uses": [
          "S04",
          "G3",
          "G1"
        ],
        "before_tex": "D_2:\\ r_2=\\tfrac{22}{24},\\ R_{\\mathrm{val}}",
        "after_tex": "12\\cdot 22=264=11\\cdot 24\\ \\Rightarrow\\ \\Lambda_{\\mathrm{val}}(D_2)=\\text{match}",
        "relation": "implies",
        "rule": "L_cross",
        "conditions": [
          "24\\neq 0"
        ],
        "explanation": {
          "zh-Hant": "D2 四欄齊全（Q-FRAC-01、11/12、22/24、R_val），作答的分母 24≠0。代入 a=22、b=24：12·22=264，11·24=264，兩者相等。依 S04，22/24=11/12，所以 R_val 判 D2 為「符合」。作答不是最簡分數並不影響 R_val，因為 R_val 只比較值。",
          "en": "D2 has all four fields (Q-FRAC-01, 11/12, 22/24, R_val), and the response's denominator is 24≠0. Substitute a=22, b=24: 12·22=264 and 11·24=264, which are equal. By S04, 22/24=11/12, so R_val labels D2 'match'. That the response is not in lowest terms does not matter to R_val, which compares values only."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S04",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "用的是 S04 等價的「⇐」方向：12a=11b 推出 a/b=11/12。完整性核對與 S05 相同。",
            "en": "This uses the '⇐' direction of the equivalence S04: 12a=11b gives a/b=11/12. Completeness is checked as in S05."
          }
        },
        "leaf_basis": "L_cross + numeric_evaluation"
      },
      {
        "id": "S09",
        "uses": [
          "S08",
          "G4",
          "gcd_lowest"
        ],
        "before_tex": "r_2=\\tfrac{22}{24}\\ \\text{under}\\ R_{\\mathrm{low}}",
        "after_tex": "\\gcd(22,24)=2\\neq 1\\ \\Rightarrow\\ \\Lambda_{\\mathrm{low}}(D_2)=\\text{no match}",
        "relation": "implies",
        "rule": "gcd_lowest",
        "conditions": [],
        "explanation": {
          "zh-Hant": "R_low 除了值相等，還要求最簡分數。22=2·11、24=2³·3，所以 gcd(22,24)=2≠1，22/24 不是最簡分數，R_low 判「不符合」。同一組 (q,e,r) 在 R_val 下符合、在 R_low 下不符合：判定碼是規則的函數，所以規則欄必須寫進記錄。",
          "en": "Besides equal value, R_low requires lowest terms. 22=2·11 and 24=2³·3, so gcd(22,24)=2≠1 and 22/24 is not in lowest terms; R_low gives 'no match'. The same (q,e,r) is a match under R_val and not under R_low: the label is a function of the rule, which is why the rule field must be part of the record."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S08",
            "gcd_lowest",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "R_low 是幾個條件的合取，最簡條件失敗就足以判不符合。不宣稱 R_low 比 R_val 更正確；兩者只是不同的明示規則。",
            "en": "R_low is a conjunction of conditions, and failure of the lowest-terms condition suffices for 'no match'. It is not claimed that R_low is more correct than R_val; they are simply different explicit rules."
          }
        },
        "leaf_basis": "gcd_lowest + and_intro_elim + numeric_evaluation"
      },
      {
        "id": "S10",
        "uses": [
          "G1",
          "G3",
          "S08",
          "S09"
        ],
        "before_tex": "D_3=(\\text{Q-FRAC-01},\\ \\tfrac{11}{12},\\ \\tfrac{22}{24},\\ \\varnothing)",
        "after_tex": "\\Lambda(D_3)=\\text{incomplete}",
        "relation": "implies",
        "rule": "def_unfold",
        "conditions": [],
        "explanation": {
          "zh-Hant": "D3 的規則欄空白。依 G1，缺欄時唯一允許的判定碼是「紀錄不完整」。這不是形式上的拘泥：S08 與 S09 已顯示同一個作答 22/24 在 R_val 下符合、在 R_low 下不符合，所以缺了規則就沒有確定的「符合」或「不符合」，也不能替記錄補猜一條規則。",
          "en": "The rule field of D3 is empty. By G1, the only permitted label for a missing field is 'incomplete'. This is not mere formality: S08 and S09 showed that the same response 22/24 is a match under R_val and not under R_low, so without a rule there is no definite 'match' or 'no match', and a rule may not be guessed into the record."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G1",
            "S08",
            "S09"
          ],
          "explanation": {
            "zh-Hant": "判定 D3 只需要 G1 的缺欄條款；S08、S09 只用來說明補猜規則會改變結論，不是判定的前提。",
            "en": "Judging D3 needs only the missing-field clause of G1; S08 and S09 only show that guessing a rule would change the outcome and are not premises of the judgment."
          }
        },
        "leaf_basis": "def_unfold + case_analysis"
      },
      {
        "id": "S11",
        "uses": [
          "S01",
          "G1",
          "function_def"
        ],
        "before_tex": "\\Lambda",
        "after_tex": "\\Lambda:(q,e,r,R)\\mapsto\\Lambda(q,e,r,R)",
        "relation": "implies",
        "rule": "function_def",
        "conditions": [],
        "explanation": {
          "zh-Hant": "由 S01 與 G1，判定碼由四個欄位經明示規則算出，所以 Λ 是以記錄為輸入的函數：兩份四欄完全相同的記錄必定得到相同的判定碼。換句話說，判定碼帶有的資訊不會超過這四個欄位。",
          "en": "By S01 and G1, the label is computed from the four fields by an explicit rule, so Λ is a function whose input is the record: two records with identical fields always receive the same label. In other words, a label carries no information beyond the four fields."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "S01",
            "G1",
            "function_def"
          ],
          "explanation": {
            "zh-Hant": "這是函數定義（每個輸入恰有一個輸出）的直接結果；不宣稱不同記錄必有不同判定碼。",
            "en": "This follows directly from the definition of a function (each input has exactly one output); it is not claimed that different records receive different labels."
          }
        },
        "leaf_basis": "function_def + def_unfold"
      },
      {
        "id": "S12",
        "uses": [
          "G6",
          "S07",
          "S11"
        ],
        "before_tex": "\\mathrm{Gen}_A(\\text{Q-FRAC-01})=\\tfrac{4}{10}=\\mathrm{Gen}_B(\\text{Q-FRAC-01})",
        "after_tex": "\\text{the record does not determine the generating procedure}",
        "relation": "implies",
        "rule": "contrapositive",
        "conditions": [],
        "explanation": {
          "zh-Hant": "G6 給出兩個合成生成器：Gen_A 對本題輸出 (3+1)/(4+6)=4/10；Gen_B 輸出預設清單的第一項，也是 4/10。兩者產生的記錄四欄完全相同，都是 D1。若「產生程序」可由記錄決定，它就是記錄的函數，相同的記錄必有相同的程序；但 Gen_A 與 Gen_B 是不同的程序。依逆否論證，產生程序不是記錄的函數。對真實學生的「錯誤原因」也一樣：記錄裡沒有任何欄位能區分不同的可能原因。",
          "en": "G6 gives two synthetic generators: Gen_A outputs (3+1)/(4+6)=4/10 for this item, and Gen_B outputs the first entry of its preset list, also 4/10. The records they produce agree in all four fields; both are D1. If the generating procedure were determined by the record, it would be a function of the record and identical records would have identical procedures; but Gen_A and Gen_B are different procedures. By contraposition, the generating procedure is not a function of the record. The same holds for the 'error cause' of a real student: no field of the record can tell possible causes apart."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G6",
            "S11",
            "contrapositive",
            "numeric_evaluation"
          ],
          "explanation": {
            "zh-Hant": "論證只需要一對「記錄相同、程序不同」的情形；這一對由 G6 明示給出，兩個輸出都已精確算出（N11）。不宣稱 Gen_A 或 Gen_B 哪一個「才是真的」。",
            "en": "The argument needs one pair with the same record and different procedures; G6 states this pair explicitly and both outputs are computed exactly (N11). It is not claimed that either Gen_A or Gen_B is 'the real one'."
          }
        },
        "leaf_basis": "contrapositive + function_def + numeric_evaluation"
      },
      {
        "id": "S13",
        "uses": [
          "G3",
          "G5",
          "S06",
          "S12",
          "mko_diag_record"
        ],
        "before_tex": "\\Lambda(D_1)=\\text{no match}",
        "after_tex": "\\text{no claim about a real student's ability or error cause}",
        "relation": "implies",
        "rule": "mko_diag_record",
        "conditions": [],
        "explanation": {
          "zh-Hant": "三個理由疊在一起：(1) 依 MKO 假設 a1，所有作答都是合成資料，根本沒有一位真實學生可以被描述；(2) 依 a2（G5），判定碼只說 4/10≠11/12；(3) 依 S12，即使有人產生了這筆作答，記錄也不能決定產生原因。所以「學生不會通分」「有學習障礙」「教學無效」都不能由 D1 推出。MKO 指出，更廣的推論需要多題證據、教學歷程與有效的測量模型，本稿不建立這些。",
          "en": "Three reasons combine: (1) by MKO assumption a1 all responses are synthetic, so there is no real student to describe; (2) by a2 (G5) the label says only 4/10≠11/12; (3) by S12, even if someone had produced the response, the record would not determine the cause. So 'the student cannot find common denominators', 'has a learning disability' or 'the teaching failed' cannot be inferred from D1. The MKO says broader inferences need evidence from many items, a teaching history and a valid measurement model; this guide builds none of these."
        },
        "reverse_audit": {
          "kind": "premise_audit",
          "required_ids": [
            "G3",
            "G5",
            "S12",
            "mko_diag_record"
          ],
          "explanation": {
            "zh-Hant": "此步界定結論範圍：不推出新的正面主張，只排除超出記錄的推論。不宣稱多題記錄就足以支持推論；那需要另建有效測量模型。",
            "en": "This step fixes the scope of the conclusions: it derives no new positive claim and only excludes inferences beyond the record. It is not claimed that many records would suffice; that would need a separately built valid measurement model."
          }
        },
        "leaf_basis": "mko_diag_record + contrapositive"
      },
      {
        "id": "S14",
        "uses": [
          "S06",
          "S08",
          "S09",
          "S10",
          "S13"
        ],
        "before_tex": "D_1,\\ D_2,\\ D_3",
        "after_tex": "\\Lambda(D_1)=\\text{no match},\\ \\Lambda_{\\mathrm{val}}(D_2)=\\text{match},\\ \\Lambda_{\\mathrm{low}}(D_2)=\\text{no match},\\ \\Lambda(D_3)=\\text{incomplete}",
        "relation": "implies",
        "rule": "and_intro_elim",
        "conditions": [],
        "explanation": {
          "zh-Hant": "彙整：D1 在 R_val 下不符合；D2 在 R_val 下符合、在 R_low 下不符合；D3 缺規則，紀錄不完整。每個判定碼都只陳述作答值與期望值（以及格式條件）在明示規則下是否相符。",
          "en": "Summary: D1 is 'no match' under R_val; D2 is 'match' under R_val and 'no match' under R_low; D3 lacks a rule and is 'incomplete'. Each label states only whether the response value (and, for R_low, its form) agrees with the expectation under the explicit rule."
        },
        "reverse_audit": {
          "kind": "sufficient_goal_reduction",
          "required_ids": [
            "S06",
            "S08",
            "S09",
            "S10",
            "S13"
          ],
          "explanation": {
            "zh-Hant": "目標 G：四個判定碼及其推論範圍。足夠條件 H：S06、S08、S09、S10 的各別判定與 S13 的範圍限制；H⇒G 由合取。H 都由明示欄位與規則正向得出，沒有把 G 當作前提。",
            "en": "Goal G: the four labels and the scope of what they support. Sufficient condition H: the separate judgments S06, S08, S09, S10 and the scope limit S13; H⇒G by conjunction. H is derived forwards from explicit fields and rules; G is never used as a premise."
          }
        },
        "leaf_basis": "and_intro_elim"
      }
    ],
    "result": {
      "zh-Hant": "題目 Q-FRAC-01 的期望結果是 e=11/12。在 R_val 下，D1（作答 4/10）不符合，因為 12·4=48≠110=11·10；D2（作答 22/24）符合，因為 12·22=264=11·24；在 R_low 下 D2 不符合，因為 gcd(22,24)=2；D3 缺規則欄，只能標記紀錄不完整。這些判定碼只描述與明示規則是否相符，不能推出任何真實學生的能力、錯誤原因或學習成效。",
      "en": "The expected result of item Q-FRAC-01 is e=11/12. Under R_val, D1 (response 4/10) is 'no match' because 12·4=48≠110=11·10, and D2 (response 22/24) is 'match' because 12·22=264=11·24; under R_low, D2 is 'no match' because gcd(22,24)=2; D3 lacks its rule field and can only be labelled 'incomplete'. These labels describe only agreement with explicit rules and support no conclusion about a real student's ability, error cause or learning outcome."
    },
    "negative_controls": [
      {
        "claim": {
          "zh-Hant": "D1 判為不符合，所以作答的學生不懂通分",
          "en": "D1 is labelled 'no match', so the student who answered does not understand common denominators"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "作答是合成資料，沒有真實學生（a1）；且 Gen_A、Gen_B 產生同一筆記錄，記錄不能決定原因（S12）。",
          "en": "The response is synthetic and there is no real student (a1); moreover Gen_A and Gen_B produce the same record, so the record cannot determine a cause (S12)."
        }
      },
      {
        "claim": {
          "zh-Hant": "22/24 和 11/12 寫法不同，所以 D2 在任何規則下都不符合",
          "en": "22/24 is written differently from 11/12, so D2 is 'no match' under every rule"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "12·22=264=11·24，兩者值相等，R_val 判為符合（S08）。",
          "en": "12·22=264=11·24, so the values are equal and R_val gives 'match' (S08)."
        }
      },
      {
        "claim": {
          "zh-Hant": "D3 缺規則欄，可以預設 R_val 而判為符合",
          "en": "D3 lacks a rule, so R_val may be assumed and D3 labelled 'match'"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "缺欄只能標記紀錄不完整（G1）；改用 R_low 會得到相反的判定（S09）。",
          "en": "A missing field allows only 'incomplete' (G1); assuming R_low instead would give the opposite label (S09)."
        }
      },
      {
        "claim": {
          "zh-Hant": "4/10=(3+1)/(4+6)，所以可以確定作答是把分子與分母分別相加產生的",
          "en": "4/10=(3+1)/(4+6), so the response was certainly produced by adding numerators and denominators separately"
        },
        "expected": "reject",
        "reason": {
          "zh-Hant": "Gen_B 由預設清單輸出同一個 4/10，記錄完全相同（S12）；等式只是數字關係。",
          "en": "Gen_B outputs the same 4/10 from a preset list and the record is identical (S12); the equation is only a relation between numbers."
        }
      }
    ],
    "status": "candidate",
    "gaps": [],
    "verification": {
      "structure": "checked_local_script",
      "mathematics": "candidate_argument",
      "formalization": "not_formalized"
    },
    "rule_glossary": [
      {
        "id": "frac_rules",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "分數運算（分母皆非零）：a/c+b/c=(a+b)/c；(a/b)(c/d)=(ac)/(bd)；(a/b)/(c/d)=(ad)/(bc)（另需 c≠0）；a/b=(ak)/(bk)（k≠0）。",
          "en": "Fraction rules (all denominators nonzero): a/c+b/c=(a+b)/c; (a/b)(c/d)=(ac)/(bd); (a/b)/(c/d)=(ad)/(bc) (also needing c≠0); a/b=(ak)/(bk) for k≠0."
        }
      },
      {
        "id": "eq_congruence",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "等式同用：若 u=v，對兩邊做同一個有定義的運算 f，得 f(u)=f(v)。只對一邊做運算不屬於此規則。",
          "en": "Congruence of equality: if u=v, applying the same defined operation f to both sides gives f(u)=f(v). Operating on one side only is not an instance of this rule."
        }
      },
      {
        "id": "zero_product",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "零乘積性質：在 ℤ、ℚ、ℝ、ℂ（或任何整域）中，uv=0 ⇔ u=0 或 v=0。",
          "en": "Zero-product property: in ℤ, ℚ, ℝ, ℂ (or any integral domain), uv=0 ⇔ u=0 or v=0."
        }
      },
      {
        "id": "mul_inverse_nonzero",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "非零數的倒數：在 ℚ、ℝ、ℂ 中，若 u≠0，存在 1/u 使 u·(1/u)=1；對 u≠0 定義 v/u 為 v·(1/u)。u=0 時沒有倒數，v/0 不定義。",
          "en": "Inverse of a nonzero number: in ℚ, ℝ or ℂ, if u≠0 there is 1/u with u·(1/u)=1, and v/u means v·(1/u). 0 has no inverse, so v/0 is undefined."
        }
      },
      {
        "id": "function_def",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "函數：f:A→B 對每個 a∈A 指定恰好一個 f(a)∈B。兩函數相等 ⇔ 定義域、對應域相同且對每個 a 都有相同值。",
          "en": "Function: f:A→B assigns to each a∈A exactly one f(a)∈B. Two functions are equal ⇔ they have the same domain and codomain and agree at every a."
        }
      },
      {
        "id": "contrapositive",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "逆否命題：P⇒Q 與 ¬Q⇒¬P 等價。逆命題 Q⇒P 一般不與 P⇒Q 等價。",
          "en": "Contrapositive: P⇒Q is equivalent to ¬Q⇒¬P. The converse Q⇒P is in general not equivalent to P⇒Q."
        }
      },
      {
        "id": "numeric_evaluation",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "明確整數或有理數算式的精確求值；可以獨立重算。",
          "en": "Exact evaluation of an explicit integer or rational expression; independently recomputable."
        }
      },
      {
        "id": "def_intro",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "引入定義：可為一個命題、式子或物件取名；之後名稱與被定義者可互相替換。",
          "en": "Introducing a definition: a statement, expression or object may be given a name, after which the name and what it stands for are interchangeable."
        }
      },
      {
        "id": "mul_assoc",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "乘法結合律：(uv)w=u(vw)。",
          "en": "Associativity of multiplication: (uv)w=u(vw)."
        }
      },
      {
        "id": "mul_comm",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "乘法交換律：uv=vu（在交換的數系中，例如 ℤ、ℚ、ℝ、ℂ）。",
          "en": "Commutativity of multiplication: uv=vu (in commutative number systems such as ℤ, ℚ, ℝ, ℂ)."
        }
      },
      {
        "id": "mul_one",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "乘法單位元：1·u=u。",
          "en": "Multiplicative identity: 1·u=u."
        }
      },
      {
        "id": "def_unfold",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "展開定義：把一個已定義的詞換成它的定義內容（或反向收回），命題的真假不變。",
          "en": "Unfolding a definition: replacing a defined term by its definition (or folding it back) does not change whether a statement is true."
        }
      },
      {
        "id": "and_intro_elim",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "合取：由 P 與 Q 得 P∧Q；由 P∧Q 可分別得 P 與 Q。",
          "en": "Conjunction: from P and Q infer P∧Q; from P∧Q infer P and infer Q."
        }
      },
      {
        "id": "case_analysis",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "分情況論證：若 P∨Q 成立，且 P⇒R、Q⇒R 都已證，則 R 成立。所有情況必須涵蓋全部可能。",
          "en": "Proof by cases: if P∨Q holds and both P⇒R and Q⇒R are proved, then R holds. The cases must cover every possibility."
        }
      },
      {
        "id": "mko_diag_record",
        "kind": "cited",
        "source": {
          "mko_id": "mko-diagnostic-mathematical-assessment",
          "sha256": "a28efe40ed4cdaae147307d664cab323409357f5deb8a840a56e4cb0ce9a40ce",
          "commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f"
        },
        "statement": {
          "zh-Hant": "本條目把診斷記錄定義為題目身分、期望數學結果、觀察到的合成作答與判定規則。規則可標記作答是否符合期望，但單一反應不能推論真實學生的能力、原因、人格或學習成效。",
          "en": "Here a diagnostic record consists of an item identity, expected mathematical result, observed synthetic response and judgment rule. The rule may label whether the response matches the expectation, but one response cannot establish a real student's ability, error cause, personality or learning outcome."
        }
      },
      {
        "id": "gcd_lowest",
        "kind": "prerequisite",
        "statement": {
          "zh-Hant": "最簡分數：分母 b>0 的分數 a/b 為最簡分數 ⇔ gcd(|a|,b)=1。若 d=gcd(|a|,b)>1，則 a/b=(a/d)/(b/d) 是同值但分母更小的寫法。",
          "en": "Lowest terms: a fraction a/b with b>0 is in lowest terms ⇔ gcd(|a|,b)=1. If d=gcd(|a|,b)>1, then a/b=(a/d)/(b/d) names the same value with a smaller denominator."
        }
      },
      {
        "id": "L_cross",
        "kind": "lemma",
        "proved_in": [
          "S04.1",
          "S04.2"
        ],
        "statement": {
          "zh-Hant": "對整數 a、c 與非零整數 b、d：a/b=c/d ⇔ ad=bc。",
          "en": "For integers a, c and nonzero integers b, d: a/b=c/d ⇔ ad=bc."
        }
      }
    ],
    "revision_log": [],
    "numeric_checks": [
      {
        "id": "N1",
        "step": "S02",
        "lhs": "3/4",
        "rhs": "9/12"
      },
      {
        "id": "N2",
        "step": "S02",
        "lhs": "1/6",
        "rhs": "2/12"
      },
      {
        "id": "N3",
        "step": "S03",
        "lhs": "9/12+2/12",
        "rhs": "11/12"
      },
      {
        "id": "N4",
        "step": "S03",
        "lhs": "gcd(11,12)",
        "rhs": "1"
      },
      {
        "id": "N5",
        "step": "S06",
        "lhs": "12*4",
        "rhs": "48"
      },
      {
        "id": "N6",
        "step": "S06",
        "lhs": "11*10",
        "rhs": "110"
      },
      {
        "id": "N7",
        "step": "S06",
        "lhs": "4/10",
        "relation": "!=",
        "rhs": "11/12"
      },
      {
        "id": "N8",
        "step": "S08",
        "lhs": "12*22",
        "rhs": "11*24"
      },
      {
        "id": "N9",
        "step": "S08",
        "lhs": "22/24",
        "rhs": "11/12"
      },
      {
        "id": "N10",
        "step": "S09",
        "lhs": "gcd(22,24)",
        "rhs": "2"
      },
      {
        "id": "N11",
        "step": "S07",
        "lhs": "(3+1)/(4+6)",
        "rhs": "4/10"
      },
      {
        "id": "N12",
        "step": "S03",
        "lhs": "3/4+1/6",
        "rhs": "11/12"
      }
    ]
  },
  "presentation": {
    "md_scope": {
      "zh-Hant": "只處理 MKO 定義的單題記錄 D(q,r)：題目身分、期望數學結果、觀察到的合成作答與判定規則四個欄位，以及明示規則由它們算出的判定碼。所有作答都是為本練習生成的合成資料（MKO 假設 a1），判定碼只描述與明示規則是否相符（假設 a2）。不建立多題量尺、效度、信度或任何教育推論；不改動 canonical MKO 或英文 edition。",
      "en": "Treats only the single-item record D(q,r) defined by the MKO: the four fields item identity, expected mathematical result, observed synthetic response and judgment rule, and the label an explicit rule computes from them. Every response is synthetic data generated for this exercise (MKO assumption a1), and labels describe only agreement with the explicit rule (assumption a2). No multi-item scale, validity, reliability or educational inference is built; the canonical MKO and its English edition are not changed."
    },
    "md_symbols": [
      [
        "D=(q,e,r,R)",
        "診斷記錄：題目身分、期望結果、作答、判定規則",
        "a diagnostic record: item identity, expected result, response, judgment rule"
      ],
      [
        "e",
        "期望數學結果，本題為 11/12",
        "the expected mathematical result, here 11/12"
      ],
      [
        "r_1,\\ r_2",
        "合成作答 4/10 與 22/24",
        "the synthetic responses 4/10 and 22/24"
      ],
      [
        "R_{\\mathrm{val}},\\ R_{\\mathrm{low}}",
        "兩條明示判定規則",
        "the two explicit judgment rules"
      ],
      [
        "\\Lambda(D)",
        "記錄 D 的判定碼",
        "the label of record D"
      ],
      [
        "\\mathrm{Gen}_A,\\ \\mathrm{Gen}_B",
        "兩個假設的合成作答生成器",
        "two hypothetical synthetic response generators"
      ]
    ],
    "md_error_controls": [
      {
        "title": "單題不符合不能判定學習障礙 / One mismatch does not establish a learning disability",
        "zh": "MKO 指出的常見誤解是看到單題錯誤就宣稱學習障礙、概念缺失或教學無效。本稿的 D1 是合成資料，判定碼只說 4/10≠11/12（S06）；S12 更顯示，兩個不同的生成程序產生完全相同的記錄，所以記錄不能決定原因。由一筆記錄推出關於人的結論，既沒有對象，也沒有根據。",
        "en": "The common mistake named by the MKO is to declare a learning disability, a missing concept or failed teaching from one wrong item. D1 here is synthetic, and its label says only 4/10≠11/12 (S06); S12 shows further that two different generating procedures produce exactly the same record, so the record cannot determine a cause. A conclusion about a person drawn from one record has neither a subject nor a basis."
      },
      {
        "title": "判定碼依規則而定 / The label depends on the rule",
        "zh": "同一個作答 22/24 在 R_val 下符合、在 R_low 下不符合（S08、S09）。若記錄沒有寫下規則，讀者無法重播判定，也無法知道「不符合」指的是值不對還是格式不對。這也是 D3 只能標記紀錄不完整的原因。",
        "en": "The same response 22/24 is a match under R_val and not under R_low (S08, S09). If the record does not state its rule, a reader cannot replay the judgment or tell whether 'no match' refers to the value or to the form. This is also why D3 can only be labelled 'incomplete'."
      },
      {
        "title": "用交叉相乘而不是小數比較 / Compare by cross-multiplication, not decimals",
        "zh": "11/12 的小數展開以 0.91666 開頭，此後數字 6 無窮重複，截斷後比較可能出錯；S04 把值相等換成整數等式 12a=11b，可精確判定。L_cross 需要 b≠0、d≠0，題目格式 G2 已保證分母非零。",
        "en": "The decimal expansion of 11/12 starts with 0.91666, with the digit 6 continuing forever, and comparing truncations can go wrong; S04 turns equality of values into the integer equation 12a=11b, which is decided exactly. L_cross needs b≠0 and d≠0, and the answer format G2 already guarantees nonzero denominators."
      }
    ],
    "md_open_items": [
      {
        "zh-Hant": "多題量尺、效度、信度、人工覆核與隱私治理屬於 MKO 的 formal next，本稿沒有建立，也不宣稱任何記錄組合足以支持教育推論。",
        "en": "Multi-item scales, validity, reliability, human review and privacy governance belong to the MKO's formal next step; this guide builds none of them and does not claim that any collection of records supports an educational inference."
      },
      {
        "zh-Hant": "R_val 與 R_low 是本稿為示範而寫的兩條規則；實際題庫採用哪條規則需由題目設計者明示。",
        "en": "R_val and R_low are two rules written for this demonstration; which rule an actual item bank uses must be stated by the item's designer."
      }
    ]
  },
  "revision": {
    "id": "production-20261019-adopted-96",
    "source_commit": "b28a5edbd46279b1db2a3f3f48bb3f447e18899f",
    "adopted_source_sha256": "68c57629a9fbd59bc53c99b3d573ddd78386c61f4559822c6aa9a0484a453820",
    "original_source_sha256": "c887249d698314e2f1a1000c157d36ba15ec9b3910807e5b370612fbfe6b57ee",
    "owner_adopted": true,
    "bilingual_sync": "complete_source_bound",
    "formal_Lean": "NOT_RUN",
    "independent_AI_concurrence": "NOT_MEASURED",
    "issue_ids": [
      "BR-M046"
    ],
    "scope": "Owner-adopted natural-language teaching guide; not a formal proof, canonical MKO rewrite or evidence-status promotion."
  }
}
