← Archive
lm-004647 · 2026-10

SRBC Theory Validation Program — Round 07:Closure Graph _ Reopen Automation

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

SRBC Theory Validation Program — Round 07

Closure Graph / Reopen Automation:最小受影響子圖、局部重算與 dependency integrity

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


Canonical Source Note

本報告以 UTF-8 Markdown 保存;數學 source 僅使用 $...$ 與 $$...$$。本輪直接使用 Round 06 的 14 張 v0.6.1 certificates,建立 typed closure DAG,並執行 graph mutation、cycle、edge-consistency、local reopen 與 scaled routing stress。

Round 06 沒有保存 canonical source / query / completion-family content bytes,因此本輪無法補造真實 content hash。所有 root digest routing 測試使用 ID-surrogate digest,只驗 reopen algorithm,不冒充 content-integrity proof。


0. 本輪目的

Round 06 已能判斷單張 certificate 被 mutation 後該:

  • invalidate;
  • downgrade;
  • reissue;
  • reverify。

Round 07 改問:

如果整個研究系統有很多互相依賴的 certificate,改一個節點後究竟要重開哪些?\boxed{ \text{如果整個研究系統有很多互相依賴的 certificate,改一個節點後究竟要重開哪些?} }

真正的要求是:

不全量重算∧不漏掉依賴者.\boxed{ \text{不全量重算} \quad\land\quad \text{不漏掉依賴者}. }

1. 第一個 artifact bug:v0.6.1 dependency pin 沒跟 digest split 同步

v0.6.1 已經拆出:

hSh_S

與:

hE.h_E.

但四條 derivational dependency 仍保存舊 v0.6 core digest。

和 parent 的新:

semantic_digest

比較:

child parent stored pin matches parent semantic digest?
BER-C2 BER-C1 NO
MH-C2 MH-C1 NO
MH-C3 MH-C1 NO
MH-C4 MH-C1 NO

結果:

0/4\boxed{ 0/4 }

對齊。

所以 v0.6.1 雖然「有 semantic digest」,dependency pin 還沒真正使用它。

v0.7 遷移後:

4/4\boxed{ 4/4 }

改為 parent_semantic_digest。


2. 第二個 artifact gap:root 只有 ID,沒有 canonical content digest

14 張 Round 06 certificates 中,有完整:

  • source content digest;
  • query content digest;
  • completion-family content digest;

的數量是:

0/14.\boxed{ 0/14. }

這代表:

MH-STANDARD-v1

若內容被原地改寫,但 ID 不變,舊 certificate 無法靠自身判斷 root stale。

所以:

version label≠content identity.\boxed{ \text{version label} \neq \text{content identity}. }

這是 v0.7 新增 root content integrity gate 的原因。


3. v0.7 Closure Graph

本輪 graph:

  • source nodes:13
  • query nodes:8
  • completion-family nodes:13
  • certificates:14
  • total graph nodes:90
  • total edges:89

節點還包括每張 certificate 的:

  • semantic digest;
  • evidence digest;
  • nuisance control node。

graph artifact:

closure_graph_v07.json

以及:

closure_graph_v07.dot

4. Propagation rule

只沿 propagating edge 做 reopen。

核心:

S,Q,F→SD(C)→CS,Q,F \rightarrow SD(C) \rightarrow C

及:

SD(Cp)→ED(Cc)→CcSD(C_p) \rightarrow ED(C_c) \rightarrow C_c

對 derivational child 傳播。

而:

contextual reference\text{contextual reference}

與:

nuisance\text{nuisance}

不傳播。


5. 76 種 mutation routing

測試所有:

  • 13 source nodes;
  • 8 query nodes;
  • 13 family nodes;
  • 14 semantic-digest nodes;
  • 14 evidence-digest nodes;
  • 14 nuisance controls。

總共:

76\boxed{ 76 }

種 mutation seeds。

graph reachability 與獨立 oracle affected-set 比較:

76/76\boxed{ 76/76 }

完全一致。


6. 真正 active mutation 的局部成本

排除 14 個 nuisance no-op,剩:

62\boxed{ 62 }

種 semantic / evidence mutations。

單次平均需重驗:

1.290\boxed{ 1.290 }

張 certificate。

中位數:

