skill-family-engineering-kit 0.2.0 → 0.2.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.
Files changed (70) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CHANGELOG.zh-CN.md +21 -0
  3. package/NOTICE +10 -0
  4. package/README.md +157 -55
  5. package/README.zh-CN.md +207 -0
  6. package/candidate/index.mjs +4 -0
  7. package/candidate/profile-bundle.mjs +268 -0
  8. package/candidate/projection-bundle-cli.mjs +22 -0
  9. package/docs/404.html +1434 -408
  10. package/docs/agents/architecture-routing/index.html +1944 -0
  11. package/docs/agents/capability-catalog.en.json +1561 -0
  12. package/docs/agents/capability-catalog.json +934 -0
  13. package/docs/agents/capability-catalog.schema.json +179 -0
  14. package/docs/agents/capability-catalog.zh-CN.json +1561 -0
  15. package/docs/agents/index.html +1914 -0
  16. package/docs/architecture/index.html +1706 -497
  17. package/docs/assets/javascripts/lunr/tinyseg.js +2 -2
  18. package/docs/assets/javascripts/lunr/wordcut.js +37 -37
  19. package/docs/en/agents/architecture-routing/index.html +1944 -0
  20. package/docs/en/agents/index.html +1925 -0
  21. package/docs/en/architecture/index.html +2187 -0
  22. package/docs/en/examples-and-fixtures/index.html +1888 -0
  23. package/docs/en/help/index.html +2035 -0
  24. package/docs/en/index.html +1895 -0
  25. package/docs/en/licensing/index.html +1917 -0
  26. package/docs/en/migration/index.html +2334 -0
  27. package/docs/en/quickstart/index.html +1919 -0
  28. package/docs/en/recipes/adapter-text-closure/index.html +2000 -0
  29. package/docs/en/recipes/adopt-existing-repository/index.html +1986 -0
  30. package/docs/en/recipes/deterministic-human-report/index.html +1998 -0
  31. package/docs/en/recipes/domain-schema-validation/index.html +2007 -0
  32. package/docs/en/recipes/durable-local-state/index.html +2009 -0
  33. package/docs/en/recipes/host-profile-integration/index.html +2001 -0
  34. package/docs/en/recipes/index.html +1876 -0
  35. package/docs/en/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
  36. package/docs/en/reference/api/index.html +1917 -0
  37. package/docs/en/reference/compatibility/index.html +1990 -0
  38. package/docs/en/reference/failure-and-side-effect-matrix/index.html +2216 -0
  39. package/docs/examples-and-fixtures/index.html +1871 -0
  40. package/docs/git-lifecycle/index.html +1508 -482
  41. package/docs/help/index.html +1655 -554
  42. package/docs/index.html +1479 -450
  43. package/docs/integration/audit/failure-evidence/index.html +1488 -462
  44. package/docs/integration/audit/independence/index.html +1513 -487
  45. package/docs/integration/audit/index.html +1514 -488
  46. package/docs/integration/audit/mutation-taxonomy/index.html +1548 -522
  47. package/docs/integration/audit/version-compatibility/index.html +1489 -463
  48. package/docs/licensing/index.html +1917 -0
  49. package/docs/migration/index.html +1678 -586
  50. package/docs/public/status/index.html +1542 -516
  51. package/docs/quickstart/index.html +1589 -539
  52. package/docs/recipes/adapter-text-closure/index.html +2000 -0
  53. package/docs/recipes/adopt-existing-repository/index.html +1986 -0
  54. package/docs/recipes/deterministic-human-report/index.html +1998 -0
  55. package/docs/recipes/domain-schema-validation/index.html +2007 -0
  56. package/docs/recipes/durable-local-state/index.html +2009 -0
  57. package/docs/recipes/host-profile-integration/index.html +2001 -0
  58. package/docs/recipes/index.html +1876 -0
  59. package/docs/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
  60. package/docs/reference/api/contracts/index.html +2532 -0
  61. package/docs/reference/api/engineering-kit/index.html +2551 -0
  62. package/docs/reference/api/harness/index.html +2608 -0
  63. package/docs/reference/api/index.html +1857 -0
  64. package/docs/reference/compatibility/index.html +1990 -0
  65. package/docs/reference/failure-and-side-effect-matrix/index.html +2216 -0
  66. package/docs/search/search_index.json +1 -1
  67. package/docs/setup/index.html +1494 -468
  68. package/docs/sitemap.xml +152 -0
  69. package/package.json +14 -4
  70. package/release-notes/0.2.1.yaml +23 -0
@@ -2,100 +2,100 @@
2
2
  <!doctype html>
3
3
  <html lang="zh" class="no-js">
4
4
  <head>
5
-
5
+
6
6
  <meta charset="utf-8">
7
7
  <meta name="viewport" content="width=device-width,initial-scale=1">
8
-
8
+
9
9
  <meta name="description" content="Skill Family 生命周期公共工程基础设施父工作区">
10
-
11
-
12
-
10
+
11
+
12
+
13
13
  <link rel="canonical" href="https://ifoohoo.github.io/skill-family-engineering-kit/architecture/">
14
-
15
-
14
+
15
+
16
16
  <link rel="prev" href="../help/">
17
-
18
-
17
+
18
+
19
19
  <link rel="next" href="../public/status/">
20
-
21
-
22
-
23
-
24
-
20
+
21
+
22
+
23
+
24
+
25
25
  <link rel="icon" href="../assets/images/favicon.png">
26
26
  <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
27
-
28
-
29
-
30
- <title>架构边界 - Skill Family Foundation</title>
31
-
32
-
33
-
27
+
28
+
29
+
30
+ <title>中文 · 架构边界 - Skill Family Foundation</title>
31
+
32
+
33
+
34
34
  <link rel="stylesheet" href="../assets/stylesheets/main.ec1eaa64.min.css">
35
-
36
-
35
+
36
+
37
37
  <link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
50
  <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
51
-
52
-
53
51
 
54
-
55
-
52
+
53
+
54
+
55
+
56
56
  </head>
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
66
  <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
67
-
68
-
67
+
68
+
69
69
  <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
70
70
  <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
71
71
  <label class="md-overlay" for="__drawer"></label>
72
72
  <div data-md-component="skip">
73
-
74
-
73
+
74
+
75
75
  <a href="#架构边界" class="md-skip">
76
76
  跳转至
77
77
  </a>
78
-
78
+
79
79
  </div>
80
80
  <div data-md-component="announce">
81
-
81
+
82
82
  </div>
83
-
84
-
85
-
86
83
 
87
-
84
+
85
+
86
+
87
+
88
88
 
89
89
  <header class="md-header md-header--shadow" data-md-component="header">
90
90
  <nav class="md-header__inner md-grid" aria-label="页眉">
91
91
  <a href=".." title="Skill Family Foundation" class="md-header__button md-logo" aria-label="Skill Family Foundation" data-md-component="logo">
92
-
93
-
92
+
93
+
94
94
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
95
95
 
96
96
  </a>
97
97
  <label class="md-header__button md-icon" for="__drawer">
98
-
98
+
99
99
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
100
100
  </label>
101
101
  <div class="md-header__title" data-md-component="header-title">
@@ -107,49 +107,49 @@
107
107
  </div>
108
108
  <div class="md-header__topic" data-md-component="header-topic">
109
109
  <span class="md-ellipsis">
110
-
111
- 架构边界
112
-
110
+
111
+ 中文 · 架构边界
112
+
113
113
  </span>
114
114
  </div>
115
115
  </div>
116
116
  </div>
117
-
118
-
117
+
118
+
119
119
  <form class="md-header__option" data-md-component="palette">
120
-
121
-
122
-
123
-
120
+
121
+
122
+
123
+
124
124
  <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="切换到深色模式" type="radio" name="__palette" id="__palette_0">
125
-
125
+
126
126
  <label class="md-header__button md-icon" title="切换到深色模式" for="__palette_1" hidden>
127
127
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
128
128
  </label>
