# 五个可复跑的分样场景

目标使用者是需要核对配制水样、分样和处理记录的人。本版本只接收已知组成、已知体积、明确候选处理的合成/受控体系；尚无真实实验验证，不能直接用来判断任意天然水的成因。程序既要能排除不可能的共同解释，也要保留证据不足的解释。

1. **每瓶都像对的，共同原水却不存在。** `common-source-conflict.json` 把 1 L 原水分为 A/B 各 0.5 L，不声明任何后续反应。源样 DIC 在 2–4 mmol/L；A 测 2，B 测 3。各自选择源样可行，共同历史冲突。运行 README 第一条命令，查看 dic-a/dic-b 相关权重；独立核验还会分别运行两个单瓶子例并确认可行。用途是发现样瓶身份、漏记处理或不合理数据组合，不能仅凭冲突判定哪一条记录错误。

2. **上游加酸被两个样瓶共同继承。** `acidified-split.json` 源样 Ca/TA 有范围，先加已知 10 mL 酸液、未知 0–200,000 nmol HCl，再取两瓶各 500 mL；B 额外加入 500 mL 纯水。A 的 Cl、TA 与 B 的 Ca 共同约束原水和同一酸剂量。结果 Compatible，返回一组约 2 mmol/L Ca 原水和约 50,000 nmol 酸的历史；范围不强迫唯一值。对同一数据检验 acid=0 会被排除。用途是核对实际试剂体积与分样记录，不把 B 的低 Ca 浓度误认为 Ca 流失。

3. **TA 效应抵消仍可留下反离子证据。** `masked-acid-base.claim.json` 先取 100 mL，再分别加入 1 mL HCl/NaOH 溶液，各剂量 0–20,000 nmol。合成历史各加入 10,000 nmol，TA 物质量仍为 300,000 neq，总体积变成 102 mL；TA 浓度因体积增大而下降。只保留 TA 检测时，两剂量都为零仍可能；增加 Na/Cl 检测后，这个共同零转移解释被排除。结论是模型内至少一项非零；需要逐项检验时分别提交 acid 或 base。程序没有把净当量变化直接等同为酸碱加入量。

4. **方解石与酸抵消 TA，不能一律解释为 CO₂。** `mineral-acid.claim.json` 在 1 L 源样声明可能的方解石溶解、1 mL 酸液和 CO₂ 转移。合成值为方解石 +100,000 nmol、HCl +200,000 nmol、CO₂ 0；TA 物质量未变。只有 DIC/TA 时，“矿物和酸都为零、由 CO₂ 解释”仍可行；加上 Ca/Cl 检测后该解释被排除，而 CO₂ 为零仍可行。未知转移是输入候选，不是从热力学预测矿物真的会反应。

5. **证据不足必须留下可行解释。** `underdetermined-gas.claim.json` 声明气体净转移 −1,000,000..0 nmol、最终 DIC 为 2–3 mmol/L。输出 ZeroTransferPossible，附最终 DIC 为 3 mmol/L、气体为零的共同历史；同时可存在负转移历史。用途是说明现有检测不能排除零转移，不能由默认选中的一个数值倒推真实脱气量。

运行 `python3 scripts/verify_aliquots.py` 会执行完整示例、删去关键检测后的反例、同源单瓶子例、基线冲突、多个过程联合零假设的歧义以及精确分数边界，并逐条独立核验结果。结果见 `audit/differentiation/verification/aliquots/report.json`。下一步真实试验应先补齐实际离子、体积和可发生过程；本工具不能替代这些输入，也没有实验设计自动推荐功能。

早期平衡/结垢筛选场景另存于 `equilibrium-scenarios.md`，属于支持包背景。
