← Archive
lm-004651 · 2026-10

SRBC Theory Validation Program — Round 11:Three-Way Semantic Merge _ Branch Reconciliation

下載 MD 檔 ⬇
📎 附件 · Companion files — 隨文交付的程式 / 證明 / 資料,可獨立下載重驗
title
SRBC Theory Validation Program — Round 11:Three-Way Semantic Merge / Branch Reconciliation
author
Neo.K with Aletheia (GPT-5.6 Sol)
institution
EveMissLab / 一言諾科技有限公司
version
v0.1
date
2026-09-23
language
zh-TW
document_type
Three-Way Semantic Merge / Branch Reconciliation Validation Report
status
Round 11 corrected r2 completed

SRBC Theory Validation Program — Round 11

Three-Way Semantic Merge / Branch Reconciliation

作者: Neo.K with Aletheia (GPT-5.6 Sol)
機構: EveMissLab / 一言諾科技有限公司
日期: 2026-09-23
版本: v0.1


Canonical Source Note

本報告以 UTF-8 Markdown 保存;數學 source 僅使用 $...$ 與 $$...$$。

本輪建立 common ancestor、Branch A、Branch B 的 three-way semantic merge。

第一版測試器曾犯一個直接違反 SRBC-03 的型別錯誤:把不同 queries 的答案放進同一 answer set,錯誤產生 QRU。該中間結果已作廢。

正式結果使用:

engine_revision = r2_per_query_resolution

所有 QRC / QRU / QDU 均逐 query 計算。


0. 本輪問題

Round 10 的處理方式是:

conflict 就 reject / rebase。

Round 11 開始真正回答:

兩個 diverged semantic branches 到底能不能 merge?\boxed{ \text{兩個 diverged semantic branches 到底能不能 merge?} }

我們需要區分:

  1. 欄位可合併;
  2. semantic intent 可合併;
  3. query answer 可合併;
  4. provenance 是否必須保留。

1. Test Matrix

八類,每類 1000:

class n correct accuracy
auto_disjoint 1000 1000 100.00%
same_intent 1000 1000 100.00%
query_equivalent_conflict 1000 1000 100.00%
query_sensitive_conflict 1000 1000 100.00%
dependency_interaction 1000 1000 100.00%
evidence_conflict 1000 1000 100.00%
nuisance_conflict 1000 1000 100.00%
root_conflict 1000 1000 100.00%

總:

8000\boxed{ 8000 }

cases。

classification:

8000/8000\boxed{ 8000/8000 }

符合 scenario oracle。


2. Auto Disjoint Merge

兩 branch 改不同、互不依賴的 semantic keys。

union merge 後重新 build closure。

結果:

  • 1000/1000 auto merge;
  • merge order failures:0\boxed{ 0 }
  • 所有 relevant queries 在 merged state:QRC⁡.\boxed{ \operatorname{QRC}. }

3. Same-Intent Coalesce

兩 branch 對同一 key 寫完全相同 target。

結果:

1000/1000\boxed{ 1000/1000 }

直接 coalesce。

不需要製造假 conflict。


4. Query-Equivalent Semantic Conflict

1000 組:

BA≠BBB_A\neq B_B

且 state hash:

1000/1000 different.\boxed{ 1000/1000 \text{ different}. }

但:

Q(BA)=Q(BB)Q(B_A)=Q(B_B)

在:

1000/1000\boxed{ 1000/1000 }

成立。

因此:

Msem=CONFLICT⁡\boxed{ M_{\mathrm{sem}} = \operatorname{CONFLICT} }

與:

QRC⁡=1\boxed{ \operatorname{QRC}=1 }

可以同時成立。

這是本輪最重要的 SRBC 結果之一。


5. Query-Sensitive Conflict

1000 組 same-key semantic alternatives:

Q(BA)≠Q(BB)Q(B_A)\neq Q(B_B)

在:

1000/1000\boxed{ 1000/1000 }

成立。

所以:

QRU⁡=1.\boxed{ \operatorname{QRU}=1. }