1.0.\boxed{ 1.0. }

最大:

4.\boxed{ 4. }

而整個 registry 是:

1414

張。

因此相較每次全量重算,平均節省:

90.78%\boxed{ 90.78\% }

certificate revalidation work。


7. Global rebuild:安全,但嚴重 over-invalidation

每一次 mutation 都重算:

1414

張 certificate。

而真實平均 affected:

1.290.1.290.

因此每次平均多算:

12.710\boxed{ 12.710 }

張。

這在 14 張小圖還不嚴重。

但 long-horizon SREG / SRBC runtime 若有數萬 certificates,會變成主要成本。


8. Direct-only:便宜,但真的 under-invalidate

只重驗直接使用 mutated node 的 certificates,而不追 derivational descendants。

62 種 active mutations 中,有:

4\boxed{ 4 }

種會漏重開。

總共漏掉:

10\boxed{ 10 }

次 descendant reopen。

案例:

mutation seed missed descendants count
S::MH-PARADE-STYLE-v1 MH-C2, MH-C3, MH-C4 3
F::MH-LIKELIHOOD-KERNEL-v1 MH-C2, MH-C3, MH-C4 3
SD::BER-C1 BER-C2 1
SD::MH-C1 MH-C2, MH-C3, MH-C4 3

最典型:

MH-C1MH\text{-}C1

semantic identity 改變時,如果只重驗 MH-C1,就會漏掉:

MH-C2,MH-C3,MH-C4.MH\text{-}C2, MH\text{-}C3, MH\text{-}C4.

9. Contextual reference 不應造成 proof cascade

TE-C3 對 TE-C1 是 contextual reference,不是 derivational proof edge。

mutation:

SD(TE-C1)SD(TE\text{-}C1)

後,closure routing 不包含 TE-C3。

結果:

PASS.\boxed{ \text{PASS}. }

這和 Round 06 的 certificate mutation 結果一致。


10. Graph / Registry consistency

基線:

graph derivational edges=registry derivational dependencies.\boxed{ \text{graph derivational edges} = \text{registry derivational dependencies}. }

通過。

接著攻擊:

Delete one real edge

刪掉:

SD::BER-C1 → ED::BER-C2

checker 偵測:

GRAPH_SCHEMA_MISMATCH⁡.\boxed{ \operatorname{GRAPH\_SCHEMA\_MISMATCH}. }

Add one spurious edge

加入:

SD::TE-C1 → ED::TE-C3

checker 同樣偵測 mismatch。

因此 graph 不能自己偷偷變成第二套 truth source。


11. Cycle attack

基線 derivational certificate graph:

acyclic⁡.\boxed{ \operatorname{acyclic}. }

注入:

MH-C2→MH-C1MH\text{-}C2 \rightarrow MH\text{-}C1

後,和既有:

MH-C1→MH-C2MH\text{-}C1 \rightarrow MH\text{-}C2

形成 cycle。

cycle detector:

detected.\boxed{ \text{detected}. }

因此第一代 certificate graph 應拒絕 ordinary cyclic derivation。


12. Scale stress

把整個 closure graph 複製:

200\boxed{ 200 }

份相互獨立 replicas。

對所有 replica mutation routes 共測:

15200\boxed{ 15200 }

次。

incremental graph routing 對 oracle:

15200/15200\boxed{ 15200/15200 }

一致。

這只是 dependency-routing scale test,不是大規模 theorem-prover benchmark;但至少證明 algorithm 沒有因 graph namespace 擴張而出現 cross-component contamination。


13. Minimal Reopen 的真正定義

本輪最重要的 runtime 結果可以壓成:

Aff⁡(v)=Reach⁡Eprop+(v)∩VC.\boxed{ \operatorname{Aff}(v) = \operatorname{Reach}_{E_{\mathrm{prop}}}^{+}(v) \cap V_C. }

也就是:

mutation 從哪個 typed node 出發,就沿真正會傳播 staleness 的 edge 找 certificate descendants。

這個集合就是目前 graph semantics 下的 minimal affected certificate set。


14. 為什麼它比 full rebuild 好?

full rebuild:

Aff⁡all(v)=VC.\operatorname{Aff}_{\mathrm{all}}(v) = V_C.

一定不漏,但 over-invalidate。