129
-
130
-
131
-
132
-
133
-
129
+
130
+
131
+
132
+
133
+
134
134
  <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="切换到浅色模式" type="radio" name="__palette" id="__palette_1">
135
-
135
+
136
136
  <label class="md-header__button md-icon" title="切换到浅色模式" for="__palette_0" hidden>
137
137
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
138
138
  </label>
139
-
140
-
139
+
140
+
141
141
  </form>
142
-
143
-
144
-
142
+
143
+
144
+
145
145
  <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
146
-
147
-
148
-
149
-
150
-
146
+
147
+
148
+
149
+
150
+
151
151
  <label class="md-header__button md-icon" for="__search">
152
-
152
+
153
153
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
154
154
  </label>
155
155
  <div class="md-search" data-md-component="search" role="dialog">
@@ -158,19 +158,19 @@
158
158
  <form class="md-search__form" name="search">
159
159
  <input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
160
160
  <label class="md-search__icon md-icon" for="__search">
161
-
161
+
162
162
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
163
-
163
+
164
164
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
165
165
  </label>
166
166
  <nav class="md-search__options" aria-label="查找">
167
-
167
+
168
168
  <button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
169
-
169
+
170
170
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
171
171
  </button>
172
172
  </nav>
173
-
173
+
174
174
  </form>
175
175
  <div class="md-search__output">
176
176
  <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
@@ -184,641 +184,1759 @@
184
184
  </div>
185
185
  </div>
186
186
  </div>
187
-
188
-
189
-
187
+
188
+
189
+
190
190
  </nav>
191
-
191
+
192
192
  </header>
193
-
193
+
194
194
  <div class="md-container" data-md-component="container">
195
-
196
-
197
-
198
-
199
-
200
-
195
+
196
+
197
+
198
+
199
+
200
+
201
201
  <main class="md-main" data-md-component="main">
202
202
  <div class="md-main__inner md-grid">
203
-
204
-
205
-
203
+
204
+
205
+
206
206
  <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
207
207
  <div class="md-sidebar__scrollwrap">
208
208
  <div class="md-sidebar__inner">
209
-
209
+
210
210
 
211
211
 
212
212
 
213
213
  <nav class="md-nav md-nav--primary" aria-label="导航栏" data-md-level="0">
214
214
  <label class="md-nav__title" for="__drawer">
215
215
  <a href=".." title="Skill Family Foundation" class="md-nav__button md-logo" aria-label="Skill Family Foundation" data-md-component="logo">
216
-
217
-
216
+
217
+
218
218
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
219
219
 
220
220
  </a>
221
221
  Skill Family Foundation
222
222
  </label>
223
-
223
+
224
224
  <ul class="md-nav__list" data-md-scrollfix>
225
-
226
-
227
-
228
-
229
-
230
-
231
-
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
232
  <li class="md-nav__item">
233
233
  <a href=".." class="md-nav__link">
234
-
235
-
236
-
234
+
235
+
236
+
237
237
  <span class="md-ellipsis">
238
-
239
-
240
- 首页
241
-
242
238
 
243
-
239
+
240
+ 中文 · 首页
241
+
242
+
243
+
244
244
  </span>
245
-
246
-
245
+
246
+
247
247
 
248
248
  </a>
249
249
  </li>
250
-
251
250
 
252
-
253
-
254
-
255
-
256
-
257
-
258
-
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
259
  <li class="md-nav__item">
260
260
  <a href="../setup/" class="md-nav__link">
261
-
262
-
263
-
261
+
262
+
263
+
264
264
  <span class="md-ellipsis">
265
-
266
-
267
- 安装与环境
268
-
269
265
 
270
-
266
+
267
+ 中文 · 安装与环境
268
+
269
+
270
+
271
271
  </span>
272
-
273
-
272
+
273
+
274
274
 
275
275
  </a>
276
276
  </li>
277
-
278
277
 
279
-
280
-
281
-
282
-
283
-
284
-
285
-
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
286
  <li class="md-nav__item">
287
287
  <a href="../quickstart/" class="md-nav__link">
288
-
289
-
290
-
288
+
289
+
290
+
291
291
  <span class="md-ellipsis">
292
-
293
-
294
- 快速开始
295
-
296
292
 
297
-
293
+
294
+ 中文 · 快速开始
295
+
296
+
297
+
298
298
  </span>
299
-
300
-
299
+
300
+
301
301
 
302
302
  </a>
303
303
  </li>
304
-
305
304
 
306
-
307
-
308
-
309
-
310
-
311
-
312
-
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
313
  <li class="md-nav__item">
314
314
  <a href="../git-lifecycle/" class="md-nav__link">
315
-
316
-
317
-
315
+
316
+
317
+
318
318
  <span class="md-ellipsis">
319
-
320
-
321
- Git 生命周期指南
322
-
323
319
 
324
-
320
+
321
+ 中文 · Git 生命周期指南
322
+
323
+
324
+
325
325
  </span>
326
-
327
-
326
+
327
+
328
328
 
329
329
  </a>
330
330
  </li>
331
-
332
331
 
333
-
334
-
335
-
336
-
337
-
338
-
339
-
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
340
  <li class="md-nav__item">
341
341
  <a href="../help/" class="md-nav__link">
342
-
343
-
344
-
342
+
343
+
344
+
345
345
  <span class="md-ellipsis">
346
-
347
-
348
- 能力与诊断
349
-
350
346
 
351
-
347
+
348
+ 中文 · 能力与诊断
349
+
350
+
351
+
352
352
  </span>
353
-
354
-
353
+
354
+
355
355
 
356
356
  </a>
357
357
  </li>
358
-
359
358
 
360
-
361
-
362
-
363
-
364
-
365
-
366
-
367
-
368
-
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
369
  <li class="md-nav__item md-nav__item--active">
370
-
370
+
371
371
  <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
372
-
373
-
374
-
375
-
376
-
372
+
373
+
374
+
375
+
376
+
377
377
  <label class="md-nav__link md-nav__link--active" for="__toc">
378
-
379
-
380
-
378
+
379
+
380
+
381
381
  <span class="md-ellipsis">
382
-
383
-
384
- 架构边界
385
-
386
382
 
387
-
383
+
384
+ 中文 · 架构边界
385
+
386
+
387
+
388
388
  </span>
389
-
390
-
389
+
390
+
391
391
 
392
392
  <span class="md-nav__icon md-icon"></span>
393
393
  </label>
394
-
394
+
395
395
  <a href="./" class="md-nav__link md-nav__link--active">
396
-
397
-
398
-
396
+
397
+
398
+
399
399
  <span class="md-ellipsis">
400
-
401
-
402
- 架构边界
403
-
404
400
 
405
-
401
+
402
+ 中文 · 架构边界
403
+
404
+
405
+
406
406
  </span>
407
-
408
-
407
+
408
+
409
409
 
410
410
  </a>
411
-
412
-
411
+
412
+
413
413
 
414
414
  <nav class="md-nav md-nav--secondary" aria-label="目录">
415
-
416
-
417
-
418
-
419
-
420
-
415
+
416
+
417
+
418
+
419
+
420
+
421
421
  <label class="md-nav__title" for="__toc">
422
422
  <span class="md-nav__icon md-icon"></span>
423
423
  目录
424
424
  </label>
425
425
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
426
-
426
+
427
427
  <li class="md-nav__item">
428
428
  <a href="#分层" class="md-nav__link">
429
429
  <span class="md-ellipsis">
430
-
430
+
431
431
  分层
432
-
432
+
433
433
  </span>
434
434
  </a>
435
-
435
+
436
436
  </li>
437
-
437
+
438
438
  <li class="md-nav__item">
439
- <a href="#下一阶段能力线架构-hand-off" class="md-nav__link">
439
+ <a href="#职责矩阵" class="md-nav__link">
440
440
  <span class="md-ellipsis">
441
-
442
- 下一阶段能力线(架构 hand-off)
443
-
441
+
442
+ 职责矩阵
443
+
444
444
  </span>
445
445
  </a>
446
-
446
+
447
447
  </li>