6. Dependency Interaction:最重要的反直覺結果

1000 組 parent / child branch。

例如:

BA:change MH-C1 parent semantics,B_A: \text{change MH-C1 parent semantics}, BB:change MH-C2 local parameter.B_B: \text{change MH-C2 local parameter}.

兩個 absolute patches 在 state level:

A;B=B;AA;B = B;A

竟然:

1000/1000\boxed{ 1000/1000 }

成立。

也就是 state bytes 完全 commute。

但 branch intent preservation:

1000/1000\boxed{ 1000/1000 }

失敗。

所以:

state commutativity⇏semantic merge safety.\boxed{ \text{state commutativity} \not\Rightarrow \text{semantic merge safety}. }

這直接否定「只要 patch 可交換就自動 merge」這種設計。


7. Dependency Conflict 的 post-merge query state

1000 個 dependency-interaction cases:

  • any QRU:236\boxed{ 236 }
  • any QDU:764\boxed{ 764 }

MH parent 擴張時,children 缺新:

p3,ℓ3p_3,\ell_3

binding,因此常進:

DERIVATION_UNRESOLVED⁡⇒QDU⁡.\boxed{ \operatorname{DERIVATION\_UNRESOLVED} \Rightarrow \operatorname{QDU}. }

BER parent / child interaction則可形成不同 defined answers,因而進 QRU。


8. Evidence Conflict

同一 evidence metadata 在兩 branch 不同。

1000/1000:

  • semantic query 仍 QRC;
  • evidence merge 保持 conflict。

因此:

evidence conflict⇏semantic query conflict.\boxed{ \text{evidence conflict} \not\Rightarrow \text{semantic query conflict}. }

但也不能把一支 evidence 靜默覆蓋掉。


9. Metadata Conflict

純 nuisance / rendering metadata conflict:

1000/1000\boxed{ 1000/1000 }

當前 query 仍閉合。

這種 conflict 可以由 UI policy 處理,但必須和 semantic conflict 分型。


10. Root Identity Conflict

兩 branch 對同一 source root 產生不同 identity。

1000/1000:

Q(BA)=Q(BB)Q(B_A)=Q(B_B)

在目前 benchmark query 下成立,

但:

source ancestry still conflicts.\boxed{ \text{source ancestry still conflicts}. }

所以 root identity 不能因 query equality 被消失。


11. Field-Only Merge Baseline

傳統三方 merge:

same key + different value => conflict
different keys => auto merge

會產生兩種相反錯誤。

Dangerous false merge

dependency interaction:

1000\boxed{ 1000 }

個全部被 field-only baseline 錯誤 auto-merge。

Query-level over-conflict

query-equivalent semantic conflict:

1000\boxed{ 1000 }

個全部被當成一般 conflict,

雖然當前 query 其實已經 QRC。

這不代表 canonical semantic conflict 應消失,而是表示 query-facing runtime 不必因此停止回答。


12. Query-Only Merge Baseline

如果只問:

目前 query answer 一樣嗎?

一樣就 collapse branch。

本輪會把:

  • query-equivalent semantic conflict;
  • evidence conflict;
  • metadata conflict;
  • root identity conflict;

共:

4000\boxed{ 4000 }

cases 的 branch identity 靜默丟掉。

所以:

query quotient≠semantic erasure.\boxed{ \text{query quotient} \neq \text{semantic erasure}. }

13. Reversibility

所有 8000 merge artifacts 都保存:

  • ancestor hash;
  • branch A patch;
  • branch B patch。

從 ancestor 重放兩支:

branch reconstruction failures:

0.\boxed{ 0. }

所以 conflict 不是一句:

cannot merge

而是可重建、可再開、可讓 future query 重新觀察的 artifact。


14. Per-Query Resolution

正式結果:

class all relevant queries QRC any QRU any QDU
auto_disjoint 1000 0 0
same_intent 1000 0 0
query_equivalent_conflict 1000 0 0
query_sensitive_conflict 0 1000 0
dependency_interaction 0 236 764
evidence_conflict 1000 0 0
nuisance_conflict 1000 0 0
root_conflict 1000 0 0