direct-only:

Aff⁡direct(v)\operatorname{Aff}_{\mathrm{direct}}(v)

成本低,但會漏 derivational descendant。

typed DAG:

Aff⁡DAG(v)\operatorname{Aff}_{\mathrm{DAG}}(v)

本輪 76/76 routing cases 都和 oracle 一致。


15. 但「minimal」仍然是 frame-relative

如果 dependency graph 本身漏 edge:

Gdeclared≠Gtrue,G_{\mathrm{declared}} \neq G_{\mathrm{true}},

再完美的 BFS 也會漏算。

所以:

incremental correctness=routing correctness+graph completeness.\boxed{ \text{incremental correctness} = \text{routing correctness} + \text{graph completeness}. }

這使 graph completeness 本身變成新的 certificate object。


16. Round 07 修正 QRSRC

QRSRC 不再只是一組 certificates。

更精確:

QRSRC⁡=(GC,C,HR,R)\boxed{ \operatorname{QRSRC} = ( G_C, \mathcal C, H_R, \mathcal R ) }

其中:

  • GCG_C:closure dependency graph;
  • C\mathcal C:certificates;
  • HRH_R:root content hashes;
  • R\mathcal R:reopen rules。

17. Reopen reason

每個 mutation seed 現在可以直接產:

reopen_reason: query_change
affected:
  - ...

或:

reopen_reason: semantic_reissue
affected:
  - ...

這可以讓 agent 不只是知道「要重開」,還知道:

為什麼重開、從哪裡開始、哪些不用碰。


18. 本輪對 SRBC 的支持

得到直接支持:

  1. typed dependency graph 可精確做局部 reopen;
  2. derivational / contextual 分型有實際必要;
  3. semantic / evidence digest split 可映射到不同 propagation route;
  4. full rebuild 的 over-invalidation 很大;
  5. direct-only 有可構造的 under-invalidation;
  6. dependency cycle / missing edge / spurious edge 都應被 graph checker 阻止;
  7. root content hash 是 incremental freshness 的必要條件。

19. 本輪又修正了什麼?

Patch 1

v0.6.1 dependency pin 必須改成 parent_semantic_digest。

Patch 2

source/query/family 不能只有 ID,必須有 canonical content hash。

Patch 3

closure graph 本身必須有 schema consistency certificate。

Patch 4

derivational graph 預設 acyclic。

Patch 5

reopen 用 typed reachability,不是 global reset。


20. 下一輪

Round 08 最有價值的是:

Incremental Recompute Runtime\boxed{ \text{Incremental Recompute Runtime} }

不只算 affected set,而是真的:

  1. mutation root;
  2. mark stale;
  3. topological schedule;
  4. 只重算 affected certificates;
  5. 更新 semantic / evidence digests;
  6. 重新驗證 descendants;
  7. commit 新 closure snapshot;
  8. 和 full rebuild 結果做 differential comparison。

也就是開始真正建立:

incremental QRSRC engine.\boxed{ \text{incremental QRSRC engine}. }

附錄 A:Dependency pin audit

child parent v0.6.1 pin matches parent semantic digest?
BER-C2 BER-C1 NO
MH-C2 MH-C1 NO
MH-C3 MH-C1 NO
MH-C4 MH-C1 NO

附錄 B:Machine summary