448
-
448
+
449
449
  <li class="md-nav__item">
450
- <a href="#唯一权威" class="md-nav__link">
450
+ <a href="#能力归属算法" class="md-nav__link">
451
451
  <span class="md-ellipsis">
452
-
453
- 唯一权威
454
-
452
+
453
+ 能力归属算法
454
+
455
455
  </span>
456
456
  </a>
457
-
457
+
458
458
  </li>
459
-
459
+
460
460
  <li class="md-nav__item">
461
- <a href="#首版预算" class="md-nav__link">
461
+ <a href="#信任与副作用边界" class="md-nav__link">
462
462
  <span class="md-ellipsis">
463
-
464
- 首版预算
465
-
463
+
464
+ 信任与副作用边界
465
+
466
466
  </span>
467
467
  </a>
468
-
468
+
469
469
  </li>
470
-
470
+
471
+ <li class="md-nav__item">
472
+ <a href="#架构决策树" class="md-nav__link">
473
+ <span class="md-ellipsis">
474
+
475
+ 架构决策树
476
+
477
+ </span>
478
+ </a>
479
+
480
+ </li>
481
+
482
+ <li class="md-nav__item">
483
+ <a href="#与外部项目的路由关系" class="md-nav__link">
484
+ <span class="md-ellipsis">
485
+
486
+ 与外部项目的路由关系
487
+
488
+ </span>
489
+ </a>
490
+
491
+ </li>
492
+
493
+ <li class="md-nav__item">
494
+ <a href="#下一阶段能力线架构-hand-off" class="md-nav__link">
495
+ <span class="md-ellipsis">
496
+
497
+ 下一阶段能力线(架构 hand-off)
498
+
499
+ </span>
500
+ </a>
501
+
502
+ </li>
503
+
504
+ <li class="md-nav__item">
505
+ <a href="#首版预算" class="md-nav__link">
506
+ <span class="md-ellipsis">
507
+
508
+ 首版预算
509
+
510
+ </span>
511
+ </a>
512
+
513
+ </li>
514
+
471
515
  <li class="md-nav__item">
472
516
  <a href="#机器真源与文件分类" class="md-nav__link">
473
517
  <span class="md-ellipsis">
474
-
518
+
475
519
  机器真源与文件分类
476
-
520
+
477
521
  </span>
478
522
  </a>
479
-
523
+
480
524
  </li>
481
-
525
+
482
526
  <li class="md-nav__item">
483
527
  <a href="#文档系统与事实检查" class="md-nav__link">
484
528
  <span class="md-ellipsis">
485
-
529
+
486
530
  文档系统与事实检查
487
-
531
+
488
532
  </span>
489
533
  </a>
490
-
534
+
491
535
  </li>
492
-
536
+
493
537
  <li class="md-nav__item">
494
538
  <a href="#稳定产品门禁" class="md-nav__link">
495
539
  <span class="md-ellipsis">
496
-
540
+
497
541
  稳定产品门禁
498
-
542
+
499
543
  </span>
500
544
  </a>
501
-
545
+
502
546
  </li>
503
-
547
+
504
548
  </ul>
505
-
549
+
506
550
  </nav>
507
-
551
+
552
+ </li>
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+ <li class="md-nav__item">
563
+ <a href="../public/status/" class="md-nav__link">
564
+
565
+
566
+
567
+ <span class="md-ellipsis">
568
+
569
+
570
+ 中文 · 公开状态
571
+
572
+
573
+
574
+ </span>
575
+
576
+
577
+
578
+ </a>
579
+ </li>
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+ <li class="md-nav__item">
590
+ <a href="../migration/" class="md-nav__link">
591
+
592
+
593
+
594
+ <span class="md-ellipsis">
595
+
596
+
597
+ 中文 · 存量采用与迁移
598
+
599
+
600
+
601
+ </span>
602
+
603
+
604
+
605
+ </a>
606
+ </li>
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+ <li class="md-nav__item">
617
+ <a href="../licensing/" class="md-nav__link">
618
+
619
+
620
+
621
+ <span class="md-ellipsis">
622
+
623
+
624
+ 中文 · 许可与署名
625
+
626
+
627
+
628
+ </span>
629
+
630
+
631
+
632
+ </a>
633
+ </li>
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+ <li class="md-nav__item">
644
+ <a href="../agents/" class="md-nav__link">
645
+
646
+
647
+
648
+ <span class="md-ellipsis">
649
+
650
+
651
+ 中文 · 智能体入口
652
+
653
+
654
+
655
+ </span>
656
+
657
+
658
+
659
+ </a>
660
+ </li>
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+ <li class="md-nav__item">
671
+ <a href="../agents/architecture-routing/" class="md-nav__link">
672
+
673
+
674
+
675
+ <span class="md-ellipsis">
676
+
677
+
678
+ 中文 · 架构路由
679
+
680
+
681
+
682
+ </span>
683
+
684
+
685
+
686
+ </a>
687
+ </li>
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+ <li class="md-nav__item">
698
+ <a href="../reference/compatibility/" class="md-nav__link">
699
+
700
+
701
+
702
+ <span class="md-ellipsis">
703
+
704
+
705
+ 中文 · 兼容性
706
+
707
+
708
+
709
+ </span>
710
+
711
+
712
+
713
+ </a>
714
+ </li>
715
+
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+ <li class="md-nav__item">
725
+ <a href="../reference/failure-and-side-effect-matrix/" class="md-nav__link">
726
+
727
+
728
+
729
+ <span class="md-ellipsis">
730
+
731
+
732
+ 中文 · 失败与副作用
733
+
734
+
735
+
736
+ </span>
737
+
738
+
739
+
740
+ </a>
508
741
  </li>
509
-
510
742
 