這裡特別重要:

不同 query 的答案從不被混在同一 answer set。

multi-query closure 表示成:

Qi↦RQi.\boxed{ Q_i \mapsto \mathbf R_{Q_i}. }

15. Semantic Merge 與 Query Closure 的真正關係

現在可以明確分四種。

A. Semantic merged + query closed

一般 auto merge。

B. Semantic conflict + query closed

query-equivalent / evidence / metadata / root conflicts。

C. Semantic conflict + QRU

query-sensitive alternatives。

D. Semantic conflict + QDU

dependency mutation 導致某些 candidate derivations 不再定義。

所以:

merge status≠query resolution status.\boxed{ \text{merge status} \neq \text{query resolution status}. }

這是 Round 11 最核心的結論。


16. Branch Intent Preservation

three-way merge gate 不應只問:

ΔA∩ΔB=∅?\Delta_A \cap \Delta_B = \varnothing?

還應問:

Qintent,A(M)=Qintent,A(BA)?\boxed{ Q_{\mathrm{intent},A} ( M ) = Q_{\mathrm{intent},A} ( B_A ) ? }

以及 B 同理。

若另一支 branch 讓本支原本的推導結果改變,即使 state patch commutes,也應升級為:

DEPENDENCY_INTERACTION_CONFLICT

而不是 auto merge。


17. Round 11 修正了自己的測試器

第一版 auto-disjoint cases 同時追兩個不同 queries。

測試器把:

Q1(M),Q2(M)Q_1(M), \quad Q_2(M)

放進同一 answer set,錯誤標 QRU。

這次直接被 SRBC 自己的 query typing 抓出。

修正後:

per-query resolution only.\boxed{ \text{per-query resolution only}. }

中間結果不列入正式 evidence。


18. Merge Artifact

v0.11 建議:

merge:
  ancestor_hash: ...
  branch_a_patch: ...
  branch_b_patch: ...

  direct_conflicts: ...
  dependency_interactions: ...

  semantic_merge:
    status: merged | conflict

  queries:
    Q1:
      qrc: ...
      qru: ...
      qdu: ...
      answers: ...

  reconstruction:
    reversible: true

19. 本輪對 SREG 的意義

SREG 原本的:

Branch→Merge\text{Branch} \rightarrow \text{Merge}

現在不再是「把兩份東西合在一起」。

更準確是:

Branch→Three-Way Diff→Dependency Re-evaluation→Per-Query Quotient→Canonical Merge or Reversible Conflict.\boxed{ \text{Branch} \rightarrow \text{Three-Way Diff} \rightarrow \text{Dependency Re-evaluation} \rightarrow \text{Per-Query Quotient} \rightarrow \text{Canonical Merge or Reversible Conflict}. }

20. 下一輪

Round 12 最自然是:

Conflict Resolution / Clarification Optimization.\boxed{ \text{Conflict Resolution / Clarification Optimization}. }

也就是對 Round 11 留下的 semantic conflict:

  1. 找最小 distinguishing commitments;
  2. 產生 clarification question;
  3. 計 expected branch elimination;
  4. 人/agent 回答後套 resolution patch;
  5. 重新 merge;
  6. 量 closure cost;
  7. 檢查是否誤殺 query-neutral branch。

這會把 SRBC-05 的:

κQ,Pclarify,EIG⁡\kappa_Q, \quad P_{\mathrm{clarify}}, \quad \operatorname{EIG}

真正接到 branch reconciliation runtime。


附錄 A:Classification

class n correct accuracy
auto_disjoint 1000 1000 100.00%
same_intent 1000 1000 100.00%
query_equivalent_conflict 1000 1000 100.00%
query_sensitive_conflict 1000 1000 100.00%
dependency_interaction 1000 1000 100.00%
evidence_conflict 1000 1000 100.00%
nuisance_conflict 1000 1000 100.00%
root_conflict 1000 1000 100.00%