{
  "round": "SRBC Theory Validation Round 07",
  "input_certificate_count": 14,
  "v061_dependency_pin_audit": {
    "derivational_edge_count": 4,
    "pins_matching_parent_semantic_digest": 0,
    "all_records": [
      {
        "child": "BER-C2",
        "parent": "BER-C1",
        "stored_digest": "3ed59acb4b73c6c26baa8e8e47ec8fb20b893f65b1542248f8150a583eb58b76",
        "parent_semantic_digest": "c0dcc76443f984da379facd6bf38bd725ee4b38f76fb867e97f9a5885230d50f",
        "matches_parent_semantic_digest": false
      },
      {
        "child": "MH-C2",
        "parent": "MH-C1",
        "stored_digest": "af06eb1f098413059fa7cbc9d81f863e263ad930bba102e0ceac331a64b4b123",
        "parent_semantic_digest": "23414a2aa184bba06f5104e7c2bf7e241682ea3805a235f53eab1c1bc223067e",
        "matches_parent_semantic_digest": false
      },
      {
        "child": "MH-C3",
        "parent": "MH-C1",
        "stored_digest": "af06eb1f098413059fa7cbc9d81f863e263ad930bba102e0ceac331a64b4b123",
        "parent_semantic_digest": "23414a2aa184bba06f5104e7c2bf7e241682ea3805a235f53eab1c1bc223067e",
        "matches_parent_semantic_digest": false
      },
      {
        "child": "MH-C4",
        "parent": "MH-C1",
        "stored_digest": "af06eb1f098413059fa7cbc9d81f863e263ad930bba102e0ceac331a64b4b123",
        "parent_semantic_digest": "23414a2aa184bba06f5104e7c2bf7e241682ea3805a235f53eab1c1bc223067e",
        "matches_parent_semantic_digest": false
      }
    ]
  },
  "root_content_digest_audit": {
    "certificate_count": 14,
    "certificates_with_all_source_query_family_content_digests": 0,
    "note": "Round-06 certificates stored IDs but not canonical source/query/family content digests. Round-07 graph uses ID-surrogate digests only for routing tests."
  },
  "v07_migration": {
    "derivational_pins_matching_parent_semantic_digest": "4/4",
    "graph_nodes": 90,
    "graph_edges": 89,
    "source_nodes": 13,
    "query_nodes": 8,
    "family_nodes": 13,
    "certificate_nodes": 14
  },
  "routing_test": {
    "mutation_seed_count": 76,
    "exact_matches": 76,
    "failed": 0,
    "active_mutation_seed_count": 62,
    "average_affected_certificates": 1.2903225806451613,
    "median_affected_certificates": 1.0,
    "max_affected_certificates": 4,
    "average_fraction_saved_vs_full_recompute": 0.9078341013824885
  },
  "naive_strategies": {
    "global_recompute": {
      "certificates_per_mutation": 14,
      "average_excess_certificates_recomputed": 12.709677419354838
    },
    "direct_only": {
      "mutations_with_underinvalidation": 4,
      "active_mutation_count": 62,
      "missed_descendant_reopen_events": 10,
      "examples": [
        {
          "seed": "S::MH-PARADE-STYLE-v1",
          "missed": [
            "MH-C2",
            "MH-C3",
            "MH-C4"
          ],
          "missed_count": 3,
          "underinvalidates": true
        },
        {
          "seed": "F::MH-LIKELIHOOD-KERNEL-v1",
          "missed": [
            "MH-C2",
            "MH-C3",
            "MH-C4"
          ],
          "missed_count": 3,
          "underinvalidates": true
        },
        {
          "seed": "SD::BER-C1",
          "missed": [
            "BER-C2"
          ],
          "missed_count": 1,
          "underinvalidates": true
        },
        {
          "seed": "SD::MH-C1",
          "missed": [
            "MH-C2",
            "MH-C3",
            "MH-C4"
          ],
          "missed_count": 3,
          "underinvalidates": true
        }
      ]
    }
  },
  "graph_integrity": {
    "base_derivational_cycle": false,
    "injected_cycle_detected": true,
    "base_graph_registry_consistent": true,
    "deleted_edge_detected": true,
    "spurious_edge_detected": true,
    "contextual_reference_nonpropagation_ok": true,
    "spurious_edge_example": [
      "SD::TE-C1",
      "ED::TE-C3"
    ],
    "deleted_edge_example": [
      "SD::BER-C1",
      "ED::BER-C2"
    ]
  },
  "scaled_stress": {
    "replicas": 200,
    "mutation_routes_tested": 15200,
    "exact_matches": 15200,
    "failed": 0,
    "average_affected_certificates_per_replica_mutation": 1.0526315789473684
  }
}

附錄 C:Artifacts

  • SRBC_Theory_Validation_Round07_Report_v0.1_2026-09-23.md
  • SRBC_Core_Patch_v0.7_2026-09-23.md
  • closure_graph_v07.json
  • closure_graph_v07.dot
  • certificates_v07/*.json
  • results_round07.json
  • reopen_routes_round07.jsonl
  • reopen_reasons_round07.jsonl
  • round07_replay.py
  • validation.json