511
-
512
-
513
-
514
-
515
-
516
-
517
-
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+ <li class="md-nav__item">
752
+ <a href="../reference/api/" class="md-nav__link">
753
+
754
+
755
+
756
+ <span class="md-ellipsis">
757
+
758
+
759
+ 中文 · API 参考
760
+
761
+
762
+
763
+ </span>
764
+
765
+
766
+
767
+ </a>
768
+ </li>
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+ <li class="md-nav__item">
779
+ <a href="../reference/api/contracts/" class="md-nav__link">
780
+
781
+
782
+
783
+ <span class="md-ellipsis">
784
+
785
+
786
+ 中文 · Contracts API
787
+
788
+
789
+
790
+ </span>
791
+
792
+
793
+
794
+ </a>
795
+ </li>
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+ <li class="md-nav__item">
806
+ <a href="../reference/api/harness/" class="md-nav__link">
807
+
808
+
809
+
810
+ <span class="md-ellipsis">
811
+
812
+
813
+ 中文 · Harness API
814
+
815
+
816
+
817
+ </span>
818
+
819
+
820
+
821
+ </a>
822
+ </li>
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+ <li class="md-nav__item">
833
+ <a href="../reference/api/engineering-kit/" class="md-nav__link">
834
+
835
+
836
+
837
+ <span class="md-ellipsis">
838
+
839
+
840
+ 中文 · Engineering Kit API
841
+
842
+
843
+
844
+ </span>
845
+
846
+
847
+
848
+ </a>
849
+ </li>
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+ <li class="md-nav__item">
860
+ <a href="../examples-and-fixtures/" class="md-nav__link">
861
+
862
+
863
+
864
+ <span class="md-ellipsis">
865
+
866
+
867
+ 中文 · 样例与 Fixture
868
+
869
+
870
+
871
+ </span>
872
+
873
+
874
+
875
+ </a>
876
+ </li>
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+ <li class="md-nav__item">
887
+ <a href="../recipes/" class="md-nav__link">
888
+
889
+
890
+
891
+ <span class="md-ellipsis">
892
+
893
+
894
+ 中文 · Recipes
895
+
896
+
897
+
898
+ </span>
899
+
900
+
901
+
902
+ </a>
903
+ </li>
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+ <li class="md-nav__item">
914
+ <a href="../recipes/adopt-existing-repository/" class="md-nav__link">
915
+
916
+
917
+
918
+ <span class="md-ellipsis">
919
+
920
+
921
+ 中文 · 采用存量仓库
922
+
923
+
924
+
925
+ </span>
926
+
927
+
928
+
929
+ </a>
930
+ </li>
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+ <li class="md-nav__item">
941
+ <a href="../recipes/safe-filesystem-and-atomic-write/" class="md-nav__link">
942
+
943
+
944
+
945
+ <span class="md-ellipsis">
946
+
947
+
948
+ 中文 · 安全文件系统与原子写
949
+
950
+
951
+
952
+ </span>
953
+
954
+
955
+
956
+ </a>
957
+ </li>
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+ <li class="md-nav__item">
968
+ <a href="../recipes/adapter-text-closure/" class="md-nav__link">
969
+
970
+
971
+
972
+ <span class="md-ellipsis">
973
+
974
+
975
+ 中文 · Adapter 文本闭包
976
+
977
+
978
+
979
+ </span>
980
+
981
+
982
+
983
+ </a>
984
+ </li>
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+ <li class="md-nav__item">
995
+ <a href="../recipes/deterministic-human-report/" class="md-nav__link">
996
+
997
+
998
+
999
+ <span class="md-ellipsis">
1000
+
1001
+
1002
+ 中文 · 确定性人类报告
1003
+
1004
+
1005
+
1006
+ </span>
1007
+
1008
+
1009
+
1010
+ </a>
1011
+ </li>
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+ <li class="md-nav__item">
1022
+ <a href="../recipes/durable-local-state/" class="md-nav__link">
1023
+
1024
+
1025
+
1026
+ <span class="md-ellipsis">
1027
+
1028
+
1029
+ 中文 · 持久本地状态
1030
+
1031
+
1032
+
1033
+ </span>
1034
+
1035
+
1036
+
1037
+ </a>
1038
+ </li>
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+ <li class="md-nav__item">
1049
+ <a href="../recipes/host-profile-integration/" class="md-nav__link">
1050
+
1051
+
1052
+
1053
+ <span class="md-ellipsis">
1054
+
1055
+
1056
+ 中文 · 宿主 Profile 集成
1057
+
1058
+
1059
+
1060
+ </span>
1061
+
1062
+
1063
+
1064
+ </a>
1065
+ </li>
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+ <li class="md-nav__item">
1076
+ <a href="../recipes/domain-schema-validation/" class="md-nav__link">
1077
+
1078
+
1079
+
1080
+ <span class="md-ellipsis">
1081
+
1082
+
1083
+ 中文 · 领域 Schema 校验
1084
+
1085
+
1086
+
1087
+ </span>
1088
+
1089
+
1090
+
1091
+ </a>
1092
+ </li>
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+ <li class="md-nav__item">
1103
+ <a href="../en/" class="md-nav__link">
1104
+
1105
+
1106
+
1107
+ <span class="md-ellipsis">
1108
+
1109
+
1110
+ English · Home
1111
+
1112
+
1113
+
1114
+ </span>
1115
+
1116
+
1117
+
1118
+ </a>
1119
+ </li>
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+ <li class="md-nav__item">
1130
+ <a href="../en/quickstart/" class="md-nav__link">
1131
+
1132
+
1133
+
1134
+ <span class="md-ellipsis">
1135
+
1136
+
1137
+ English · Quickstart
1138
+
1139
+
1140
+
1141
+ </span>
1142
+
1143
+
1144
+
1145
+ </a>
1146
+ </li>
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+ <li class="md-nav__item">
1157
+ <a href="../en/help/" class="md-nav__link">
1158
+
1159
+
1160
+
1161
+ <span class="md-ellipsis">
1162
+
1163
+
1164
+ English · Capabilities and diagnostics
1165
+
1166
+
1167
+
1168
+ </span>
1169
+
1170
+
1171
+
1172
+ </a>
1173
+ </li>
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+ <li class="md-nav__item">
1184
+ <a href="../en/architecture/" class="md-nav__link">
1185
+
1186
+
1187
+
1188
+ <span class="md-ellipsis">
1189
+
1190
+
1191
+ English · Architecture
1192
+
1193
+
1194
+
1195
+ </span>
1196
+
1197
+
1198
+
1199
+ </a>
1200
+ </li>
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+ <li class="md-nav__item">
1211
+ <a href="../en/migration/" class="md-nav__link">
1212
+
1213
+
1214
+
1215
+ <span class="md-ellipsis">
1216
+
1217
+
1218
+ English · Migration
1219
+
1220
+
1221
+
1222
+ </span>
1223
+
1224
+
1225
+
1226
+ </a>
1227
+ </li>
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+ <li class="md-nav__item">
1238
+ <a href="../en/licensing/" class="md-nav__link">
1239
+
1240
+
1241
+
1242
+ <span class="md-ellipsis">
1243
+
1244
+
1245
+ English · Licensing
1246
+
1247
+
1248
+
1249
+ </span>
1250
+
1251
+
1252
+
1253
+ </a>
1254
+ </li>
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+ <li class="md-nav__item">
1265
+ <a href="../en/agents/" class="md-nav__link">
1266
+
1267
+
1268
+
1269
+ <span class="md-ellipsis">
1270
+
1271
+
1272
+ English · Agent entry
1273
+
1274
+
1275
+
1276
+ </span>
1277
+
1278
+
1279
+
1280
+ </a>
1281
+ </li>
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+ <li class="md-nav__item">
1292
+ <a href="../en/agents/architecture-routing/" class="md-nav__link">
1293
+
1294
+
1295
+
1296
+ <span class="md-ellipsis">
1297
+
1298
+
1299
+ English · Architecture routing
1300
+
1301
+
1302
+
1303
+ </span>
1304
+
1305
+
1306
+
1307
+ </a>
1308
+ </li>
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+ <li class="md-nav__item">
1319
+ <a href="../en/reference/compatibility/" class="md-nav__link">
1320
+
1321
+
1322
+
1323
+ <span class="md-ellipsis">
1324
+
1325
+
1326
+ English · Compatibility
1327
+
1328
+
1329
+
1330
+ </span>
1331
+
1332
+
1333
+
1334
+ </a>
1335
+ </li>
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+ <li class="md-nav__item">
1346
+ <a href="../en/reference/failure-and-side-effect-matrix/" class="md-nav__link">
1347
+
1348
+
1349
+
1350
+ <span class="md-ellipsis">
1351
+
1352
+
1353
+ English · Failures and side effects
1354
+
1355
+
1356
+
1357
+ </span>
1358
+
1359
+
1360
+
1361
+ </a>
1362
+ </li>
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+ <li class="md-nav__item">
1373
+ <a href="../en/reference/api/" class="md-nav__link">
1374
+
1375
+
1376
+
1377
+ <span class="md-ellipsis">
1378
+
1379
+
1380
+ English · API reference
1381
+
1382
+
1383
+
1384
+ </span>
1385
+
1386
+
1387
+
1388
+ </a>
1389
+ </li>
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+ <li class="md-nav__item">
1400
+ <a href="../en/examples-and-fixtures/" class="md-nav__link">
1401
+
1402
+
1403
+
1404
+ <span class="md-ellipsis">
1405
+
1406
+
1407
+ English · Examples and fixtures
1408
+
1409
+
1410
+
1411
+ </span>
1412
+
1413
+
1414
+
1415
+ </a>
1416
+ </li>
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+ <li class="md-nav__item">
1427
+ <a href="../en/recipes/" class="md-nav__link">
1428
+
1429
+
1430
+
1431
+ <span class="md-ellipsis">
1432
+
1433
+
1434
+ English · Recipes
1435
+
1436
+
1437
+
1438
+ </span>
1439
+
1440
+
1441
+
1442
+ </a>
1443
+ </li>
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+
1452
+
1453
+ <li class="md-nav__item">
1454
+ <a href="../en/recipes/adopt-existing-repository/" class="md-nav__link">
1455
+
1456
+
1457
+
1458
+ <span class="md-ellipsis">
1459
+
1460
+
1461
+ English · Adopt an existing repository
1462
+
1463
+
1464
+
1465
+ </span>
1466
+
1467
+
1468
+
1469
+ </a>
1470
+ </li>
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+ <li class="md-nav__item">
1481
+ <a href="../en/recipes/safe-filesystem-and-atomic-write/" class="md-nav__link">
1482
+
1483
+
1484
+
1485
+ <span class="md-ellipsis">
1486
+
1487
+
1488
+ English · Safe filesystem and atomic write
1489
+
1490
+
1491
+
1492
+ </span>
1493
+
1494
+
1495
+
1496
+ </a>
1497
+ </li>
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+ <li class="md-nav__item">
1508
+ <a href="../en/recipes/adapter-text-closure/" class="md-nav__link">
1509
+
1510
+
1511
+
1512
+ <span class="md-ellipsis">
1513
+
1514
+
1515
+ English · Adapter text closure
1516
+
1517
+
1518
+
1519
+ </span>
1520
+
1521
+
1522
+
1523
+ </a>
1524
+ </li>
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+ <li class="md-nav__item">
1535
+ <a href="../en/recipes/deterministic-human-report/" class="md-nav__link">
1536
+
1537
+
1538
+
1539
+ <span class="md-ellipsis">
1540
+
1541
+
1542
+ English · Deterministic human report
1543
+
1544
+
1545
+
1546
+ </span>
1547
+
1548
+
1549
+
1550
+ </a>
1551
+ </li>
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+ <li class="md-nav__item">
1562
+ <a href="../en/recipes/durable-local-state/" class="md-nav__link">
1563
+
1564
+
1565
+
1566
+ <span class="md-ellipsis">
1567
+
1568
+
1569
+ English · Durable local state
1570
+
1571
+
1572
+
1573
+ </span>
1574
+
1575
+
1576
+
1577
+ </a>
1578
+ </li>
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
518
1588
  <li class="md-nav__item">