附錄 B:Post-Merge Query Resolution

class all relevant queries QRC any QRU any QDU
auto_disjoint 1000 0 0
same_intent 1000 0 0
query_equivalent_conflict 1000 0 0
query_sensitive_conflict 0 1000 0
dependency_interaction 0 236 764
evidence_conflict 1000 0 0
nuisance_conflict 1000 0 0
root_conflict 1000 0 0

附錄 C:Machine Results

{
  "round": "SRBC Theory Validation Round 11",
  "engine_revision": "r2_per_query_resolution",
  "cases": 8000,
  "classification": {
    "auto_disjoint": {
      "n": 1000,
      "correct": 1000
    },
    "same_intent": {
      "n": 1000,
      "correct": 1000
    },
    "query_equivalent_conflict": {
      "n": 1000,
      "correct": 1000
    },
    "query_sensitive_conflict": {
      "n": 1000,
      "correct": 1000
    },
    "dependency_interaction": {
      "n": 1000,
      "correct": 1000
    },
    "evidence_conflict": {
      "n": 1000,
      "correct": 1000
    },
    "nuisance_conflict": {
      "n": 1000,
      "correct": 1000
    },
    "root_conflict": {
      "n": 1000,
      "correct": 1000
    }
  },
  "reversibility": {
    "branch_reconstruction_failures": 0
  },
  "auto_merge_order_independence": {
    "failures": 0
  },
  "post_merge_resolution_by_class": {
    "auto_disjoint": {
      "all_relevant_queries_qrc": 1000,
      "any_qru": 0,
      "any_qdu": 0
    },
    "same_intent": {
      "all_relevant_queries_qrc": 1000,
      "any_qru": 0,
      "any_qdu": 0
    },
    "query_equivalent_conflict": {
      "all_relevant_queries_qrc": 1000,
      "any_qru": 0,
      "any_qdu": 0
    },
    "query_sensitive_conflict": {
      "all_relevant_queries_qrc": 0,
      "any_qru": 1000,
      "any_qdu": 0
    },
    "dependency_interaction": {
      "all_relevant_queries_qrc": 0,
      "any_qru": 236,
      "any_qdu": 764
    },
    "evidence_conflict": {
      "all_relevant_queries_qrc": 1000,
      "any_qru": 0,
      "any_qdu": 0
    },
    "nuisance_conflict": {
      "all_relevant_queries_qrc": 1000,
      "any_qru": 0,
      "any_qdu": 0
    },
    "root_conflict": {
      "all_relevant_queries_qrc": 1000,
      "any_qru": 0,
      "any_qdu": 0
    }
  },
  "independent_checks": {
    "dependency_interaction_state_commutes": 1000,
    "dependency_interaction_intent_mismatch": 1000,
    "query_equivalent_branch_states_distinct": 1000,
    "query_equivalent_answers_same": 1000,
    "query_sensitive_answers_different": 1000,
    "auto_union_oracle_failures": 0,
    "coalesce_oracle_failures": 0
  },
  "baselines": {
    "field_only": {
      "dangerous_false_merges_dependency_interaction": 1000,
      "query_level_overconflicts_on_q_equivalent": 1000
    },
    "query_only": {
      "semantic_collapses_when_query_closed": 4000
    }
  },
  "discarded_intermediate_result": {
    "reason": "The first pass incorrectly pooled answers from different queries into one answer set for auto-disjoint cases.",
    "fix": "All QRC/QRU/QDU judgments are now per-query; case-level summaries never union heterogeneous answer domains."
  }
}

附錄 D:Artifacts

  • SRBC_Theory_Validation_Round11_Report_v0.1_2026-09-23.md
  • SRBC_Core_Patch_v0.11_2026-09-23.md
  • semantic_merge_protocol_v011.yaml
  • round11_semantic_merge.py
  • results_round11.json
  • results_round11_replay.json
  • merge_cases_round11.jsonl
  • input_certificates_v07/*.json
  • validation.json