@furongjun1999/dsh-memory 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +552 -465
- package/docs/README.md +1 -0
- package/docs/eval/bench_lingshu_self/bench_self.py +140 -0
- package/docs/eval/bench_lingshu_self/self_bench_result.json +404 -0
- package/docs/eval/bench_lingshu_self//347/201/265/346/236/242/350/207/252/345/272/223/347/253/257/345/210/260/347/253/257/346/243/200/347/264/242/345/256/236/346/265/213_v1.0.md +38 -0
- package/docs/eval//344/270/215/345/217/257/351/235/240/346/200/247/350/220/275/345/234/260_P0_v1.0.md +185 -0
- package/docs/eval//346/225/205/351/232/234/346/263/250/345/205/245/345/256/236/346/265/213_v1.0.md +422 -0
- package/docs/eval//347/253/257/345/210/260/347/253/257LoCoMoQA/345/220/214/345/217/243/345/276/204/345/257/271/347/205/247_v1.0.md +100 -0
- package/docs/eval//347/253/257/345/210/260/347/253/257/345/271/262/346/211/260/346/261/240/350/257/204/346/265/213_/347/241/256/345/256/232/346/200/247/350/243/201/345/206/263vsLLM_judge_v1.1.md +197 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v1.md +156 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v10.md +210 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v11.md +227 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v12.md +203 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v13.md +233 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v14.md +191 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v15.md +213 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v16.md +214 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v17.md +199 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v2.md +156 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v3.md +152 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v4.md +128 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v5.md +114 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v6.md +192 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v7.md +187 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v8.md +207 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v9.md +203 -0
- package/docs/hive//345/256/211/345/205/250/345/256/241/350/256/241/345/256/236/351/224/232_v0.1.md +202 -0
- package/docs/hive//350/234/202/345/267/242/345/217/214/345/256/236/344/276/213/344/272/222/351/252/214_/350/256/276/350/256/241/345/256/232/347/250/277.md +19 -3
- package/docs/images/lingshu-moonlight-covenant-poster-preview.jpg +0 -0
- package/docs/images/lingshu-moonlight-covenant-poster.png +0 -0
- package/docs/mdcg//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +40 -40
- package/docs/theory//344/270/215/345/217/257/351/235/240/345/256/232/347/220/206/344/270/216/345/244/261/346/225/210/344/274/230/345/205/210/346/241/206/346/236/266_v0.3.md +365 -0
- package/docs//344/270/215/345/217/257/351/235/240/346/200/247/347/220/206/350/256/272_v0.1.md +343 -0
- package/lib/bridge.d.ts +9 -0
- package/lib/bridge.js +35 -0
- package/lib/index.js +7 -1
- package/lib/lib/roleplay_web.js +530 -443
- package/lib/lib/token_store.d.ts +7 -1
- package/lib/lib/token_store.js +12 -3
- package/md_cg/audit.py +12 -1
- package/md_cg/backfill.py +16 -15
- package/md_cg/backfill_bucket_zh.py +35 -0
- package/md_cg/bench_e2e_judge.py +532 -0
- package/md_cg/bench_e2e_locomo_qa.py +368 -0
- package/md_cg/bench_e2e_qa.py +256 -0
- package/md_cg/branches.py +18 -2
- package/md_cg/ccgc.py +3 -2
- package/md_cg/chain.py +19 -4
- package/md_cg/consolidate.py +7 -6
- package/md_cg/crosscheck.py +4 -3
- package/md_cg/crypto.py +439 -437
- package/md_cg/datapath.py +395 -335
- package/md_cg/evidence.py +582 -580
- package/md_cg/export.py +3 -1
- package/md_cg/forgetting.py +2 -2
- package/md_cg/fsutil.py +48 -0
- package/md_cg/hotcache.py +255 -238
- package/md_cg/interop.py +161 -22
- package/md_cg/judgment_manifest.py +177 -0
- package/md_cg/links.py +655 -622
- package/md_cg/mcp_server.py +280 -29
- package/md_cg/mdcg.py +616 -125
- package/md_cg/mdcos.py +430 -66
- package/md_cg/mreview/govern.py +5 -4
- package/md_cg/postings.py +4 -2
- package/md_cg/readcache.py +76 -18
- package/md_cg/reconcile.py +228 -0
- package/md_cg/review_cli.py +170 -0
- package/md_cg/routing.py +28 -0
- package/md_cg/run_tests.py +211 -0
- package/md_cg/scrub.py +862 -852
- package/md_cg/security.py +385 -275
- package/md_cg/selfreport.py +3 -2
- package/md_cg/signer.py +565 -562
- package/md_cg/sources.py +3 -2
- package/md_cg/stg.py +6 -0
- package/md_cg/sustain.py +1168 -1138
- package/md_cg/test_access_hints.py +147 -0
- package/md_cg/test_branch_discard_tombstone.py +136 -0
- package/md_cg/test_branches.py +259 -249
- package/md_cg/test_chain_read_isolate.py +168 -0
- package/md_cg/test_datapath_device_name.py +203 -0
- package/md_cg/test_emit_negtail_cache.py +156 -0
- package/md_cg/test_en_pipeline.py +186 -166
- package/md_cg/test_govern_directread.py +421 -0
- package/md_cg/test_i32_hotcache_env_key.py +218 -0
- package/md_cg/test_identity_attribution.py +228 -147
- package/md_cg/test_index_durability.py +238 -224
- package/md_cg/test_interop.py +4 -2
- package/md_cg/test_interop_judgment.py +228 -0
- package/md_cg/test_issue39_utf8_stdio.py +273 -0
- package/md_cg/test_links_concurrent_write.py +188 -0
- package/md_cg/test_merge_upsert.py +168 -0
- package/md_cg/test_n123_derive_expiry_chain.py +205 -0
- package/md_cg/test_n130_verify_falsified_protect.py +185 -0
- package/md_cg/test_n131_merge_gate.py +205 -0
- package/md_cg/test_p1x_ref_root.py +160 -0
- package/md_cg/test_p27_docindex.py +774 -765
- package/md_cg/test_p2_mcp.py +3 -0
- package/md_cg/test_p32_backfill.py +304 -298
- package/md_cg/test_p39_verify_flow.py +90 -50
- package/md_cg/test_p47_session_view.py +60 -25
- package/md_cg/test_propose_tail_index.py +157 -0
- package/md_cg/test_read_scope_b27.py +277 -0
- package/md_cg/test_readcache_default_on.py +168 -0
- package/md_cg/test_readcache_precise_inval.py +270 -0
- package/md_cg/test_readcache_prodpath.py +55 -7
- package/md_cg/test_reconcile_v0.py +294 -0
- package/md_cg/test_retr_s1.py +6 -2
- package/md_cg/test_retr_s1b.py +67 -0
- package/md_cg/test_retr_s7.py +8 -0
- package/md_cg/test_retr_s9_entity_ctx.py +181 -175
- package/md_cg/test_retr_score_once.py +208 -0
- package/md_cg/test_review_onepass.py +170 -0
- package/md_cg/test_rrf_graph_seed_cache.py +154 -0
- package/md_cg/test_security_audit.py +155 -0
- package/md_cg/test_security_audit_b26.py +161 -0
- package/md_cg/test_security_audit_v21.py +250 -0
- package/md_cg/test_semantic_canonical.py +255 -241
- package/md_cg/test_session_isolation.py +168 -0
- package/md_cg/test_snapshot_autoclose.py +187 -0
- package/md_cg/test_tail_watermark_race.py +208 -0
- package/md_cg/test_tenant_env_override_warn.py +139 -0
- package/md_cg/test_tenant_registry_corrupt_warn.py +151 -0
- package/md_cg/test_v14_fixes.py +415 -397
- package/md_cg/test_verify_dirty_reconcile.py +157 -0
- package/md_cg/theory.py +276 -273
- package/md_cg/tokens.py +734 -677
- package/md_cg/units.py +3 -2
- package/md_cg/vision_evidence.py +4 -3
- package/md_cg/whitebox_kb/wisdom/code_solidified.json +6195 -6195
- package/md_cg/whitebox_kb/wisdom/multilang_ir.py +128 -124
- package/md_cg/writepipe.py +554 -550
- package/package.json +6 -2
- package/src/bridge.ts +434 -401
- package/src/index.ts +526 -518
- package/src/lib/roleplay_web.ts +1019 -932
- package/src/lib/token_store.ts +202 -192
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
# 不可靠定理与失效优先框架(Fail-First Theorems)
|
|
2
|
+
|
|
3
|
+
## ——智能论系统层推导:从信息差必然到任何组件不可靠
|
|
4
|
+
|
|
5
|
+
> **版本**:v0.3 | **日期**:2026-09-26 | **归属**:灵枢(AEIS)理论仓 `docs/theory/`
|
|
6
|
+
> **定位**:智能论在系统层的推导集。智能论公理回答"**凭什么信**"(认知层),本框架回答"**凭什么存、凭什么跑**"(系统层)。两层同源:由信息差必然存在与局部不可知,可推导出系统层的失效定理。白箱体系由此覆盖:认知有公理、系统有推导、公理之下皆可审计。
|
|
7
|
+
> **层次标注约定**:**定理**=由智能论公理或本框架公理逻辑导出(附推导链);**公理**=本框架内不可再分的设计前提(须声明其可替代性);**定义**=操作性约定;**工程命题**=可被实验检验的设计主张。
|
|
8
|
+
> **v0.3 修订说明**:基于独立验证路径(Kimi 复核报告,2026-09-26)的 A/B/C/D 级问题全面修订。修订遵循智能论反思-验证-固化机制:反思(识别缺口)→验证(逻辑检验)→固化(写入修订)。
|
|
9
|
+
> **与《不可靠性理论 v0.1》的关系**:本框架承接其「不可靠为常态」立场并升格为推导体系;v0.1 的九源分类学、防线原语 P1–P12、91 修理论化表与第五章待建设面约束仍以 v0.1(`docs/不可靠性理论_v0.1.md`)为唯一真源——本稿落地清单设「自 v0.1 承接的待建设面」一节回指。
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 〇 总览:从"给定前提"到"推导结论"
|
|
14
|
+
|
|
15
|
+
**出发点**:v0.1 把"任何组件都不可靠"作为公理接受;v0.2 修正为定理;v0.3 补全推导桥接与威胁模型。
|
|
16
|
+
|
|
17
|
+
**推导链**:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
前提1(智能论 0.0.1 信息条件性):
|
|
21
|
+
每个信息差都依赖于条件空间,不存在绝对信息差。
|
|
22
|
+
前提2(智能论 0.0.3 局部不可知):
|
|
23
|
+
任何有限观测者在有限条件下都无法获取全局完备信息。
|
|
24
|
+
前提3(智能论 2.7 信息差增定律):
|
|
25
|
+
在没有持续干预时,信息差自然趋于扩大。
|
|
26
|
+
|
|
27
|
+
桥接命题(B 桥):
|
|
28
|
+
组件行为是其不完备信息的函数;其声明/预期即其自模型。
|
|
29
|
+
条件空间不完备 ⟹ 存在模型外演化使实际行为偏离自模型。
|
|
30
|
+
|
|
31
|
+
推导:
|
|
32
|
+
任何组件 c 都是有限观测者(有限资源、有限信息、有限处理能力)。
|
|
33
|
+
因此 c 对自身状态和外部状态都存在不可消除的信息差。
|
|
34
|
+
因此 c 在任意时刻可能以未被自身观测到的方式偏离其声明或预期。
|
|
35
|
+
这种偏离即失效——包括最难防御的静默错误。
|
|
36
|
+
|
|
37
|
+
定理 T0(失效定理):
|
|
38
|
+
∀ 组件 c、∀ 时刻 t:c 在 t 可能以其声明行为空间内的任意模式失效。
|
|
39
|
+
(可能性版:仅用前提1+2)
|
|
40
|
+
|
|
41
|
+
强化版(引入前提3):
|
|
42
|
+
若不干预,偏离概率上界随时间单调升。
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
由此,整个框架的承诺发生一次根本转向:
|
|
46
|
+
|
|
47
|
+
| 传统可靠性观 | 本框架的可靠性观 |
|
|
48
|
+
|---|---|
|
|
49
|
+
| 可靠 = 组件不出错 | 组件必然出错(T0) |
|
|
50
|
+
| 目标:防止失效 | 目标:失效**可发现、可隔离、可恢复、可追溯**(四可,见 D4) |
|
|
51
|
+
| 失效是异常路径 | 失效是一等公民状态,失败路径先于成功路径设计 |
|
|
52
|
+
| 信任由权限授予 | 信任由验证链长度 × 独立性度量(D3) |
|
|
53
|
+
|
|
54
|
+
**一句话总纲**:
|
|
55
|
+
|
|
56
|
+
> **系统不承诺"组件正常",只承诺"任何未经充分验证的结论,都不会被当成事实"。可靠性不是组件的属性,而是证据链的属性。**
|
|
57
|
+
|
|
58
|
+
**与智能论的关系**:本框架是智能论在系统层的投影,不是独立公理体系。T0 的效力等同于智能论推论三(局部不可知)在系统层的直接应用。因此本框架的合法性不来自"接受一个悲观前提",而来自"智能论已被接受"。
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 一、定理层(T0–T2:由智能论直接推导)
|
|
63
|
+
|
|
64
|
+
### 【定理 T0】失效定理
|
|
65
|
+
|
|
66
|
+
> **∀ 组件 c、∀ 时刻 t:c 在 t 可能以其声明行为空间内的任意模式失效。**
|
|
67
|
+
|
|
68
|
+
**推导链**(见总览)。**威胁模型限定**:本定理覆盖自然失效与对手失效,但二者防御经济学不同(见 D2 威胁模型小节)。
|
|
69
|
+
|
|
70
|
+
失效分三类,危险性递增:
|
|
71
|
+
|
|
72
|
+
| 类别 | 形态 | 可观测性 | 防御手段 |
|
|
73
|
+
|---|---|---|---|
|
|
74
|
+
| ① 崩溃 | 不响应、进程消亡 | **可观测** | 重试 / 同轮重建 / 心跳超时 |
|
|
75
|
+
| ② 显式错误 | 报错但内容错 | 可观测(错误信号在) | 校验返回值 / 拒收 |
|
|
76
|
+
| ③ **静默错误** | 正常响应,内容错 | **不可观测** | **独立验证路径(T5)——唯一防御** |
|
|
77
|
+
|
|
78
|
+
> 第三类是本框架与常规容错设计的分水岭:常规容错面向崩溃,本框架**由静默错误主导设计**(T4)。
|
|
79
|
+
|
|
80
|
+
### 【定理 T1】观测者同罪
|
|
81
|
+
|
|
82
|
+
> **检测组件 c 失效的组件 d,自身满足 T0。不存在特权观测者。**
|
|
83
|
+
|
|
84
|
+
*证明*:d 也是有限观测者,也受信息条件性和局部不可知约束,故 d 也可能失效。∎
|
|
85
|
+
|
|
86
|
+
**修正说明**(v0.3):删除 v0.2 中"若 d 被假设为'可信',则 d 不满足 T0"句。d 被采信的资格由验证链度量(D3),而 d 自身的失效可能性不因被采信而消失——这正是 T10 对验证器同样适用的原因。
|
|
87
|
+
|
|
88
|
+
### 【定理 T2】消息不可信
|
|
89
|
+
|
|
90
|
+
> **任意两条消息之间可发生:丢失、重复、乱序、任意延迟、内容篡改。存储介质与信道皆然。**
|
|
91
|
+
|
|
92
|
+
*证明*:消息由组件产生、经信道传输、由组件接收。产生者、信道、接收者三者均满足 T0。因此消息的完整性不可假设。∎
|
|
93
|
+
|
|
94
|
+
**修正说明**(v0.3):本定理的严格成立需要一条组合公理——**各组件失效模式可独立发生,不排除最坏组合**。这是保守化设计选择,不是逻辑推论。工程上取最坏组合作为设计上界。
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 二、公理层(A1–A4:本框架内的设计前提)
|
|
99
|
+
|
|
100
|
+
> 以下条目是**设计选择**,不是逻辑必然。它们可被替代,但替代方案必须显式声明其代价。
|
|
101
|
+
|
|
102
|
+
### 【公理 A1】真源唯一(工程取舍)
|
|
103
|
+
|
|
104
|
+
> **唯一可信终点是 append-only 落盘原文(事件日志 + md 认知图原文)。内存态、进程态、索引态、网络态均为易失派生物,其可信度恒 ≤ 真源。**
|
|
105
|
+
|
|
106
|
+
**修正说明**(v0.3):真源**不豁免于 T0**。它不享有"可信"的特权,只享有**验证预算最集中的终点**这一工程地位。真源同样可能发生静默错误(磁盘位翻转、固件bug),且因其"最可信",静默错误的穿透力最强——这正是 T4 的直接推论。真源验证由 T13(真源验证定理)独立保证。
|
|
107
|
+
|
|
108
|
+
**为什么是设计选择**:也可以设计"多真源"(如拜占庭共识),代价是通信复杂度和写入延迟增加。本框架选择"单真源 + 多验证"替代"多真源 + 共识"。
|
|
109
|
+
|
|
110
|
+
### 【公理 A2】时间不可信
|
|
111
|
+
|
|
112
|
+
> **墙钟可漂移、回拨、跳变。系统内事件次序只承认逻辑时序(先后关系 / 水位),墙钟仅作展示与粗排序。**
|
|
113
|
+
|
|
114
|
+
**修正说明**(v0.3):删除"相对论双重否证"表述。相对论揭示的是时钟的**条件依赖性**(与 0.0.1 同源),工程实践(NTP 漂移、闰秒、回拨)揭示的是**不可靠性**。二者合起来支持本公理,但不构成"否证"。
|
|
115
|
+
|
|
116
|
+
### 【公理 A3】验证有成本
|
|
117
|
+
|
|
118
|
+
> **验证本身消耗资源,且验证器自身满足 T0。因此验证强度必须分级,按风险分配——100% 全量验证在理论与经济上均不可得。**
|
|
119
|
+
|
|
120
|
+
**工程含义**:本框架的承诺因 A3 而必然是**概率承诺而非绝对承诺**(见边界说明)。
|
|
121
|
+
|
|
122
|
+
### 【公理 A4】诚实公理
|
|
123
|
+
|
|
124
|
+
> **组件对自身状态的不确定必须可声明(BLINDSPOT);声明不确定,永远优于编造确定。**
|
|
125
|
+
|
|
126
|
+
*与智能论的对应*:四态路由中的 BLINDSPOT 在此升格为公理——它不只是检索策略,而是系统在自身不可靠这一事实面前的**唯一诚实姿态**。fail-closed(T8)是 A4 在工程侧的镜像。
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 三、定义层(D1–D6)
|
|
131
|
+
|
|
132
|
+
| 编号 | 定义 |
|
|
133
|
+
|---|---|
|
|
134
|
+
| **D1 组件** | 任何可产生输出或改变状态的单元:进程、函数、存储页、网络跳、LLM 调用、人。 |
|
|
135
|
+
| **D2 失效谱与分级假设** | 失效谱从 fail-stop(只崩溃不撒谎)到拜占庭(含静默错误)。**分级采用**:存储层按 fail-stop 设计,但校验和检测到内容错即升级按拜占庭处置(隔离);计算层——尤其 LLM 输出——**一律按拜占庭设计**(内容不可信,须验证)。**威胁模型**:自然失效(介质老化、时钟漂移、宇宙射线)服从 hazard 分布;对手失效(定向篡改、自适应攻击)会学习未验证窗口。二者防御经济学不同,T10 的成立依赖此区分。 |
|
|
136
|
+
| **D3 信任度量** | 信任 = 验证链长度 × 各环节独立性。验证链闭环(自己验自己)= 零信任,无论链多长。 |
|
|
137
|
+
| **D4 四可** | 可发现(detectable)、可隔离(isolatable)、可恢复(recoverable)、可追溯(traceable)。**本框架对系统的全部承诺即四可,不承诺"不失效"。** |
|
|
138
|
+
| **D5 合法态与自稳定** | 状态空间中满足全部判据的子集称合法态;系统在任意瞬态扰动后可仅凭真源与协议在有限步内回到合法态,称自稳定。 |
|
|
139
|
+
| **D6 幂等** | 操作 op 应用一次与应用 N 次效果相同。实现基准:以内容哈希为幂等键。 |
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 四、定理层(T3–T14:由 T0–T2 + 公理层导出)
|
|
144
|
+
|
|
145
|
+
### 【定理 T3】无特权裁决定理
|
|
146
|
+
|
|
147
|
+
> **不存在组件 c\*,其裁决可免于独立验证而被采信。**
|
|
148
|
+
|
|
149
|
+
*证明*(v0.3 修正,直接由 T5 导出):若 c\* 可免于独立验证被采信,则对 c\* 的采信不存在不经过 c\* 的验证路径,与 T5 矛盾。∎
|
|
150
|
+
|
|
151
|
+
*工程推论*:任何裁决(包括四层证据防火墙的终排、双实例互验的判定)必须可被**不经过裁决者自身**的证据链复核。
|
|
152
|
+
|
|
153
|
+
### 【定理 T4】静默错误支配定理
|
|
154
|
+
|
|
155
|
+
> **系统的安全设计必须由静默错误主导,崩溃恢复是必要非充分。**
|
|
156
|
+
|
|
157
|
+
*证明*:由 T0 三分类,崩溃与显式错误均可观测,重试/重建可处置;唯静默错误不可观测,其唯一防御是独立验证路径(T5)。面向①②的设计对③无证明力。∎
|
|
158
|
+
|
|
159
|
+
*工程推论*:评审优先级反转——**失败路径与静默错误路径的测试,证明力高于成功路径**。
|
|
160
|
+
|
|
161
|
+
### 【定理 T5】独立验证定理
|
|
162
|
+
|
|
163
|
+
> **不经过被验组件自身的独立验证路径,是采信为事实的必要条件;采信强度是路径独立性、链长与复验频率的函数(D3/T10)。**
|
|
164
|
+
|
|
165
|
+
*证明*:若一切验证路径都经过该组件,则该组件静默错误时验证结果与其一致(T1:验证器与被验者同一失效域),验证无判别力;反之,独立路径提供判别力。∎
|
|
166
|
+
|
|
167
|
+
**修正说明**(v0.3):v0.2 用"当且仅当",超出证明力。独立验证路径是**必要条件**,非充分条件——路径自身也可能静默失效。同时声明:本定理实际针对的是**自洽静默错误**(被验者错误时其关联自检同样错误且一致);不自洽失效即使在闭环链内也可检测。
|
|
168
|
+
|
|
169
|
+
*工程推论*:验证链**不得闭环**;验证器与被验者必须故障不相关(不同实例、不同代码路径、不同数据副本)。
|
|
170
|
+
|
|
171
|
+
### 【定理 T6】真源恢复定理
|
|
172
|
+
|
|
173
|
+
> **真源 + 确定性重建协议 + 端到端判据 ⇒ 可自恢复(充分条件)。本框架选择唯一真源以换取写入路径的简洁,代价见 A1。**
|
|
174
|
+
|
|
175
|
+
*证明*:真源在,派生物按 A1 可弃可重建;重建过程须由 T12 端到端判据兜底 + 失败重放,才能闭环。∎
|
|
176
|
+
|
|
177
|
+
**修正说明**(v0.3):v0.2 用"充要条件",双向过强。⟸ 方向忽略重建者本身也是组件(T1);⟹ 方向反例——多等价载体互为真源也可自恢复。唯一真源是工程取舍,不是逻辑必然。
|
|
178
|
+
|
|
179
|
+
### 【定理 T7】幂等必要性定理
|
|
180
|
+
|
|
181
|
+
> **在 T2 下,若合法态判据要求幂等等价(D5),则非幂等写操作必然(在消息重复场景中)导致状态损坏。**
|
|
182
|
+
|
|
183
|
+
*证明*:T2 允许重复投递;非幂等 op 对重复消息应用 N>1 次的效果 ≠ 应用 1 次,状态偏离合法态。∎
|
|
184
|
+
|
|
185
|
+
**修正说明**(v0.3):显式引用 D5,删除"偷运"的断言。
|
|
186
|
+
|
|
187
|
+
### 【定理 T8】fail-closed 定理
|
|
188
|
+
|
|
189
|
+
> **验证不可用时,输出必须落向"声明不可用",而非"跳过验证继续"。**
|
|
190
|
+
|
|
191
|
+
*证明*:跳过验证继续输出 = 以静默错误为代价换取可用性,违反 T4。∎
|
|
192
|
+
|
|
193
|
+
### 【定理 T9】自稳定定理
|
|
194
|
+
|
|
195
|
+
> **对真源可恢复的故障类(真源未损,或真源可由外部锚重建),满足 A1 + T6 + 幂等(D6)+ 水位对账的系统,在任意瞬态故障后可有限步回到结构合法态(D5)。内容合法性由 T12 独立裁决。**
|
|
196
|
+
|
|
197
|
+
*证明*:真源未损 → 重放重建派生态(T6);重复消息被幂等键吸收(T7);乱序/延迟由逻辑时序与水位对账收敛(A2/T2);重建目标即结构合法态。∎
|
|
198
|
+
|
|
199
|
+
**修正说明**(v0.3):①陈述加入"真源可恢复故障类"前提;②明确"结构合法 ≠ 内容正确"——若真源写入时已携带静默错误,重建会忠实重建错误,内容正确性须由 T12 独立保证。
|
|
200
|
+
|
|
201
|
+
### 【定理 T10】信任衰减定理
|
|
202
|
+
|
|
203
|
+
> **在定向对手模型下(对手会学习未验证窗口),数据可信度是"距最近一次独立验证的时间"的单调不增函数。在纯自然失效模型下,需假设累积损伤机制(老化、磨损、位翻转累积),结论同样成立。**
|
|
204
|
+
|
|
205
|
+
*证明*:数据所处环境持续满足 T0/T2;未复验区间越长,"当前仍正确"的概率越低。∎
|
|
206
|
+
|
|
207
|
+
**修正说明**(v0.3):v0.2 缺 hazard 假设。补入定向对手模型为主、累积损伤模型为辅。
|
|
208
|
+
|
|
209
|
+
### 【定理 T11】多样性定理
|
|
210
|
+
|
|
211
|
+
> **N 个相同实现的副本,对系统性(共模)错误的防护为零。**
|
|
212
|
+
|
|
213
|
+
*证明*:相同实现对相同输入产生相同错误(含静默错误);N 个一致的错误结果在互验中相互印证,伪装为正确。∎
|
|
214
|
+
|
|
215
|
+
*工程推论*:双实例互验必须审计**实现多样性**(不同代码路径 / 不同算法 / 不同实例身份)。
|
|
216
|
+
|
|
217
|
+
### 【定理 T12】端到端定理
|
|
218
|
+
|
|
219
|
+
> **错误检查必须在端到端层面(真源 ↔ 最终输出)成立;低层校验只能降低成本,不能替代端到端判据。**
|
|
220
|
+
|
|
221
|
+
*证明*:低层校验只覆盖各自层内失效模式;跨层组合失效只有端到端判据能捕获。∎
|
|
222
|
+
|
|
223
|
+
*工程推论*:最终判据永远落在**原文子串 / committed / HMAC**上,不落在"组件说成功"上。
|
|
224
|
+
|
|
225
|
+
### 【定理 T13】真源验证定理(v0.3 新增)
|
|
226
|
+
|
|
227
|
+
> **真源内容的可信度同样遵循 T10;外部锚(离线审计副本、跨机快照、人)的复验间隔即真源的信任半衰期。真源不豁免于 T0。**
|
|
228
|
+
|
|
229
|
+
*证明*:真源是组件(D1),满足 T0。若真源无独立验证路径,则其静默错误穿透力最强(T4),违反 T5。因此真源必须由外部锚构成独立验证路径。∎
|
|
230
|
+
|
|
231
|
+
*工程推论*:外部锚调度从运维备注升格为框架构件;矩阵中"真源验证"空格由此补全。
|
|
232
|
+
|
|
233
|
+
### 【定理 T14】LLM 派生物重建条件(v0.3 新增)
|
|
234
|
+
|
|
235
|
+
> **含 LLM 的派生物须钉死模型版本 + prompt 版本 + temperature 0,或将其排除在"可重建派生态"之外、升格为二级真源(带独立验证)。**
|
|
236
|
+
|
|
237
|
+
*证明*:temperature>0 或模型/prompt 版本变化会破坏"确定性重建"(T6 的 ⟸ 与 T9 的重放对该类派生物失效)。∎
|
|
238
|
+
|
|
239
|
+
*工程推论*:重建管线本身是 LLM 时,多样性审计(T11)要覆盖它。
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 五、理论 × 机制 × 代码 × 实验 × 缺口矩阵
|
|
244
|
+
|
|
245
|
+
> 现状 = 2026-09-26 快照。v0.3 新增/更新条目以 **粗体** 标注。
|
|
246
|
+
> **工程核验基准(2026-09-26,编排会话独立路径)**:下表全部"代码现状"判定已逐行对照仓库实码复核;判定被修正的行以「工程核验修正」标注,关键证据以 文件:行 号附于脚注。
|
|
247
|
+
|
|
248
|
+
| 定理/公理 | 机制 | 代码现状 | 实验现状 | 缺口 |
|
|
249
|
+
|---|---|---|---|---|
|
|
250
|
+
| T0/T4 崩溃可恢复 | 健康评分四因子 + 同轮重建(swarm;心跳判活属 hive 调度面)「工程核验修正:原稿机制列含"心跳",swarm 侧实无心跳代码,已改注」 | ✅ 已有 | 回归验证 | 真实负载长期 soak |
|
|
251
|
+
| T5/T3 独立验证 | 双实例互验 + 判据冻结(hive) | ✅ 已有¹ | 回归验证 | **T11 实现多样性审计**(待建) |
|
|
252
|
+
| A1/T6 真源恢复 | WAL-HMAC + 原文即真源 + 索引可重建(md_cg/rust) | ✅ 已有 | 回归验证²「工程核验修正:原稿"第三方复现过"无据——第三方报告仅覆盖检索质量评测,未复现本机制」 | 启动对账 reconcile(待建,见 T9) |
|
|
253
|
+
| **T13 真源验证** | **外部锚(离线审计/跨机快照/人)** | **🟡 部分**³ | **待实验** | **真源验证定理的工程实现(v0.3 新增)** |
|
|
254
|
+
| A1 追溯 | payload-free 审计 + provenance 条件序列 | ✅ 已有 | 机制可审计 | 攻击级实测 |
|
|
255
|
+
| T2/T7 幂等 | worker 原子领取(hive) | 🟡 部分 | 回归验证 | **cg/swarm 全 op 幂等键标准化**(content-hash) |
|
|
256
|
+
| A2 逻辑时序 | Gossip 水位信箱(swarm) | ✅ 已有 | 回归验证 | 逻辑时钟全域化(墙钟残余依赖清点) |
|
|
257
|
+
| T8 fail-closed | 无密钥不明文 / guest 只读 / secret 写入即拒 | ✅ 已有 | 机制可审计 | **各组件 fail-closed 落点清单**(每个新组件必答) |
|
|
258
|
+
| T9 自稳定 | 启动对账(真源重放→重建→diff) | 🟡 部分⁴「工程核验修正:原稿判 ❌ 待建——启动两段式写对账已在仓,「真源重放→派生态重建→diff」全量对账仍待建」 | 机制可审计 | reconcile v0 全量对账(含 T9 的"真源可恢复故障类"前提) |
|
|
259
|
+
| T10 信任衰减 | 可信度降级 + scrub 抽样去污染 | 🟡 部分 | 单元验证 | 验证预算按风险分配全域化「工程核验修正:原稿"替换均匀抽样"与实码不符——scrub 已是分层抽样+风险权重,非均匀」 |
|
|
260
|
+
| T12 端到端 | 原文子串约束 + committed 字段 | ✅ 已有 | 横评口径 | 低层校验"不产生信任"原则写入评审清单 |
|
|
261
|
+
| A4 诚实 | BLINDSPOT 四态路由 | ✅ 已有 | 单元验证 | 认知级 fail-safe 白皮书(合流文档,P2) |
|
|
262
|
+
| **T14 LLM 重建条件** | **模型/prompt/temperature 钉死** | **❌ 待建** | **—** | **含 LLM 的派生物重建管线(v0.3 新增)** |
|
|
263
|
+
| **全框架** | **故障注入套件(混沌测试)** | ❌ 待建 | — | **P0:本框架唯一的实验验证手段** |
|
|
264
|
+
|
|
265
|
+
**矩阵脚注(工程核验证据锚点)**:
|
|
266
|
+
|
|
267
|
+
1. **双实例互验**:执行链代码与守卫在仓——判据冻结 `md_cg/interop.py`(freeze,批次10)+ 三断言(A1/A2/A3)+ 互验执行器 `hive/verify_runner.py`(批次11)+ 实例身份心跳(`hive/src/scheduler.rs` with_interop_identity,批次10)+ 机械消费方 `scripts/interop_gate.py`(issue #37 J4)。注:设计定稿文档头部「待排期实现」状态行已陈化(实现已于 2026-09-23/24 落地);`hive/interop/iter-*` 运行产物不入库(.gitignore),全流程实跑留痕以 `_receipts_ledger.tsv` 台账为准。
|
|
268
|
+
2. **WAL-HMAC**:Python 侧逐条验签 `swarm/rust_swarm.py`(verify_wal_signatures,hmac.compare_digest 交叉复核)+ Rust 侧纯 std 实现 `swarm/rust_runtime/src/hmac.rs`;第三方复现报告(LoCoMo 独立复现、灵枢 vs dejavu 统一评分 v7)覆盖的是检索质量评测,未触及本机制——实验判定据此降级。
|
|
269
|
+
3. **T13 外部锚 🟡 的"部分"依据**:审计分片轮转(`md_cg/mdcos.py` audit_archive)与 git 远端留痕(互验产物入库同步);跨机快照与外部锚复验调度无实现。
|
|
270
|
+
4. **启动对账已有面**:两段式写对账 `md_cg/twophase.py`(committed/interrupted 补账语义)+ 服务启动即清账(`md_cg/mcp_server.py` 启动序列调 `reconcile_writes()`,失败不阻塞但必须上报);「真源重放→派生态重建→diff→修复/告警」的全量启动对账仍待建。
|
|
271
|
+
|
|
272
|
+
> **框架的可证伪性**:本框架预言"成功路径测试对 T0 无证明力"。验证方式:对注入套件(七类故障)与常规测试集分别跑同一系统;若注入集暴露的缺陷系统性多于常规集,**支持 T4(静默错误支配)**。框架被证伪应定义为:**真源完好 + 全量注入通过的情况下,系统仍发生不可恢复的状态损坏**。
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 六、理论谱系对接(血统表)
|
|
277
|
+
|
|
278
|
+
| 本框架构件 | 先行理论 | 年代 | 关系 |
|
|
279
|
+
|---|---|---|---|
|
|
280
|
+
| T0 | "Everything fails all the time"(AWS 运维哲学);TCP/IP 幸存性设计 | 1980s→ | 口号版 → **由智能论推导为定理** |
|
|
281
|
+
| T1 | 拜占庭将军(Lamport–Shostak–Pease) | 1982 | 无特权节点的形式化起点 |
|
|
282
|
+
| A2 | 逻辑时钟(Lamport) | 1978 | 直接采用 |
|
|
283
|
+
| T2 | 不可靠信道模型;Bayou/最终一致 | 1960s→1990s | 直接采用(补组合公理) |
|
|
284
|
+
| T5 | N 版本程序设计(Avizienis & Chen);恢复块(Randell) | 1977/1975 | 多样性冗余的两支源头 |
|
|
285
|
+
| T9 | 自稳定系统(Dijkstra) | 1974 | 本框架给出其"真源版"充分条件 |
|
|
286
|
+
| T4/T8 | Crash-only software(Candea & Fox);Erlang let-it-crash + 监督树 | 2001/1980s | 崩溃常态化 → 本框架推至静默错误 |
|
|
287
|
+
| T12 | 端到端论据(Saltzer–Reed–Clark) | 1984 | 直接采用,落到"原文子串" |
|
|
288
|
+
| 实验层 | Jepsen 分析;混沌工程(Chaos Monkey) | 2010s | 故障注入作为一级公民 |
|
|
289
|
+
| **灵枢增量** | **认知级 fail-safe**:BLINDSPOT=认知级 fail-closed;四层证据防火墙=认知级验证链;元认知四观测面=对验证链本身的监控;**T13 真源验证=对验证链最核心环节的独立验证** | 2026 | **T0 从系统层提升到认知层——本框架相对既有文献的独有贡献** |
|
|
290
|
+
|
|
291
|
+
**与智能论的完整关系**:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
智能论(认知层)
|
|
295
|
+
├── 0.0 第零定律(知识统一原理)
|
|
296
|
+
├── 0.0.1 信息条件性
|
|
297
|
+
├── 0.0.3 局部不可知
|
|
298
|
+
└── 2.7 信息差与信息差增定律
|
|
299
|
+
│
|
|
300
|
+
│ 投影到系统层
|
|
301
|
+
▼
|
|
302
|
+
不可靠定理框架(系统层)
|
|
303
|
+
├── T0 失效定理(由信息条件性 + 局部不可知 + 信息差增推导)
|
|
304
|
+
├── T1 观测者同罪
|
|
305
|
+
├── T2 消息不可信
|
|
306
|
+
└── T13 真源验证定理(对真源自身的独立验证)
|
|
307
|
+
│
|
|
308
|
+
│ 工程设计
|
|
309
|
+
▼
|
|
310
|
+
灵枢实现(工程层)
|
|
311
|
+
├── 四重闸门 / 双实例互验 / 启动对账 / 故障注入套件
|
|
312
|
+
├── 真源外部锚 / LLM 重建钉死版本 / 白箱审计
|
|
313
|
+
└── 条件空间路由 / 认知图真源
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## 七、边界说明(诚实口径)
|
|
319
|
+
|
|
320
|
+
1. **概率承诺**:由 A3,四可是概率承诺,不是绝对承诺。框架不解决"全部验证器同时被攻破"——那需要外部锚:离线审计副本、跨机快照、或人。外部锚的调度属运维协议,不在本框架内。
|
|
321
|
+
2. **共模残余风险**:T11 的上界——两个独立实现仍可能共享同一个上游错误。理论残余风险不可消,只能靠多样化维度(代码、算法、人)压缩。
|
|
322
|
+
3. **拜占庭共识的取舍**:swarm 为半封闭小规模节点集 + 真源单写点,引入 PBFT 类全时拜占庭共识的成本高于收益。本框架用"真源单写点 + 独立验证链 + 互验"替代;若未来开放多方写入,再议 quorum 方案。
|
|
323
|
+
4. **T0 的证伪方式**:T0 作为从智能论推导出的定理,其前提由智能论接受。因此 T0 不需要独立证真——它继承智能论的前提效力。可检验的是它导出的机制。**若智能论前提修订,本框架须版本联动(T0 继承前提效力,也继承前提风险)。**
|
|
324
|
+
5. **LLM 派生物的确定性重建**:T14 声明其条件——钉死版本或升格二级真源。未满足条件的 LLM 派生物不纳入"可重建派生态"。
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## 八、落地清单(P0–P2)
|
|
329
|
+
|
|
330
|
+
**P0(先做,均为框架自检必需)**
|
|
331
|
+
|
|
332
|
+
1. **故障注入套件 v0**:七类故障 CI 必跑——杀进程、字节翻转、消息丢失、消息重复、消息乱序、时钟回拨、静默改写(对 T0 的实验闭环)
|
|
333
|
+
2. **幂等键标准化**:cg / swarm 全 op 以 content-hash 为幂等键,重复投递零损伤(T7)
|
|
334
|
+
3. **启动对账 reconcile v0**:真源重放 → 派生态重建 → diff → 修复/告警(T9,含"真源可恢复故障类"前提;已有两段式写对账为其中"写账本清账"一环,全量对账在其上扩展)
|
|
335
|
+
|
|
336
|
+
**P1(机制补全)**
|
|
337
|
+
|
|
338
|
+
4. **真源验证工程实现**:外部锚调度从运维备注升格为框架构件(T13)
|
|
339
|
+
5. **LLM 重建条件落地**:含 LLM 的派生物钉死模型/prompt/temperature,或升格二级真源(T14)
|
|
340
|
+
6. 逻辑时钟全域化:清点墙钟残余依赖,全部降级为展示用途(A2)
|
|
341
|
+
7. 验证预算按风险分配全域化:scrub 已是分层抽样+风险权重,把风险优先分配推广到 scrub 之外的验证面(T10/A3)
|
|
342
|
+
8. 互验实现多样性审计:双实例共享代码面清单化,异构检查入互验报告(T11)
|
|
343
|
+
9. 各组件 fail-closed 落点清单:每个新组件必须回答"验证不可用时,你的输出落向哪里"(T8)
|
|
344
|
+
|
|
345
|
+
**P2(叙事合流)**
|
|
346
|
+
|
|
347
|
+
10. **《认知级 fail-safe 白皮书》**:A4/BLINDSPOT + 四层防火墙 + 元认知四观测面与本框架合流,形成"系统层 + 认知层"完整推导体系——对外为论文骨架,对内为 vNext 评审基准
|
|
348
|
+
|
|
349
|
+
### 自 v0.1 承接的待建设面(《不可靠性理论 v0.1》第五章,本稿落地清单原缺,工程核验后补入)
|
|
350
|
+
|
|
351
|
+
以下三面的**设计约束**(只写约束不写实现)在 v0.1 已定稿,本框架落地清单未覆盖,承接如下——任何后续实现仍须满足 v0.1 对应约束才算合规:
|
|
352
|
+
|
|
353
|
+
| 待建设面 | 约束组 | 约束要点 | 约束全文 |
|
|
354
|
+
|---|---|---|---|
|
|
355
|
+
| 记忆软总线(跨实例记忆消息传递) | B1–B3 | B1 消息化(只传离散消息,不共享内存态);B2 最终一致(写后回读,冲突窗口可观测);B3 冲突按确定性裁决链,信任加权只作用于候选排序、不得作用于资格判定 | `docs/不可靠性理论_v0.1.md` §5.1 |
|
|
356
|
+
| 错误上报通道(新写面) | E1–E4 | E1 层写权限闸+保护闸双闸;E2 字段白名单脱敏、禁通配;E3 上报失效不静默(反例:审计吞错);E4 速率/配额/去重/严重度分级四件套(防上报洪水淹没告警) | `docs/不可靠性理论_v0.1.md` §5.2 |
|
|
357
|
+
| 线程模型 | T1–T2 | T1 共享可变面加锁或消息化二选一,禁「注释声明单线程」式口头豁免(实证:sustain 线程丢更新);T2 后台线程部署开关缺省语义须与线程模型一并裁决,不得默认全开 | `docs/不可靠性理论_v0.1.md` §5.3 |
|
|
358
|
+
|
|
359
|
+
> 注:v0.1 §5.4「0.5.1 发布承诺(约束 R1)」属提问口径(仓内未见承诺原文),随 v0.1 保留、待使用者确认细则,本稿不承接。v0.1 第五章各面均附代价声明,承接时一并生效。
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
*本框架由阿斯克米(全域情报集成)依用户给定命题起草(2026-09-26),v0.2 完成 T0 的公理→定理校准,v0.3 完成独立验证路径(Kimi 复核报告)的 A/B/C/D 级问题修订,待设计者终裁后升 v0.4。所有"已有"判定基于 2026-09-26 仓库快照,以实际代码为准。*
|
|
364
|
+
|
|
365
|
+
*v0.3 工程核验(编排会话独立路径):矩阵 4 行修正(第 9 行判定 ❌→🟡、第 3 行实验列降级、第 10 行缺口列改正、第 1 行机制列措辞改正)、2 行补核验脚注、补 v0.1 承接节——2026-09-26*
|