519
- <a href="../public/status/" class="md-nav__link">
520
-
521
-
522
-
1589
+ <a href="../en/recipes/host-profile-integration/" class="md-nav__link">
1590
+
1591
+
1592
+
523
1593
  <span class="md-ellipsis">
524
-
525
-
526
- 公开状态
527
-
528
1594
 
529
-
1595
+
1596
+ English · Host Profile integration
1597
+
1598
+
1599
+
530
1600
  </span>
531
-
532
-
1601
+
1602
+
533
1603
 
534
1604
  </a>
535
1605
  </li>
536
-
537
1606
 
538
-
539
-
540
-
541
-
542
-
543
-
544
-
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
545
1615
  <li class="md-nav__item">
546
- <a href="../migration/" class="md-nav__link">
547
-
548
-
549
-
1616
+ <a href="../en/recipes/domain-schema-validation/" class="md-nav__link">
1617
+
1618
+
1619
+
550
1620
  <span class="md-ellipsis">
551
-
552
-
553
- 存量采用与迁移
554
-
555
1621
 
556
-
1622
+
1623
+ English · Domain Schema validation
1624
+
1625
+
1626
+
557
1627
  </span>
558
-
559
-
1628
+
1629
+
560
1630
 
561
1631
  </a>
562
1632
  </li>
563
-
564
1633
 
565
-
566
-
567
-
568
-
569
-
570
-
571
-
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
572
1642
  <li class="md-nav__item">
573
1643
  <a href="../integration/audit/" class="md-nav__link">
574
-
575
-
576
-
1644
+
1645
+
1646
+
577
1647
  <span class="md-ellipsis">
578
-
579
-
580
- 独立审计集成
581
-
582
1648
 
583
-
1649
+
1650
+ 审计集成 · 入口
1651
+
1652
+
1653
+
584
1654
  </span>
585
-
586
-
1655
+
1656
+
587
1657
 
588
1658
  </a>
589
1659
  </li>
590
-
591
1660
 
592
-
593
-
594
-
595
-
596
-
597
-
598
-
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
599
1669
  <li class="md-nav__item">
600
1670
  <a href="../integration/audit/mutation-taxonomy/" class="md-nav__link">
601
-
602
-
603
-
1671
+
1672
+
1673
+
604
1674
  <span class="md-ellipsis">
605
-
606
-
607
- 审计变异分类学
608
-
609
1675
 
610
-
1676
+
1677
+ 审计集成 · 变异分类学
1678
+
1679
+
1680
+
611
1681
  </span>
612
-
613
-
1682
+
1683
+
614
1684
 
615
1685
  </a>
616
1686
  </li>
617
-
618
1687
 
619
-
620
-
621
-
622
-
623
-
624
-
625
-
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
626
1696
  <li class="md-nav__item">
627
1697
  <a href="../integration/audit/independence/" class="md-nav__link">
628
-
629
-
630
-
1698
+
1699
+
1700
+
631
1701
  <span class="md-ellipsis">
632
-
633
-
634
- 审计独立性证明
635
-
636
1702
 
637
-
1703
+
1704
+ 审计集成 · 独立性证明
1705
+
1706
+
1707
+
638
1708
  </span>
639
-
640
-
1709
+
1710
+
641
1711
 
642
1712
  </a>
643
1713
  </li>
644
-
645
1714
 
646
-
647
-
648
-
649
-
650
-
651
-
652
-
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
653
1723
  <li class="md-nav__item">
654
1724
  <a href="../integration/audit/version-compatibility/" class="md-nav__link">
655
-
656
-
657
-
1725
+
1726
+
1727
+
658
1728
  <span class="md-ellipsis">
659
-
660
-
661
- 审计版本兼容定义
662
-
663
1729
 
664
-
1730
+
1731
+ 审计集成 · 版本兼容
1732
+
1733
+
1734
+
665
1735
  </span>
666
-
667
-
1736
+
1737
+
668
1738
 
669
1739
  </a>
670
1740
  </li>
671
-
672
1741
 
673
-
674
-
675
-
676
-
677
-
678
-
679
-
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
680
1750
  <li class="md-nav__item">
681
1751
  <a href="../integration/audit/failure-evidence/" class="md-nav__link">
682
-
683
-
684
-
1752
+
1753
+
1754
+
685
1755
  <span class="md-ellipsis">
686
-
687
-
688
- 审计失败证据与 AUD 码
689
-
690
1756
 
691
-
1757
+
1758
+ 审计集成 · 失败证据与 AUD 码
1759
+
1760
+
1761
+
692
1762
  </span>
693
-
694
-
1763
+
1764
+
695
1765
 
696
1766
  </a>
697
1767
  </li>
698
-
699
1768
 
700
-
1769
+
1770
+
701
1771
  </ul>
702
1772
  </nav>
703
1773
  </div>
704
1774
  </div>
705
1775
  </div>
706
-
707
-
708
-
1776
+
1777
+
1778
+
709
1779
  <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
710
1780
  <div class="md-sidebar__scrollwrap">
711
1781
  <div class="md-sidebar__inner">
712
-
1782
+
713
1783
 
714
1784
  <nav class="md-nav md-nav--secondary" aria-label="目录">
715
-
716
-
717
-
718
-
719
-
720
-
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
721
1791
  <label class="md-nav__title" for="__toc">
722
1792
  <span class="md-nav__icon md-icon"></span>
723
1793
  目录
724
1794
  </label>
725
1795
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
726
-
1796
+
727
1797
  <li class="md-nav__item">
728
1798
  <a href="#分层" class="md-nav__link">
729
1799
  <span class="md-ellipsis">
730
-
1800
+
731
1801
  分层
732
-
1802
+
733
1803
  </span>
734
1804
  </a>
735
-
1805
+
736
1806
  </li>
737
-
1807
+
738
1808
  <li class="md-nav__item">
739
- <a href="#下一阶段能力线架构-hand-off" class="md-nav__link">
1809
+ <a href="#职责矩阵" class="md-nav__link">
740
1810
  <span class="md-ellipsis">
