- 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 改問:
真正的要求是:
1. 第一個 artifact bug:v0.6.1 dependency pin 沒跟 digest split 同步
v0.6.1 已經拆出:
與:
但四條 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 |
結果:
對齊。
所以 v0.6.1 雖然「有 semantic digest」,dependency pin 還沒真正使用它。
v0.7 遷移後:
改為 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;
的數量是:
這代表:
MH-STANDARD-v1
若內容被原地改寫,但 ID 不變,舊 certificate 無法靠自身判斷 root stale。
所以:
這是 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。
核心:
及:
對 derivational child 傳播。
而:
與:
不傳播。
5. 76 種 mutation routing
測試所有:
- 13 source nodes;
- 8 query nodes;
- 13 family nodes;
- 14 semantic-digest nodes;
- 14 evidence-digest nodes;
- 14 nuisance controls。
總共:
種 mutation seeds。
graph reachability 與獨立 oracle affected-set 比較:
完全一致。
6. 真正 active mutation 的局部成本
排除 14 個 nuisance no-op,剩:
種 semantic / evidence mutations。
單次平均需重驗:
張 certificate。
中位數:
最大:
而整個 registry 是:
張。
因此相較每次全量重算,平均節省:
certificate revalidation work。
7. Global rebuild:安全,但嚴重 over-invalidation
每一次 mutation 都重算:
張 certificate。
而真實平均 affected:
因此每次平均多算:
張。
這在 14 張小圖還不嚴重。
但 long-horizon SREG / SRBC runtime 若有數萬 certificates,會變成主要成本。
8. Direct-only:便宜,但真的 under-invalidate
只重驗直接使用 mutated node 的 certificates,而不追 derivational descendants。
62 種 active mutations 中,有:
種會漏重開。
總共漏掉:
次 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 |
最典型:
semantic identity 改變時,如果只重驗 MH-C1,就會漏掉:
9. Contextual reference 不應造成 proof cascade
TE-C3 對 TE-C1 是 contextual reference,不是 derivational proof edge。
mutation:
後,closure routing 不包含 TE-C3。
結果:
這和 Round 06 的 certificate mutation 結果一致。
10. Graph / Registry consistency
基線:
通過。
接著攻擊:
Delete one real edge
刪掉:
SD::BER-C1 → ED::BER-C2
checker 偵測:
Add one spurious edge
加入:
SD::TE-C1 → ED::TE-C3
checker 同樣偵測 mismatch。
因此 graph 不能自己偷偷變成第二套 truth source。
11. Cycle attack
基線 derivational certificate graph:
注入:
後,和既有:
形成 cycle。
cycle detector:
因此第一代 certificate graph 應拒絕 ordinary cyclic derivation。
12. Scale stress
把整個 closure graph 複製:
份相互獨立 replicas。
對所有 replica mutation routes 共測:
次。
incremental graph routing 對 oracle:
一致。
這只是 dependency-routing scale test,不是大規模 theorem-prover benchmark;但至少證明 algorithm 沒有因 graph namespace 擴張而出現 cross-component contamination。
13. Minimal Reopen 的真正定義
本輪最重要的 runtime 結果可以壓成:
也就是:
mutation 從哪個 typed node 出發,就沿真正會傳播 staleness 的 edge 找 certificate descendants。
這個集合就是目前 graph semantics 下的 minimal affected certificate set。
14. 為什麼它比 full rebuild 好?
full rebuild:
一定不漏,但 over-invalidate。
direct-only:
成本低,但會漏 derivational descendant。
typed DAG:
本輪 76/76 routing cases 都和 oracle 一致。
15. 但「minimal」仍然是 frame-relative
如果 dependency graph 本身漏 edge:
再完美的 BFS 也會漏算。
所以:
這使 graph completeness 本身變成新的 certificate object。
16. Round 07 修正 QRSRC
QRSRC 不再只是一組 certificates。
更精確:
其中:
- :closure dependency graph;
- :certificates;
- :root content hashes;
- :reopen rules。
17. Reopen reason
每個 mutation seed 現在可以直接產:
reopen_reason: query_change
affected:
- ...
或:
reopen_reason: semantic_reissue
affected:
- ...
這可以讓 agent 不只是知道「要重開」,還知道:
為什麼重開、從哪裡開始、哪些不用碰。
18. 本輪對 SRBC 的支持
得到直接支持:
- typed dependency graph 可精確做局部 reopen;
- derivational / contextual 分型有實際必要;
- semantic / evidence digest split 可映射到不同 propagation route;
- full rebuild 的 over-invalidation 很大;
- direct-only 有可構造的 under-invalidation;
- dependency cycle / missing edge / spurious edge 都應被 graph checker 阻止;
- 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 最有價值的是:
不只算 affected set,而是真的:
- mutation root;
- mark stale;
- topological schedule;
- 只重算 affected certificates;
- 更新 semantic / evidence digests;
- 重新驗證 descendants;
- commit 新 closure snapshot;
- 和 full rebuild 結果做 differential comparison。
也就是開始真正建立:
附錄 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.mdSRBC_Core_Patch_v0.7_2026-09-23.mdclosure_graph_v07.jsonclosure_graph_v07.dotcertificates_v07/*.jsonresults_round07.jsonreopen_routes_round07.jsonlreopen_reasons_round07.jsonlround07_replay.pyvalidation.json