741
-
742
- 下一阶段能力线(架构 hand-off)
743
-
1811
+
1812
+ 职责矩阵
1813
+
1814
+ </span>
1815
+ </a>
1816
+
1817
+ </li>
1818
+
1819
+ <li class="md-nav__item">
1820
+ <a href="#能力归属算法" class="md-nav__link">
1821
+ <span class="md-ellipsis">
1822
+
1823
+ 能力归属算法
1824
+
1825
+ </span>
1826
+ </a>
1827
+
1828
+ </li>
1829
+
1830
+ <li class="md-nav__item">
1831
+ <a href="#信任与副作用边界" class="md-nav__link">
1832
+ <span class="md-ellipsis">
1833
+
1834
+ 信任与副作用边界
1835
+
1836
+ </span>
1837
+ </a>
1838
+
1839
+ </li>
1840
+
1841
+ <li class="md-nav__item">
1842
+ <a href="#架构决策树" class="md-nav__link">
1843
+ <span class="md-ellipsis">
1844
+
1845
+ 架构决策树
1846
+
1847
+ </span>
1848
+ </a>
1849
+
1850
+ </li>
1851
+
1852
+ <li class="md-nav__item">
1853
+ <a href="#与外部项目的路由关系" class="md-nav__link">
1854
+ <span class="md-ellipsis">
1855
+
1856
+ 与外部项目的路由关系
1857
+
744
1858
  </span>
745
1859
  </a>
746
-
1860
+
747
1861
  </li>
748
-
1862
+
749
1863
  <li class="md-nav__item">
750
- <a href="#唯一权威" class="md-nav__link">
1864
+ <a href="#下一阶段能力线架构-hand-off" class="md-nav__link">
751
1865
  <span class="md-ellipsis">
752
-
753
- 唯一权威
754
-
1866
+
1867
+ 下一阶段能力线(架构 hand-off)
1868
+
755
1869
  </span>
756
1870
  </a>
757
-
1871
+
758
1872
  </li>
759
-
1873
+
760
1874
  <li class="md-nav__item">
761
1875
  <a href="#首版预算" class="md-nav__link">
762
1876
  <span class="md-ellipsis">
763
-
1877
+
764
1878
  首版预算
765
-
1879
+
766
1880
  </span>
767
1881
  </a>
768
-
1882
+
769
1883
  </li>
770
-
1884
+
771
1885
  <li class="md-nav__item">
772
1886
  <a href="#机器真源与文件分类" class="md-nav__link">
773
1887
  <span class="md-ellipsis">
774
-
1888
+
775
1889
  机器真源与文件分类
776
-
1890
+
777
1891
  </span>
778
1892
  </a>
779
-
1893
+
780
1894
  </li>
781
-
1895
+
782
1896
  <li class="md-nav__item">
783
1897
  <a href="#文档系统与事实检查" class="md-nav__link">
784
1898
  <span class="md-ellipsis">
785
-
1899
+
786
1900
  文档系统与事实检查
787
-
1901
+
788
1902
  </span>
789
1903
  </a>
790
-
1904
+
791
1905
  </li>
792
-
1906
+
793
1907
  <li class="md-nav__item">
794
1908
  <a href="#稳定产品门禁" class="md-nav__link">
795
1909
  <span class="md-ellipsis">
796
-
1910
+
797
1911
  稳定产品门禁
798
-
1912
+
799
1913
  </span>
800
1914
  </a>
801
-
1915
+
802
1916
  </li>
803
-
1917
+
804
1918
  </ul>
805
-
1919
+
806
1920
  </nav>
807
1921
  </div>
808
1922
  </div>
809
1923
  </div>
810
-
811
-
812
-
1924
+
1925
+
1926
+
813
1927
  <div class="md-content" data-md-component="content">
814
-
1928
+
815
1929
  <article class="md-content__inner md-typeset">
816
-
817
-
818
1930
 
819
1931
 
820
1932
 
1933
+
1934
+
1935
+ <blockquote>
1936
+ <p><a href="../en/architecture/">English</a></p>
1937
+ </blockquote>
821
1938
  <h1 id="架构边界">架构边界<a class="headerlink" href="#架构边界" title="Permanent link">&para;</a></h1>
1939
+ <p>本页是 Skill Family Foundation 面向使用者的稳定架构投影。它只解释结构、职责、边界与路由,不承载动态发布状态(发布状态只由 <code>docs/status/current.md</code> 记录,且经 <code>scripts/docs/fact-check.mjs</code> 机械校验)。所有版本、命令、包数、支持状态都从机器真源复算。</p>
822
1940
  <h2 id="分层">分层<a class="headerlink" href="#分层" title="Permanent link">&para;</a></h2>
823
1941
  <p>2026-08-09 架构 hand-off(FND-ADR-001~007,active,见 <code>artifacts/decisions/</code>)确立的分层:纵向依赖链四层,横向能力挂接,不新增纵层。</p>
824
1942
  <pre><code class="language-text">技能族业务(各产品仓:release-skill、loop-agent、skill-eval 等)
@@ -841,24 +1959,115 @@ Contracts(结构、协议、错误码、协议名登记)
841
1959
  - Artifact Graph `artifacts/` 架构制品体系,门禁为 check:artifacts
842
1960
  </code></pre>
843
1961
  <p>箭头指向被依赖方。公共核心不得反向依赖具体 Profile 或具体技能族;新能力的依赖方向落位见 <code>artifacts/design/FND-DES-001.md</code>,逐资产归属见 FND-ADR-002。</p>
1962
+ <h2 id="职责矩阵">职责矩阵<a class="headerlink" href="#职责矩阵" title="Permanent link">&para;</a></h2>
1963
+ <p>每个分层只承担下表列出的职责,越界能力一律由外部项目或消费者拥有。</p>
1964
+ <table>
1965
+ <thead>
1966
+ <tr>
1967
+ <th>分层</th>
1968
+ <th>拥有</th>
1969
+ <th>不拥有(落在别处)</th>
1970
+ </tr>
1971
+ </thead>
1972
+ <tbody>
1973
+ <tr>
1974
+ <td>Contracts</td>
1975
+ <td>结构、协议、错误码、协议名登记;18 类顶层对象;9 条 mandatory rule</td>
1976
+ <td>业务字段语义、领域审计、远端写入、模型生成</td>
1977
+ </tr>
1978
+ <tr>
1979
+ <td>Harness</td>
1980
+ <td>Contracts 的 Node 机制实现;路径收容、原子写、闭包、请求处理、报告渲染、宿主接入机制、状态底座</td>
1981
+ <td>业务语义、workflow 编排、模型调用、git 写、网络远端</td>
1982
+ </tr>
1983
+ <tr>
1984
+ <td>Engineering Kit</td>
1985
+ <td>四个工程命令及其只读/受限写入边界;host 子动作注入具体 Profile</td>
1986
+ <td>自动修复、自动迁移、远端发布、第 5 个命令</td>
1987
+ </tr>
1988
+ <tr>
1989
+ <td>Profile</td>
1990
+ <td>宿主与项目形态差异的声明式 SPI;只实现稳定 SPI</td>
1991
+ <td>业务语义、可执行脚本入口、公共核心变更</td>
1992
+ </tr>
1993
+ <tr>
1994
+ <td>release-skill</td>
1995
+ <td>发布状态与全部远端写入</td>
1996
+ <td>Foundation 不含任何 publish/remote-write 入口</td>
1997
+ </tr>
1998
+ <tr>
1999
+ <td>loop-agent</td>
2000
+ <td>任务、重试、返工、验收、自迭代</td>
2001
+ <td>Foundation 不定义 workflow 状态机</td>
2002
+ </tr>
2003
+ <tr>
2004
+ <td>Artifact Graph</td>
2005
+ <td>制品关系、context、packet、version-lock</td>
2006
+ <td>Foundation 不拥有制品图</td>
2007
+ </tr>
2008
+ <tr>
2009
+ <td>Audit</td>
2010
+ <td>独立 fixture、预期值、裁决</td>
2011
+ <td>领域语义结论由外部审阅拥有</td>
2012
+ </tr>
2013
+ </tbody>
2014
+ </table>
2015
+ <h2 id="能力归属算法">能力归属算法<a class="headerlink" href="#能力归属算法" title="Permanent link">&para;</a></h2>
2016
+ <p>给一个架构需求,按下面顺序判定归属,命中即停:</p>
2017
+ <ol>
2018
+ <li>含领域语义、业务状态机或审计 oracle → 留在消费者,只接业务中立机制。</li>
2019
+ <li>是结构、协议、稳定错误码或对象 Schema → Contracts。</li>
2020
+ <li>是跨技能族可复用的 Node 机制 → Harness。</li>
2021
+ <li>是 scaffold/adopt-plan/projection/check 或具体 host Profile 注入 → Kit / Profile。</li>
2022
+ <li>涉及发布远端状态 → release-skill。</li>
2023
+ <li>涉及任务/重试/返工/验收 → loop-agent。</li>
2024
+ <li>涉及制品关系/版本锁 → artifact-graph。</li>
2025
+ <li>只有一个消费者或尚未证明跨两个真实消费者重复 → 留在消费者,不扩张 Foundation。</li>
2026
+ </ol>
2027
+ <p>第 8 步是扩张闸门:新增组件必须说明删除它会让两个以上真实消费者重复实现,并经独立 fixture 验证。机器可读版见 <code>docs/agents/architecture-routing.md</code>。</p>
2028
+ <h2 id="信任与副作用边界">信任与副作用边界<a class="headerlink" href="#信任与副作用边界" title="Permanent link">&para;</a></h2>
2029
+ <p>Foundation 的信任前提与副作用约定按层固化,调用方据此判断风险:</p>
2030
+ <ul>
2031
+ <li><strong>Contracts</strong>:纯函数,无文件/Git/网络/进程副作用;错误码冻结不漂移(<code>foundation.contracts.error-codes</code>)。</li>
2032
+ <li><strong>Harness</strong>:机制层只在受收容路径内读写;<code>HARNESS_EXCLUSIONS</code> 排除 release-state、remote-network-access、business-semantics、workflow-orchestration、model-calls、git-writes(<code>foundation.harness.errors</code>)。</li>
2033
+ <li><strong>Engineering Kit</strong>:<code>FORBIDDEN_SIDE_EFFECTS</code> 含 git-init/commit/push/tag、publish、remote-write;<code>REFUSED_MUTATION_FLAGS</code> 在 CLI 入口即拒(<code>foundation.kit.cli</code>)。</li>
2034
+ <li><strong>Profile</strong>:声明式差异,入口必须为 JSON 数据资源;<code>coreOwned</code>(packages/commands/namespacePrefixes)为禁入目标(<code>foundation.profile.extension-spi</code>)。</li>
2035
+ <li><strong>状态底座</strong>:事件日志是唯一权威,snapshot 是派生缓存;<code>confirmOwnerTerminated</code> 是调用方提供的外部信任锚,不承诺抵御同权限恶意进程(<code>foundation.harness.state-store</code>)。</li>
2036
+ </ul>
2037
+ <h2 id="架构决策树">架构决策树<a class="headerlink" href="#架构决策树" title="Permanent link">&para;</a></h2>
2038
+ <pre><code class="language-text">需求含领域语义/状态机/审计? ──是──▶ 留在消费者
2039
+ │否
2040
+ 是结构/协议/错误码/Schema? ──是──▶ Contracts
2041
+ │否
2042
+ 是跨技能族 Node 机制? ──是──▶ Harness
2043
+ │否
2044
+ 是 scaffold/adopt/projection/check 或 Profile 注入? ──是──▶ Kit / Profile
2045
+ │否
2046
+ 涉及发布远端状态? ──是──▶ release-skill
2047
+ │否
2048
+ 涉及任务/重试/返工/验收? ──是──▶ loop-agent
2049
+ │否
2050
+ 涉及制品关系/版本锁? ──是──▶ artifact-graph
2051
+ │否
2052
+ 只有一个消费者/未证明跨两个真实消费者? ──是──▶ 留在消费者,不扩张
2053
+ </code></pre>
2054
+ <h2 id="与外部项目的路由关系">与外部项目的路由关系<a class="headerlink" href="#与外部项目的路由关系" title="Permanent link">&para;</a></h2>
2055
+ <p>Foundation 不是全能底座。下列职责明确在 Foundation 之外:</p>
2056
+ <ul>
2057
+ <li><strong>发布与远端写入</strong>:release-skill 拥有;Foundation 不提供任何 publish/remote-write 入口(<code>foundation.unsupported.remote-publish</code>)。</li>
2058
+ <li><strong>任务生命周期</strong>:loop-agent 拥有任务、重试、返工、验收;Foundation 不含 workflow 状态机(<code>foundation.unsupported.business-state-machine</code>)。</li>
2059
+ <li><strong>制品治理</strong>:artifact-graph 拥有 <code>artifacts/</code> 关系合同与版本锁,门禁为 <code>check:artifacts</code>。</li>
2060
+ <li><strong>领域审计</strong>:独立审计消费者拥有语义与最终接受/拒绝;Foundation 只提供确定性审计表面(<code>foundation.unsupported.domain-audit-semantics</code>)。</li>
2061
+ <li><strong>宿主应用与生命周期</strong>:host apply 稳定拒绝,install/update/uninstall 未实现,Qoder 完整 driver 为 unsupported(<code>foundation.unsupported.host-apply</code>、<code>foundation.unsupported.host-install-update-uninstall</code>、<code>foundation.unsupported.qoder-driver</code>)。</li>
2062
+ </ul>
844
2063
  <h2 id="下一阶段能力线架构-hand-off">下一阶段能力线(架构 hand-off)<a class="headerlink" href="#下一阶段能力线架构-hand-off" title="Permanent link">&para;</a></h2>
845
- <p>三条能力线均经 FND-ADR-001 能力纳入门(宿主差异轴/跨技能族共性轴两主轴判定、业务语义一票否决、七项进入门)裁决纳入,全部在上图既有分层内落位:</p>
2064
+ <p>三条能力线均经 FND-ADR-001 能力纳入门裁决纳入,全部在既有分层内落位:</p>
846
2065
  <ul>
847
2066
  <li><strong>宿主接入线</strong>(FND-FR-001/FND-FR-002,FND-ADR-003):Contracts 登记 descriptor/source/manifest/probe/plan/receipt;Harness 实现通用 source closure、原子 build/materialize 和 probe 分类;Kit 注入具体 Profile 与受信 driver。当前只支持 describe/build/probe/plan,<code>apply</code> 稳定拒绝,安装/卸载/更新均未实现。</li>
848
2067
  <li><strong>持久状态底座线</strong>(FND-FR-003,FND-ADR-004):append-only 事件、hash chain、快照与校验恢复;只提供状态底座,状态机、任务节点、重试、终态、记忆等业务语义不纳入 Foundation。</li>
849
2068
  <li><strong>人类报告线</strong>(FND-FR-004,FND-ADR-005):双层合同——机器结果是唯一真源,人类报告由机器结果确定性渲染(Markdown + digest 绑定 + 分级检查),不自由撰写。</li>
850
2069
  </ul>
851
- <p>三包结构保持、不拆第四包(FND-ADR-007);制品治理采用 artifact-graph CLI 与版本锁(FND-ADR-006,体系说明见 <code>artifacts/README.md</code>)。</p>
852
- <h2 id="唯一权威">唯一权威<a class="headerlink" href="#唯一权威" title="Permanent link">&para;</a></h2>
853
- <ul>
854
- <li>Contracts:结构、协议、错误码和协议名登记;</li>
855
- <li>Harness:Contracts 的 Node 机制实现;</li>
856
- <li>Kit:四个工程命令及其只读/受限写入边界;</li>
857
- <li>Profile:项目形态差异;</li>
858
- <li>Audit:独立 fixture、预期值和裁决;</li>
859
- <li>Release:发布状态和全部远端写入;</li>
860
- <li>Artifacts:<code>artifacts/</code> 架构制品体系的关系合同与版本锁由 artifact-graph 机械验证(<code>check:artifacts</code>),体系说明见 <code>artifacts/README.md</code>(FND-ADR-006)。</li>
861
- </ul>
2070
+ <p>三包结构保持、不拆第四包(FND-ADR-007);制品治理采用 artifact-graph CLI 与版本锁(FND-ADR-006)。</p>
862
2071
  <h2 id="首版预算">首版预算<a class="headerlink" href="#首版预算" title="Permanent link">&para;</a></h2>
863
2072
  <ul>
864
2073
  <li>顶层 Contracts 对象:18 类(完整清单以 <code>packages/skill-family-contracts/src/registry.json</code> 为唯一真源):project-manifest、profile-descriptor、managed-file-lock、operation-request、operation-result、migration-manifest、adapter-source、report-model、report-binding、host-descriptor、host-registry、host-capability-fact、host-probe-result、adapter-build-manifest、host-operation-plan、host-operation-receipt、state-event-envelope、state-snapshot-metadata;</li>
@@ -912,12 +2121,12 @@ Contracts(结构、协议、错误码、协议名登记)
912
2121
  <li><strong>冻结事实包</strong>:文档写作只消费上表所列机器真源。模型或作者不得凭记忆写入版本、命令、包数;模型名、凭据和调度信息不进入文档,也不进入 Contracts。</li>
913
2122
  <li><strong>事实检查</strong>:<code>node scripts/docs/fact-check.mjs</code> 对照真源校验文档中的包名、命令、门禁事实、版本 pin 与关键数字,并交叉校验真源之间的一致性(manifest 与 package.json、version-lock 与 packageManager、规则数与预算等)。</li>
914
2123
  <li><strong>链接检查</strong>:<code>node scripts/docs/link-check.mjs</code> 解析 README 与全部 <code>docs/**/*.md</code> 的站内相对链接和标题锚点,并校验 <code>mkdocs.yml</code> nav 收录完整。</li>
915
- <li><strong>无工作流边界与公开边界验证</strong>:本仓没有任何 CI/CD workflow(旧拓扑的 ci/docs/docs-deploy 三个 Actions 已整体删除),全部门禁在私有工作区内运行(<code>pnpm check</code>);公开边界由 <code>check:public-snapshots</code> 与发布字节合同机械验证(public 镜像投影与 tarball 逐字节一致、公开载荷 allowlist 精确相等、私有与公开载荷均无 workflow),见 <code>scripts/public-snapshot-gate.mjs</code> 与 <code>scripts/render-public-package-json.mjs</code>。公开静态站由 <code>scripts/render-public-site.mjs</code> 渲染(唯一输出 <code>docs/public/site/**</code> 与确定性基线 <code>docs/public/site-baseline.json</code>),站点文件与 engineering-kit public 镜像仓的 <code>docs/**</code> 逐文件对应。</li>
2124
+ <li><strong>无工作流边界与公开边界验证</strong>:本仓没有任何 CI/CD workflow(旧拓扑的 ci/docs/docs-deploy 三个 Actions 已整体删除),全部门禁在私有工作区内运行(<code>pnpm check</code>);公开边界由 <code>check:public-snapshots</code> 与发布字节合同机械验证。公开静态站由 <code>scripts/render-public-site.mjs</code> 渲染(唯一输出 <code>docs/public/site/**</code> 与确定性基线 <code>docs/public/site-baseline.json</code>)。</li>
916
2125
  <li><strong>版本锁定</strong>:站点工具链锁定在 <code>scripts/docs/toolchain.json</code> 与 <code>scripts/docs/requirements.txt</code>,构建只使用仓库外部的 Python 虚拟环境,不做系统级 pip install。</li>
917
2126
  </ol>
918
- <p>两个检查脚本都可直接 <code>node scripts/docs/&lt;name&gt;.mjs</code> 运行:<code>fact-check.mjs</code> 是 Node 脚本,经仓内模块(<code>scripts/engine-floor-check.mjs</code>)消费根目录精确锁定的 <code>semver@7.8.5</code>,运行前必须先完成 <code>pnpm install --frozen-lockfile</code>;<code>link-check.mjs</code> 为纯 Node 实现(无第三方依赖)。职责说明见 <code>scripts/docs/README.md</code>。</p>
2127
+ <p>两个检查脚本都可直接 <code>node scripts/docs/&lt;name&gt;.mjs</code> 运行:<code>fact-check.mjs</code> 经仓内模块消费根目录精确锁定的 <code>semver@7.8.5</code>,运行前必须先完成 <code>pnpm install --frozen-lockfile</code>;<code>link-check.mjs</code> 为纯 Node 实现。职责说明见 <code>scripts/docs/README.md</code>。</p>
919
2128
  <h2 id="稳定产品门禁">稳定产品门禁<a class="headerlink" href="#稳定产品门禁" title="Permanent link">&para;</a></h2>
920
- <p>根 <code>pnpm check</code> 只编排 11 个稳定产品 gate ID(<code>check:structure</code>~<code>check:artifacts</code>,逐 ID 见 当前产品状态),不再锁死原始命令清单;每个稳定 ID 在自己的 package script 内组合少量产品检查。门禁事实由 <code>node scripts/docs/fact-check.mjs</code> 从根 <code>package.json</code> 的 <code>scripts.check</code> 机械推导并逐字核对(setup 投影区块与 <code>scripts.check</code> 逐字一致)。文档与 setup 只调用或列出 11 个稳定 ID 或根 <code>pnpm check</code>,不复制底层命令列表。</p>
2129
+ <p>根 <code>pnpm check</code> 只编排 11 个稳定产品 gate ID(<code>check:structure</code>~<code>check:artifacts</code>,逐 ID 见 当前产品状态),不再锁死原始命令清单;每个稳定 ID 在自己的 package script 内组合少量产品检查。门禁事实由 <code>node scripts/docs/fact-check.mjs</code> 从根 <code>package.json</code> 的 <code>scripts.check</code> 机械推导并逐字核对。文档与 setup 只调用或列出 11 个稳定 ID 或根 <code>pnpm check</code>,不复制底层命令列表。</p>
921
2130
  <p>仓内检查的诚实边界:结构检查只证明“字节/结构一致性(仓内可证)”;一次性迁移完整性、普通正文语义与最终接受/拒绝结论属于外部审阅职责,不在目标仓内维护第二份门禁 registry、baseline 或命令比较器。</p>
922
2131
 
923
2132
 
@@ -931,48 +2140,48 @@ Contracts(结构、协议、错误码、协议名登记)
931
2140
 
932
2141
 
933
2142
 
934
-
2143
+
935
2144
  </article>
936
2145
  </div>
937
-
938
-
2146
+
2147
+
939
2148
  <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
940
2149
  </div>
941
-
2150
+
942
2151
  </main>
943
-
2152
+
944
2153
  <footer class="md-footer">
945
-
2154
+
946
2155
  <div class="md-footer-meta md-typeset">
947
2156
  <div class="md-footer-meta__inner md-grid">
948
2157
  <div class="md-copyright">
949
-
950
-
2158
+
2159
+
951
2160
  Made with
952
2161
  <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
953
2162
  Material for MkDocs
954
2163
  </a>
955
-
2164
+
956
2165
  </div>
957
-
2166
+
958
2167
  </div>
959
2168
  </div>
960
2169
  </footer>
961
-
2170
+
962
2171
  </div>
963
2172
  <div class="md-dialog" data-md-component="dialog">
964
2173
  <div class="md-dialog__inner md-typeset"></div>
965
2174
  </div>
966
-
967
-
968
-
969
-
970
-
2175
+
2176
+
2177
+
2178
+
2179
+
971
2180
  <script id="__config" type="application/json">{"annotate": null, "base": "..", "features": [], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
972
-
973
-
2181
+
2182
+
974
2183
  <script src="../assets/javascripts/bundle.d7400e89.min.js"></script>
975
-
976
-
2184
+
2185
+
977
2186
  </body>
978
2187
  </html>