skill-family-engineering-kit 0.2.0 → 0.3.0

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 (74) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/CHANGELOG.zh-CN.md +43 -0
  3. package/NOTICE +10 -0
  4. package/README.md +160 -55
  5. package/README.zh-CN.md +210 -0
  6. package/candidate/index.mjs +4 -0
  7. package/candidate/profile-bundle.mjs +1150 -0
  8. package/candidate/projection-bundle-cli.mjs +64 -0
  9. package/candidate/skill-naming-cli.mjs +59 -0
  10. package/candidate/skill-naming-policy.json +46 -0
  11. package/candidate/skill-naming.mjs +280 -0
  12. package/docs/404.html +1434 -408
  13. package/docs/agents/architecture-routing/index.html +1944 -0
  14. package/docs/agents/capability-catalog.en.json +1564 -0
  15. package/docs/agents/capability-catalog.json +935 -0
  16. package/docs/agents/capability-catalog.schema.json +179 -0
  17. package/docs/agents/capability-catalog.zh-CN.json +1564 -0
  18. package/docs/agents/index.html +1914 -0
  19. package/docs/architecture/index.html +1706 -497
  20. package/docs/assets/javascripts/lunr/tinyseg.js +2 -2
  21. package/docs/assets/javascripts/lunr/wordcut.js +37 -37
  22. package/docs/en/agents/architecture-routing/index.html +1944 -0
  23. package/docs/en/agents/index.html +1925 -0
  24. package/docs/en/architecture/index.html +2187 -0
  25. package/docs/en/examples-and-fixtures/index.html +1888 -0
  26. package/docs/en/help/index.html +2035 -0
  27. package/docs/en/index.html +1895 -0
  28. package/docs/en/licensing/index.html +1917 -0
  29. package/docs/en/migration/index.html +2335 -0
  30. package/docs/en/quickstart/index.html +1919 -0
  31. package/docs/en/recipes/adapter-text-closure/index.html +2000 -0
  32. package/docs/en/recipes/adopt-existing-repository/index.html +1987 -0
  33. package/docs/en/recipes/deterministic-human-report/index.html +1998 -0
  34. package/docs/en/recipes/domain-schema-validation/index.html +2009 -0
  35. package/docs/en/recipes/durable-local-state/index.html +2009 -0
  36. package/docs/en/recipes/host-profile-integration/index.html +2001 -0
  37. package/docs/en/recipes/index.html +1877 -0
  38. package/docs/en/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
  39. package/docs/en/reference/api/index.html +1941 -0
  40. package/docs/en/reference/compatibility/index.html +2036 -0
  41. package/docs/en/reference/failure-and-side-effect-matrix/index.html +2216 -0
  42. package/docs/examples-and-fixtures/index.html +1871 -0
  43. package/docs/git-lifecycle/index.html +1508 -482
  44. package/docs/help/index.html +1655 -554
  45. package/docs/index.html +1479 -450
  46. package/docs/integration/audit/failure-evidence/index.html +1488 -462
  47. package/docs/integration/audit/independence/index.html +1513 -487
  48. package/docs/integration/audit/index.html +1514 -488
  49. package/docs/integration/audit/mutation-taxonomy/index.html +1548 -522
  50. package/docs/integration/audit/version-compatibility/index.html +1489 -463
  51. package/docs/licensing/index.html +1917 -0
  52. package/docs/migration/index.html +1679 -586
  53. package/docs/public/status/index.html +1542 -516
  54. package/docs/quickstart/index.html +1589 -539
  55. package/docs/recipes/adapter-text-closure/index.html +2000 -0
  56. package/docs/recipes/adopt-existing-repository/index.html +1987 -0
  57. package/docs/recipes/deterministic-human-report/index.html +1998 -0
  58. package/docs/recipes/domain-schema-validation/index.html +2009 -0
  59. package/docs/recipes/durable-local-state/index.html +2009 -0
  60. package/docs/recipes/host-profile-integration/index.html +2001 -0
  61. package/docs/recipes/index.html +1877 -0
  62. package/docs/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
  63. package/docs/reference/api/contracts/index.html +2558 -0
  64. package/docs/reference/api/engineering-kit/index.html +2577 -0
  65. package/docs/reference/api/harness/index.html +2634 -0
  66. package/docs/reference/api/index.html +1881 -0
  67. package/docs/reference/compatibility/index.html +2036 -0
  68. package/docs/reference/failure-and-side-effect-matrix/index.html +2216 -0
  69. package/docs/search/search_index.json +1 -1
  70. package/docs/setup/index.html +1494 -468
  71. package/docs/sitemap.xml +152 -0
  72. package/package.json +16 -5
  73. package/release-notes/0.2.1.yaml +23 -0
  74. package/release-notes/0.3.0.yaml +25 -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/help/">
14
-
15
-
14
+
15
+
16
16
  <link rel="prev" href="../git-lifecycle/">
17
-
18
-
17
+
18
+
19
19
  <link rel="next" href="../architecture/">
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
-
75
- <a href="#能力与诊断" class="md-skip">
73
+
74
+
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,696 +184,1797 @@
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
-
340
-
341
-
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
342
  <li class="md-nav__item md-nav__item--active">
343
-
343
+
344
344
  <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
345
-
346
-
347
-
348
-
349
-
345
+
346
+
347
+
348
+
349
+
350
350
  <label class="md-nav__link md-nav__link--active" for="__toc">
351
-
352
-
353
-
351
+
352
+
353
+
354
354
  <span class="md-ellipsis">
355
-
356
-
357
- 能力与诊断
358
-
359
355
 
360
-
356
+
357
+ 中文 · 能力与诊断
358
+
359
+
360
+
361
361
  </span>
362
-
363
-
362
+
363
+
364
364
 
365
365
  <span class="md-nav__icon md-icon"></span>
366
366
  </label>
367
-
367
+
368
368
  <a href="./" class="md-nav__link md-nav__link--active">
369
-
370
-
371
-
369
+
370
+
371
+
372
372
  <span class="md-ellipsis">
373
-
374
-
375
- 能力与诊断
376
-
377
373
 
378
-
374
+
375
+ 中文 · 能力与诊断
376
+
377
+
378
+
379
379
  </span>
380
-
381
-
380
+
381
+
382
382
 
383
383
  </a>
384
-
385
-
384
+
385
+
386
386
 
387
387
  <nav class="md-nav md-nav--secondary" aria-label="目录">
388
-
389
-
390
-
391
-
392
-
393
-
388
+
389
+
390
+
391
+
392
+
393
+
394
394
  <label class="md-nav__title" for="__toc">
395
395
  <span class="md-nav__icon md-icon"></span>
396
396
  目录
397
397
  </label>
398
398
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
399
-
399
+
400
400
  <li class="md-nav__item">
401
- <a href="#当前能做什么" class="md-nav__link">
401
+ <a href="#按稳定错误码分诊" class="md-nav__link">
402
402
  <span class="md-ellipsis">
403
-
404
- 当前能做什么
405
-
403
+
404
+ 按稳定错误码分诊
405
+
406
406
  </span>
407
407
  </a>
408
-
408
+
409
409
  </li>
410
-
410
+
411
411
  <li class="md-nav__item">
412
- <a href="#当前不能做什么" class="md-nav__link">
412
+ <a href="#按进程退出码分诊Engineering-Kit" class="md-nav__link">
413
413
  <span class="md-ellipsis">
414
-
415
- 当前不能做什么
416
-
414
+
415
+ 按进程退出码分诊(Engineering Kit)
416
+
417
417
  </span>
418
418
  </a>
419
-
419
+
420
420
  </li>
421
-
421
+
422
422
  <li class="md-nav__item">
423
- <a href="#Kit-四命令与副作用" class="md-nav__link">
423
+ <a href="#按现象分诊" class="md-nav__link">
424
424
  <span class="md-ellipsis">
425
-
426
- Kit 四命令与副作用
427
-
425
+
426
+ 按现象分诊
427
+
428
428
  </span>
429
429
  </a>
430
-
430
+
431
431
  </li>
432
-
432
+
433
433
  <li class="md-nav__item">
434
- <a href="#check-的七个诊断类" class="md-nav__link">
434
+ <a href="#项目路由" class="md-nav__link">
435
435
  <span class="md-ellipsis">
436
-
437
- check 的七个诊断类
438
-
436
+
437
+ 项目路由
438
+
439
439
  </span>
440
440
  </a>
441
-
441
+
442
442
  </li>
443
-
443
+
444
444
  <li class="md-nav__item">
445
- <a href="#故障排查" class="md-nav__link">
445
+ <a href="#命令速查与权威事实" class="md-nav__link">
446
446
  <span class="md-ellipsis">
447
-
448
- 故障排查
449
-
447
+
448
+ 命令速查与权威事实
449
+
450
450
  </span>
451
451
  </a>
452
-
452
+
453
453
  </li>
454
-
454
+
455
455
  </ul>
456
-
456
+
457
457
  </nav>
458
-
458
+
459
459
  </li>
460
-
461
460
 
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
- <li class="md-nav__item">
470
- <a href="../architecture/" class="md-nav__link">
471
-
472
-
473
-
474
- <span class="md-ellipsis">
475
-
476
-
477
- 架构边界
478
-
479
461
 
480
-
481
- </span>
482
-
483
-
484
462
 
485
- </a>
486
- </li>
487
-
488
463
 
489
-
490
-
491
-
492
-
493
-
494
-
495
-
496
- <li class="md-nav__item">
497
- <a href="../public/status/" class="md-nav__link">
498
-
499
-
500
-
501
- <span class="md-ellipsis">
502
-
503
-
504
- 公开状态
505
-
506
464
 
507
-
508
- </span>
509
-
510
-
511
465
 
512
- </a>
513
- </li>
514
-
515
466
 
516
-
517
-
518
-
519
-
520
-
521
-
522
-
467
+
468
+
469
+ <li class="md-nav__item">
470
+ <a href="../architecture/" class="md-nav__link">
471
+
472
+
473
+
474
+ <span class="md-ellipsis">
475
+
476
+
477
+ 中文 · 架构边界
478
+
479
+
480
+
481
+ </span>
482
+
483
+
484
+
485
+ </a>
486
+ </li>
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+ <li class="md-nav__item">
497
+ <a href="../public/status/" class="md-nav__link">
498
+
499
+
500
+
501
+ <span class="md-ellipsis">
502
+
503
+
504
+ 中文 · 公开状态
505
+
506
+
507
+
508
+ </span>
509
+
510
+
511
+
512
+ </a>
513
+ </li>
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
523
  <li class="md-nav__item">
524
524
  <a href="../migration/" class="md-nav__link">
525
-
526
-
527
-
525
+
526
+
527
+
528
+ <span class="md-ellipsis">
529
+
530
+
531
+ 中文 · 存量采用与迁移
532
+
533
+
534
+
535
+ </span>
536
+
537
+
538
+
539
+ </a>
540
+ </li>
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+ <li class="md-nav__item">
551
+ <a href="../licensing/" class="md-nav__link">
552
+
553
+
554
+
555
+ <span class="md-ellipsis">
556
+
557
+
558
+ 中文 · 许可与署名
559
+
560
+
561
+
562
+ </span>
563
+
564
+
565
+
566
+ </a>
567
+ </li>
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+ <li class="md-nav__item">
578
+ <a href="../agents/" class="md-nav__link">
579
+
580
+
581
+
582
+ <span class="md-ellipsis">
583
+
584
+
585
+ 中文 · 智能体入口
586
+
587
+
588
+
589
+ </span>
590
+
591
+
592
+
593
+ </a>
594
+ </li>
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+ <li class="md-nav__item">
605
+ <a href="../agents/architecture-routing/" class="md-nav__link">
606
+
607
+
608
+
609
+ <span class="md-ellipsis">
610
+
611
+
612
+ 中文 · 架构路由
613
+
614
+
615
+
616
+ </span>
617
+
618
+
619
+
620
+ </a>
621
+ </li>
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+ <li class="md-nav__item">
632
+ <a href="../reference/compatibility/" class="md-nav__link">
633
+
634
+
635
+
636
+ <span class="md-ellipsis">
637
+
638
+
639
+ 中文 · 兼容性
640
+
641
+
642
+
643
+ </span>
644
+
645
+
646
+
647
+ </a>
648
+ </li>
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+ <li class="md-nav__item">
659
+ <a href="../reference/failure-and-side-effect-matrix/" class="md-nav__link">
660
+
661
+
662
+
663
+ <span class="md-ellipsis">
664
+
665
+
666
+ 中文 · 失败与副作用
667
+
668
+
669
+
670
+ </span>
671
+
672
+
673
+
674
+ </a>
675
+ </li>
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+ <li class="md-nav__item">
686
+ <a href="../reference/api/" class="md-nav__link">
687
+
688
+
689
+
690
+ <span class="md-ellipsis">
691
+
692
+
693
+ 中文 · API 参考
694
+
695
+
696
+
697
+ </span>
698
+
699
+
700
+
701
+ </a>
702
+ </li>
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+ <li class="md-nav__item">
713
+ <a href="../reference/api/contracts/" class="md-nav__link">
714
+
715
+
716
+
717
+ <span class="md-ellipsis">
718
+
719
+
720
+ 中文 · Contracts API
721
+
722
+
723
+
724
+ </span>
725
+
726
+
727
+
728
+ </a>
729
+ </li>
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+ <li class="md-nav__item">
740
+ <a href="../reference/api/harness/" class="md-nav__link">
741
+
742
+
743
+
744
+ <span class="md-ellipsis">
745
+
746
+
747
+ 中文 · Harness API
748
+
749
+
750
+
751
+ </span>
752
+
753
+
754
+
755
+ </a>
756
+ </li>
757
+
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+ <li class="md-nav__item">
767
+ <a href="../reference/api/engineering-kit/" class="md-nav__link">
768
+
769
+
770
+
771
+ <span class="md-ellipsis">
772
+
773
+
774
+ 中文 · Engineering Kit API
775
+
776
+
777
+
778
+ </span>
779
+
780
+
781
+
782
+ </a>
783
+ </li>
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+ <li class="md-nav__item">
794
+ <a href="../examples-and-fixtures/" class="md-nav__link">
795
+
796
+
797
+
798
+ <span class="md-ellipsis">
799
+
800
+
801
+ 中文 · 样例与 Fixture
802
+
803
+
804
+
805
+ </span>
806
+
807
+
808
+
809
+ </a>
810
+ </li>
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+ <li class="md-nav__item">
821
+ <a href="../recipes/" class="md-nav__link">
822
+
823
+
824
+
825
+ <span class="md-ellipsis">
826
+
827
+
828
+ 中文 · Recipes
829
+
830
+
831
+
832
+ </span>
833
+
834
+
835
+
836
+ </a>
837
+ </li>
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+ <li class="md-nav__item">
848
+ <a href="../recipes/adopt-existing-repository/" class="md-nav__link">
849
+
850
+
851
+
852
+ <span class="md-ellipsis">
853
+
854
+
855
+ 中文 · 采用存量仓库
856
+
857
+
858
+
859
+ </span>
860
+
861
+
862
+
863
+ </a>
864
+ </li>
865
+
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+ <li class="md-nav__item">
875
+ <a href="../recipes/safe-filesystem-and-atomic-write/" class="md-nav__link">
876
+
877
+
878
+
879
+ <span class="md-ellipsis">
880
+
881
+
882
+ 中文 · 安全文件系统与原子写
883
+
884
+
885
+
886
+ </span>
887
+
888
+
889
+
890
+ </a>
891
+ </li>
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+ <li class="md-nav__item">
902
+ <a href="../recipes/adapter-text-closure/" class="md-nav__link">
903
+
904
+
905
+
906
+ <span class="md-ellipsis">
907
+
908
+
909
+ 中文 · Adapter 文本闭包
910
+
911
+
912
+
913
+ </span>
914
+
915
+
916
+
917
+ </a>
918
+ </li>
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+ <li class="md-nav__item">
929
+ <a href="../recipes/deterministic-human-report/" class="md-nav__link">
930
+
931
+
932
+
933
+ <span class="md-ellipsis">
934
+
935
+
936
+ 中文 · 确定性人类报告
937
+
938
+
939
+
940
+ </span>
941
+
942
+
943
+
944
+ </a>
945
+ </li>
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+ <li class="md-nav__item">
956
+ <a href="../recipes/durable-local-state/" class="md-nav__link">
957
+
958
+
959
+
960
+ <span class="md-ellipsis">
961
+
962
+
963
+ 中文 · 持久本地状态
964
+
965
+
966
+
967
+ </span>
968
+
969
+
970
+
971
+ </a>
972
+ </li>
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+ <li class="md-nav__item">
983
+ <a href="../recipes/host-profile-integration/" class="md-nav__link">
984
+
985
+
986
+
987
+ <span class="md-ellipsis">
988
+
989
+
990
+ 中文 · 宿主 Profile 集成
991
+
992
+
993
+
994
+ </span>
995
+
996
+
997
+
998
+ </a>
999
+ </li>
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+ <li class="md-nav__item">
1010
+ <a href="../recipes/domain-schema-validation/" class="md-nav__link">
1011
+
1012
+
1013
+
1014
+ <span class="md-ellipsis">
1015
+
1016
+
1017
+ 中文 · 领域 Schema 校验
1018
+
1019
+
1020
+
1021
+ </span>
1022
+
1023
+
1024
+
1025
+ </a>
1026
+ </li>
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+ <li class="md-nav__item">
1037
+ <a href="../en/" class="md-nav__link">
1038
+
1039
+
1040
+
1041
+ <span class="md-ellipsis">
1042
+
1043
+
1044
+ English · Home
1045
+
1046
+
1047
+
1048
+ </span>
1049
+
1050
+
1051
+
1052
+ </a>
1053
+ </li>
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+ <li class="md-nav__item">
1064
+ <a href="../en/quickstart/" class="md-nav__link">
1065
+
1066
+
1067
+
1068
+ <span class="md-ellipsis">
1069
+
1070
+
1071
+ English · Quickstart
1072
+
1073
+
1074
+
1075
+ </span>
1076
+
1077
+
1078
+
1079
+ </a>
1080
+ </li>
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+ <li class="md-nav__item">
1091
+ <a href="../en/help/" class="md-nav__link">
1092
+
1093
+
1094
+
1095
+ <span class="md-ellipsis">
1096
+
1097
+
1098
+ English · Capabilities and diagnostics
1099
+
1100
+
1101
+
1102
+ </span>
1103
+
1104
+
1105
+
1106
+ </a>
1107
+ </li>
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+ <li class="md-nav__item">
1118
+ <a href="../en/architecture/" class="md-nav__link">
1119
+
1120
+
1121
+
1122
+ <span class="md-ellipsis">
1123
+
1124
+
1125
+ English · Architecture
1126
+
1127
+
1128
+
1129
+ </span>
1130
+
1131
+
1132
+
1133
+ </a>
1134
+ </li>
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+ <li class="md-nav__item">
1145
+ <a href="../en/migration/" class="md-nav__link">
1146
+
1147
+
1148
+
1149
+ <span class="md-ellipsis">
1150
+
1151
+
1152
+ English · Migration
1153
+
1154
+
1155
+
1156
+ </span>
1157
+
1158
+
1159
+
1160
+ </a>
1161
+ </li>
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+ <li class="md-nav__item">
1172
+ <a href="../en/licensing/" class="md-nav__link">
1173
+
1174
+
1175
+
1176
+ <span class="md-ellipsis">
1177
+
1178
+
1179
+ English · Licensing
1180
+
1181
+
1182
+
1183
+ </span>
1184
+
1185
+
1186
+
1187
+ </a>
1188
+ </li>
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+ <li class="md-nav__item">
1199
+ <a href="../en/agents/" class="md-nav__link">
1200
+
1201
+
1202
+
1203
+ <span class="md-ellipsis">
1204
+
1205
+
1206
+ English · Agent entry
1207
+
1208
+
1209
+
1210
+ </span>
1211
+
1212
+
1213
+
1214
+ </a>
1215
+ </li>
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+ <li class="md-nav__item">
1226
+ <a href="../en/agents/architecture-routing/" class="md-nav__link">
1227
+
1228
+
1229
+
1230
+ <span class="md-ellipsis">
1231
+
1232
+
1233
+ English · Architecture routing
1234
+
1235
+
1236
+
1237
+ </span>
1238
+
1239
+
1240
+
1241
+ </a>
1242
+ </li>
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+ <li class="md-nav__item">
1253
+ <a href="../en/reference/compatibility/" class="md-nav__link">
1254
+
1255
+
1256
+
1257
+ <span class="md-ellipsis">
1258
+
1259
+
1260
+ English · Compatibility
1261
+
1262
+
1263
+
1264
+ </span>
1265
+
1266
+
1267
+
1268
+ </a>
1269
+ </li>
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+ <li class="md-nav__item">
1280
+ <a href="../en/reference/failure-and-side-effect-matrix/" class="md-nav__link">
1281
+
1282
+
1283
+
1284
+ <span class="md-ellipsis">
1285
+
1286
+
1287
+ English · Failures and side effects
1288
+
1289
+
1290
+
1291
+ </span>
1292
+
1293
+
1294
+
1295
+ </a>
1296
+ </li>
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+
1304
+
1305
+
1306
+ <li class="md-nav__item">
1307
+ <a href="../en/reference/api/" class="md-nav__link">
1308
+
1309
+
1310
+
1311
+ <span class="md-ellipsis">
1312
+
1313
+
1314
+ English · API reference
1315
+
1316
+
1317
+
1318
+ </span>
1319
+
1320
+
1321
+
1322
+ </a>
1323
+ </li>
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+ <li class="md-nav__item">
1334
+ <a href="../en/examples-and-fixtures/" class="md-nav__link">
1335
+
1336
+
1337
+
1338
+ <span class="md-ellipsis">
1339
+
1340
+
1341
+ English · Examples and fixtures
1342
+
1343
+
1344
+
1345
+ </span>
1346
+
1347
+
1348
+
1349
+ </a>
1350
+ </li>
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+ <li class="md-nav__item">
1361
+ <a href="../en/recipes/" class="md-nav__link">
1362
+
1363
+
1364
+
1365
+ <span class="md-ellipsis">
1366
+
1367
+
1368
+ English · Recipes
1369
+
1370
+
1371
+
1372
+ </span>
1373
+
1374
+
1375
+
1376
+ </a>
1377
+ </li>
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+ <li class="md-nav__item">
1388
+ <a href="../en/recipes/adopt-existing-repository/" class="md-nav__link">
1389
+
1390
+
1391
+
1392
+ <span class="md-ellipsis">
1393
+
1394
+
1395
+ English · Adopt an existing repository
1396
+
1397
+
1398
+
1399
+ </span>
1400
+
1401
+
1402
+
1403
+ </a>
1404
+ </li>
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+ <li class="md-nav__item">
1415
+ <a href="../en/recipes/safe-filesystem-and-atomic-write/" class="md-nav__link">
1416
+
1417
+
1418
+
1419
+ <span class="md-ellipsis">
1420
+
1421
+
1422
+ English · Safe filesystem and atomic write
1423
+
1424
+
1425
+
1426
+ </span>
1427
+
1428
+
1429
+
1430
+ </a>
1431
+ </li>
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+ <li class="md-nav__item">
1442
+ <a href="../en/recipes/adapter-text-closure/" class="md-nav__link">
1443
+
1444
+
1445
+
1446
+ <span class="md-ellipsis">
1447
+
1448
+
1449
+ English · Adapter text closure
1450
+
1451
+
1452
+
1453
+ </span>
1454
+
1455
+
1456
+
1457
+ </a>
1458
+ </li>
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+ <li class="md-nav__item">
1469
+ <a href="../en/recipes/deterministic-human-report/" class="md-nav__link">
1470
+
1471
+
1472
+
1473
+ <span class="md-ellipsis">
1474
+
1475
+
1476
+ English · Deterministic human report
1477
+
1478
+
1479
+
1480
+ </span>
1481
+
1482
+
1483
+
1484
+ </a>
1485
+ </li>
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+ <li class="md-nav__item">
1496
+ <a href="../en/recipes/durable-local-state/" class="md-nav__link">
1497
+
1498
+
1499
+
1500
+ <span class="md-ellipsis">
1501
+
1502
+
1503
+ English · Durable local state
1504
+
1505
+
1506
+
1507
+ </span>
1508
+
1509
+
1510
+
1511
+ </a>
1512
+ </li>
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+ <li class="md-nav__item">
1523
+ <a href="../en/recipes/host-profile-integration/" class="md-nav__link">
1524
+
1525
+
1526
+
1527
+ <span class="md-ellipsis">
1528
+
1529
+
1530
+ English · Host Profile integration
1531
+
1532
+
1533
+
1534
+ </span>
1535
+
1536
+
1537
+
1538
+ </a>
1539
+ </li>
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+ <li class="md-nav__item">
1550
+ <a href="../en/recipes/domain-schema-validation/" class="md-nav__link">
1551
+
1552
+
1553
+
528
1554
  <span class="md-ellipsis">
529
-
530
-
531
- 存量采用与迁移
532
-
533
1555
 
534
-
1556
+
1557
+ English · Domain Schema validation
1558
+
1559
+
1560
+
535
1561
  </span>
536
-
537
-
1562
+
1563
+
538
1564
 
539
1565
  </a>
540
1566
  </li>
541
-
542
1567
 
543
-
544
-
545
-
546
-
547
-
548
-
549
-
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+
550
1576
  <li class="md-nav__item">
551
1577
  <a href="../integration/audit/" class="md-nav__link">
552
-
553
-
554
-
1578
+
1579
+
1580
+
555
1581
  <span class="md-ellipsis">
556
-
557
-
558
- 独立审计集成
559
-
560
1582
 
561
-
1583
+
1584
+ 审计集成 · 入口
1585
+
1586
+
1587
+
562
1588
  </span>
563
-
564
-
1589
+
1590
+
565
1591
 
566
1592
  </a>
567
1593
  </li>
568
-
569
1594
 
570
-
571
-
572
-
573
-
574
-
575
-
576
-
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
577
1603
  <li class="md-nav__item">
578
1604
  <a href="../integration/audit/mutation-taxonomy/" class="md-nav__link">
579
-
580
-
581
-
1605
+
1606
+
1607
+
582
1608
  <span class="md-ellipsis">
583
-
584
-
585
- 审计变异分类学
586
-
587
1609
 
588
-
1610
+
1611
+ 审计集成 · 变异分类学
1612
+
1613
+
1614
+
589
1615
  </span>
590
-
591
-
1616
+
1617
+
592
1618
 
593
1619
  </a>
594
1620
  </li>
595
-
596
1621
 
597
-
598
-
599
-
600
-
601
-
602
-
603
-
1622
+
1623
+
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+
604
1630
  <li class="md-nav__item">
605
1631
  <a href="../integration/audit/independence/" class="md-nav__link">
606
-
607
-
608
-
1632
+
1633
+
1634
+
609
1635
  <span class="md-ellipsis">
610
-
611
-
612
- 审计独立性证明
613
-
614
1636
 
615
-
1637
+
1638
+ 审计集成 · 独立性证明
1639
+
1640
+
1641
+
616
1642
  </span>
617
-
618
-
1643
+
1644
+
619
1645
 
620
1646
  </a>
621
1647
  </li>
622
-
623
1648
 
624
-
625
-
626
-
627
-
628
-
629
-
630
-
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+
631
1657
  <li class="md-nav__item">
632
1658
  <a href="../integration/audit/version-compatibility/" class="md-nav__link">
633
-
634
-
635
-
1659
+
1660
+
1661
+
636
1662
  <span class="md-ellipsis">
637
-
638
-
639
- 审计版本兼容定义
640
-
641
1663
 
642
-
1664
+
1665
+ 审计集成 · 版本兼容
1666
+
1667
+
1668
+
643
1669
  </span>
644
-
645
-
1670
+
1671
+
646
1672
 
647
1673
  </a>
648
1674
  </li>
649
-
650
1675
 
651
-
652
-
653
-
654
-
655
-
656
-
657
-
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
658
1684
  <li class="md-nav__item">
659
1685
  <a href="../integration/audit/failure-evidence/" class="md-nav__link">
660
-
661
-
662
-
1686
+
1687
+
1688
+
663
1689
  <span class="md-ellipsis">
664
-
665
-
666
- 审计失败证据与 AUD 码
667
-
668
1690
 
669
-
1691
+
1692
+ 审计集成 · 失败证据与 AUD 码
1693
+
1694
+
1695
+
670
1696
  </span>
671
-
672
-
1697
+
1698
+
673
1699
 
674
1700
  </a>
675
1701
  </li>
676
-
677
1702
 
678
-
1703
+
1704
+
679
1705
  </ul>
680
1706
  </nav>
681
1707
  </div>
682
1708
  </div>
683
1709
  </div>
684
-
685
-
686
-
1710
+
1711
+
1712
+
687
1713
  <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
688
1714
  <div class="md-sidebar__scrollwrap">
689
1715
  <div class="md-sidebar__inner">
690
-
1716
+
691
1717
 
692
1718
  <nav class="md-nav md-nav--secondary" aria-label="目录">
693
-
694
-
695
-
696
-
697
-
698
-
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
699
1725
  <label class="md-nav__title" for="__toc">
700
1726
  <span class="md-nav__icon md-icon"></span>
701
1727
  目录
702
1728
  </label>
703
1729
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
704
-
1730
+
705
1731
  <li class="md-nav__item">
706
- <a href="#当前能做什么" class="md-nav__link">
1732
+ <a href="#按稳定错误码分诊" class="md-nav__link">
707
1733
  <span class="md-ellipsis">
708
-
709
- 当前能做什么
710
-
1734
+
1735
+ 按稳定错误码分诊
1736
+
711
1737
  </span>
712
1738
  </a>
713
-
1739
+
714
1740
  </li>
715
-
1741
+
716
1742
  <li class="md-nav__item">
717
- <a href="#当前不能做什么" class="md-nav__link">
1743
+ <a href="#按进程退出码分诊Engineering-Kit" class="md-nav__link">
718
1744
  <span class="md-ellipsis">
719
-
720
- 当前不能做什么
721
-
1745
+
1746
+ 按进程退出码分诊(Engineering Kit)
1747
+
722
1748
  </span>
723
1749
  </a>
724
-
1750
+
725
1751
  </li>
726
-
1752
+
727
1753
  <li class="md-nav__item">
728
- <a href="#Kit-四命令与副作用" class="md-nav__link">
1754
+ <a href="#按现象分诊" class="md-nav__link">
729
1755
  <span class="md-ellipsis">
730
-
731
- Kit 四命令与副作用
732
-
1756
+
1757
+ 按现象分诊
1758
+
733
1759
  </span>
734
1760
  </a>
735
-
1761
+
736
1762
  </li>
737
-
1763
+
738
1764
  <li class="md-nav__item">
739
- <a href="#check-的七个诊断类" class="md-nav__link">
1765
+ <a href="#项目路由" class="md-nav__link">
740
1766
  <span class="md-ellipsis">
741
-
742
- check 的七个诊断类
743
-
1767
+
1768
+ 项目路由
1769
+
744
1770
  </span>
745
1771
  </a>
746
-
1772
+
747
1773
  </li>
748
-
1774
+
749
1775
  <li class="md-nav__item">
750
- <a href="#故障排查" class="md-nav__link">
1776
+ <a href="#命令速查与权威事实" class="md-nav__link">
751
1777
  <span class="md-ellipsis">
752
-
753
- 故障排查
754
-
1778
+
1779
+ 命令速查与权威事实
1780
+
755
1781
  </span>
756
1782
  </a>
757
-
1783
+
758
1784
  </li>
759
-
1785
+
760
1786
  </ul>
761
-
1787
+
762
1788
  </nav>
763
1789
  </div>
764
1790
  </div>
765
1791
  </div>
766
-
767
-
768
-
1792
+
1793
+
1794
+
769
1795
  <div class="md-content" data-md-component="content">
770
-
1796
+
771
1797
  <article class="md-content__inner md-typeset">
772
-
773
-
774
1798
 
775
1799
 
776
1800
 
777
- <h1 id="能力与诊断">能力与诊断<a class="headerlink" href="#能力与诊断" title="Permanent link">&para;</a></h1>
778
- <p>产品级的当前状态只在唯一状态页 当前产品状态 声明(由 <code>node scripts/docs/fact-check.mjs</code> 对照机器真源机械校验);本页正文不复制任何动态状态口径。仓内检查的诚实边界:manifest、package.json、门禁脚本与工作流等结构检查只证明“字节/结构一致性(仓内可证)”;自然语言语义的正确性不属于仓内正则或摘要可证明的范围,需外部独立审阅。</p>
779
- <h2 id="当前能做什么">当前能做什么<a class="headerlink" href="#当前能做什么" title="Permanent link">&para;</a></h2>
780
- <ul>
781
- <li>projen 受管文件的合成(<code>pnpm synth</code>)、只读漂移检查(<code>pnpm drift</code>)与幂等性验证(<code>pnpm synth-idempotency</code>);</li>
782
- <li>Contracts v1 校验:六类顶层对象、协议名登记、SFC 错误码体系、13 条强制机械规则(预算不超过 20 条,绝对上限 30 条);</li>
783
- <li>Harness 机制:原子写、路径与符号链接收容、资源闭包、临时工作区、kernel 请求处理;</li>
784
- <li>Engineering Kit 四命令(见下节),全部不执行 Git 写操作、发布或删除;</li>
785
- <li>稳定产品门禁(<code>pnpm check</code> 串联,逐 ID 见 当前产品状态);</li>
786
- <li>发布字节合同:<code>pnpm run release-artifacts:build</code> 与 <code>pnpm run release-artifacts:verify</code>(见 当前产品状态);</li>
787
- <li>公开静态站渲染:<code>node scripts/render-public-site.mjs</code>(冻结 MkDocs 环境 strict 构建、内容泄漏扫描与确定性基线;<code>--write</code> / <code>--check</code> / <code>--self-test</code>);</li>
788
- <li>文档事实/链接检查(<code>node scripts/docs/fact-check.mjs</code>、<code>node scripts/docs/link-check.mjs</code>)。</li>
789
- </ul>
790
- <h2 id="当前不能做什么">当前不能做什么<a class="headerlink" href="#当前不能做什么" title="Permanent link">&para;</a></h2>
791
- <ul>
792
- <li>不提供发布、部署或远端写入的命令能力;发布与部署的当前状态见 当前产品状态;</li>
793
- <li>没有第五个 Kit 顶层命令;<code>check</code> 只诊断、绝不自动修复;</li>
794
- <li>不做多宿主投影、Python 对称运行时或第二套模板引擎(首版禁止扩张项)。</li>
795
- </ul>
796
- <h2 id="Kit-四命令与副作用">Kit 四命令与副作用<a class="headerlink" href="#Kit-四命令与副作用" title="Permanent link">&para;</a></h2>
797
- <p>CLI 入口:<code>packages/skill-family-engineering-kit/src/cli.mjs</code>。恰好四个顶层命令:</p>
1801
+
1802
+
1803
+ <blockquote>
1804
+ <p><a href="../en/help/">English</a></p>
1805
+ </blockquote>
1806
+ <h1 id="帮助与分诊">帮助与分诊<a class="headerlink" href="#帮助与分诊" title="Permanent link">&para;</a></h1>
1807
+ <p>本页按错误码、进程退出码与现象给分诊路径。Foundation 的错误码体系冻结在 Contracts(<code>src/error-codes.json</code>),不漂移;机制失败统一为 <code>SFC2004</code> 加稳定 <code>details.kind</code>。</p>
1808
+ <h2 id="按稳定错误码分诊">按稳定错误码分诊<a class="headerlink" href="#按稳定错误码分诊" title="Permanent link">&para;</a></h2>
798
1809
  <table>
799
1810
  <thead>
800
1811
  <tr>
801
- <th>命令</th>
802
- <th>作用</th>
803
- <th>副作用边界</th>
1812
+ <th>错误码</th>
1813
+ <th>名称</th>
1814
+ <th>含义</th>
1815
+ <th>处置</th>
804
1816
  </tr>
805
1817
  </thead>
806
1818
  <tbody>
807
1819
  <tr>
808
- <td><code>scaffold</code></td>
809
- <td>在空目录生成 Skill Family 项目骨架</td>
810
- <td>只向空目标目录写入骨架文件(原子写、路径收容);非空或冲突目标被拒绝且不被触碰</td>
1820
+ <td>SFC1001</td>
1821
+ <td>SCHEMA_VALIDATION_FAILED</td>
1822
+ <td>文档未通过目标 Schema 验证</td>
1823
+ <td>检查文档必填字段与类型约束</td>
811
1824
  </tr>
812
1825
  <tr>
813
- <td><code>adopt-plan</code></td>
814
- <td>严格只读地规划存量仓采用</td>
815
- <td>无——不写任何文件(含临时文件),不运行 Git 写命令;计划输出到 stdout</td>
1826
+ <td>SFC1002</td>
1827
+ <td>UNKNOWN_SCHEMA_ID</td>
1828
+ <td><code>$id</code> 未在登记表注册</td>
1829
+ <td>确认 <code>$id</code> 拼写与 Contracts 版本</td>
816
1830
  </tr>
817
1831
  <tr>
818
- <td><code>projection</code></td>
819
- <td>投影受管生成物</td>
820
- <td>只写 manifest 授权且被目标声明为受管的路径;未授权、手写或越界路径一律拒绝(拒绝时零写入)</td>
1832
+ <td>SFC1003</td>
1833
+ <td>DUPLICATE_SCHEMA_ID</td>
1834
+ <td>重复 <code>$id</code> 注册被拒</td>
1835
+ <td>不重复注册,复用已有登记</td>
821
1836
  </tr>
822
1837
  <tr>
823
- <td><code>check</code></td>
824
- <td>契约/漂移/闭包/版本/文档事实/Git 前置状态/许可证身份诊断</td>
825
- <td>无——只诊断、绝不自动修复;Git 仅只读探测</td>
1838
+ <td>SFC1004</td>
1839
+ <td>DUPLICATE_PROTOCOL_NAME</td>
1840
+ <td>重复协议名/版本被拒</td>
1841
+ <td>不重复登记协议</td>
826
1842
  </tr>
827
- </tbody>
828
- </table>
829
- <p>退出码:0 成功或无发现;1 <code>check</code> 有发现;2 拒绝、用法或机制错误。每次拒绝都打印已注册的 SFC 错误码和稳定 kind。<code>--fix</code>、<code>--apply</code> 等变更模式标志在入口处被拒绝(退出码 2)。</p>
830
- <h2 id="check-的七个诊断类">check 的七个诊断类<a class="headerlink" href="#check-的七个诊断类" title="Permanent link">&para;</a></h2>
831
- <p><code>check</code> 命令按类报告发现,可用 <code>--only &lt;class&gt;</code> 单独运行一类:</p>
832
- <table>
833
- <thead>
834
1843
  <tr>
835
- <th>类</th>
836
- <th>检查内容</th>
1844
+ <td>SFC1005</td>
1845
+ <td>UNRESOLVED_REF</td>
1846
+ <td><code>$ref</code> 目标无法解析</td>
1847
+ <td>检查 <code>$ref</code> 指向</td>
1848
+ </tr>
1849
+ <tr>
1850
+ <td>SFC1006</td>
1851
+ <td>UNSUPPORTED_DIALECT</td>
1852
+ <td>方言不在支持集</td>
1853
+ <td>仅用 draft-07 / 2020-12</td>
1854
+ </tr>
1855
+ <tr>
1856
+ <td>SFC1007</td>
1857
+ <td>UNKNOWN_CHECK_TYPE</td>
1858
+ <td>规则用九类外检查类型</td>
1859
+ <td>不自定义检查类型</td>
1860
+ </tr>
1861
+ <tr>
1862
+ <td>SFC1008</td>
1863
+ <td>RULE_BUDGET_EXCEEDED</td>
1864
+ <td>强制规则超预算/上限</td>
1865
+ <td>不超 20(绝对 30)</td>
1866
+ </tr>
1867
+ <tr>
1868
+ <td>SFC1009</td>
1869
+ <td>UNKNOWN_ERROR_CODE</td>
1870
+ <td>引用未登记错误码</td>
1871
+ <td>只引用冻结登记表</td>
1872
+ </tr>
1873
+ <tr>
1874
+ <td>SFC1010</td>
1875
+ <td>FIXTURE_EXPECTATION_MISMATCH</td>
1876
+ <td>fixture 行为与期望不符</td>
1877
+ <td>查 fixture 声明</td>
1878
+ </tr>
1879
+ <tr>
1880
+ <td>SFC1011</td>
1881
+ <td>UNKNOWN_PROTOCOL</td>
1882
+ <td>引用未登记协议</td>
1883
+ <td>确认协议名/版本</td>
1884
+ </tr>
1885
+ <tr>
1886
+ <td>SFC1012</td>
1887
+ <td>SCHEMA_COMPILE_FAILED</td>
1888
+ <td>Schema 本身无法编译</td>
1889
+ <td>查 Schema 语法</td>
1890
+ </tr>
1891
+ <tr>
1892
+ <td>SFC2002</td>
1893
+ <td>UNKNOWN_OPERATION</td>
1894
+ <td>操作名不在冻结词汇表</td>
1895
+ <td>只用 <code>validate</code></td>
1896
+ </tr>
1897
+ <tr>
1898
+ <td>SFC2003</td>
1899
+ <td>INVALID_PARAMS</td>
1900
+ <td>参数不满足 params 合同</td>
1901
+ <td>检查参数</td>
837
1902
  </tr>
838
- </thead>
839
- <tbody>
840
1903
  <tr>
841
- <td><code>contracts</code></td>
842
- <td>发现的契约文档是否通过已登记 Schema 校验</td>
1904
+ <td>SFC2004</td>
1905
+ <td>EXECUTION_FAILED</td>
1906
+ <td>机制执行失败</td>
1907
+ <td>看 <code>details.kind</code> 细分</td>
843
1908
  </tr>
844
1909
  <tr>
845
- <td><code>drift</code></td>
846
- <td>managed-file-lock 条目与磁盘实际字节是否一致</td>
1910
+ <td>SFC3001</td>
1911
+ <td>REPORT_DIGEST_MISMATCH</td>
1912
+ <td>报告/结果摘要与绑定不一致</td>
1913
+ <td>重算 model/result</td>
847
1914
  </tr>
848
1915
  <tr>
849
- <td><code>closure</code></td>
850
- <td>声明输入/输出的资源闭包是否完整</td>
1916
+ <td>SFC3002</td>
1917
+ <td>REPORT_ELEMENT_MISSING</td>
1918
+ <td>报告缺强制元素</td>
1919
+ <td>补全报告字段</td>
851
1920
  </tr>
852
1921
  <tr>
853
- <td><code>version</code></td>
854
- <td>声明的 Contracts 版本与冻结版本是否一致</td>
1922
+ <td>SFC3003</td>
1923
+ <td>REPORT_FACT_DRIFT</td>
1924
+ <td>报告字节偏离确定性重渲染</td>
1925
+ <td>用机器结果重渲染</td>
855
1926
  </tr>
1927
+ </tbody>
1928
+ </table>
1929
+ <h2 id="按进程退出码分诊Engineering-Kit">按进程退出码分诊(Engineering Kit)<a class="headerlink" href="#按进程退出码分诊Engineering-Kit" title="Permanent link">&para;</a></h2>
1930
+ <table>
1931
+ <thead>
1932
+ <tr>
1933
+ <th>退出码</th>
1934
+ <th>含义</th>
1935
+ <th>处置</th>
1936
+ </tr>
1937
+ </thead>
1938
+ <tbody>
856
1939
  <tr>
857
- <td><code>docs</code></td>
858
- <td>文档事实(README 存在性、身份一致性)</td>
1940
+ <td>0</td>
1941
+ <td>成功 / 无发现</td>
1942
+ <td>无需处置</td>
859
1943
  </tr>
860
1944
  <tr>
861
- <td><code>git</code></td>
862
- <td>只读 Git 前置状态(绝不执行 Git 写)</td>
1945
+ <td>1</td>
1946
+ <td><code>check</code> 有发现</td>
1947
+ <td>处置发现项,Kit 不自动修复</td>
863
1948
  </tr>
864
1949
  <tr>
865
- <td><code>identity</code></td>
866
- <td>许可证 Profile 与身份防漂移(机器身份记录为权威)</td>
1950
+ <td>2</td>
1951
+ <td>拒绝 / 用法 / 机制错误</td>
1952
+ <td>检查命令名、参数与 <code>--fix</code> 等被拒旗标</td>
867
1953
  </tr>
868
1954
  </tbody>
869
1955
  </table>
870
- <h2 id="故障排查">故障排查<a class="headerlink" href="#故障排查" title="Permanent link">&para;</a></h2>
1956
+ <h2 id="按现象分诊">按现象分诊<a class="headerlink" href="#按现象分诊" title="Permanent link">&para;</a></h2>
871
1957
  <ul>
872
- <li>命令失败时先确认 Node、pnpm 与锁文件一致(见 <a href="../setup/">安装与环境</a>),再运行 <code>pnpm synth</code>;不要手改 projen 生成文件来绕过失败;</li>
873
- <li>Git 写操作的授权边界唯一见 <a href="../git-lifecycle/">Git 生命周期指南</a>;未获针对当前任务的显式授权时不得执行任何 Git 写操作;</li>
874
- <li><code>pnpm check</code> 失败会打印具体门禁与路径;按提示修复根因,不得为转绿放宽检查或修改独立预期值;</li>
875
- <li>并行开发时若疑似资源抢占导致偶发失败,稍候重试一次再下结论;</li>
876
- <li>文档站点构建失败时优先核对 <code>scripts/docs/requirements.txt</code> 是否与 <code>scripts/docs/toolchain.json</code> 一致(<code>node scripts/docs/fact-check.mjs</code> 会校验)。</li>
1958
+ <li><strong>校验一直报 SFC1002</strong>:<code>$id</code> 未注册,先确认 Contracts 版本与 <code>$id</code> 命名空间。</li>
1959
+ <li><strong>路径操作报 SFC2004 + <code>path-traversal</code>/<code>symlink-escape</code>/<code>realpath-escape</code></strong>:路径越出受收容根,确认根目录边界,不要把业务选择规则塞进 Foundation。</li>
1960
+ <li><strong>原子写报 SFC2004 + <code>atomic-write-failed</code></strong>:目标越界或内容类型非法,检查路径收容与内容类型。</li>
1961
+ <li><strong>状态存储报 <code>store-locked</code></strong>:旧写者可能仍持有锁;在 Foundation 外确认旧写者已终止,再用精确 owner/fencing 调用 <code>recoverStateStoreLock</code>。</li>
1962
+ <li><strong>host apply 直接失败</strong>:<code>apply</code> 在只读 Phase D 切片稳定拒绝,安装/更新/卸载未实现,Qoder 完整 driver 为 unsupported。</li>
1963
+ <li><strong>文档版本/命令对不上真源</strong>:以 <code>scripts/docs/fact-check.mjs</code> 复算结果为准,不凭记忆修订。</li>
1964
+ </ul>
1965
+ <h2 id="项目路由">项目路由<a class="headerlink" href="#项目路由" title="Permanent link">&para;</a></h2>
1966
+ <ul>
1967
+ <li>发布远端状态 / npm 发布 → release-skill。</li>
1968
+ <li>任务 / 重试 / 返工 / 验收 → loop-agent。</li>
1969
+ <li>制品关系 / 版本锁 → artifact-graph。</li>
1970
+ <li>领域审计语义 → 独立审计消费者。</li>
1971
+ <li>通用结构 / 机制问题 → 本仓 <code>docs/architecture.md</code> 与 <code>docs/agents/</code>。</li>
1972
+ </ul>
1973
+ <h2 id="命令速查与权威事实">命令速查与权威事实<a class="headerlink" href="#命令速查与权威事实" title="Permanent link">&para;</a></h2>
1974
+ <p>Engineering Kit 只有四个顶层命令:<code>scaffold</code>、<code>adopt-plan</code>、<code>projection</code>、<code>check</code>。其中 <code>check</code> 只诊断不修复,发现项交调用方处置。</p>
1975
+ <ul>
1976
+ <li>当前产品状态(版本、包集合、镜像坐标、门禁):当前产品状态(唯一状态页)。</li>
1977
+ <li>开发与提交规范:<a href="../git-lifecycle/">Git 生命周期指南</a>。</li>
877
1978
  </ul>
878
1979
 
879
1980
 
@@ -887,48 +1988,48 @@
887
1988
 
888
1989
 
889
1990
 
890
-
1991
+
891
1992
  </article>
892
1993
  </div>
893
-
894
-
1994
+
1995
+
895
1996
  <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
896
1997
  </div>
897
-
1998
+
898
1999
  </main>
899
-
2000
+
900
2001
  <footer class="md-footer">
901
-
2002
+
902
2003
  <div class="md-footer-meta md-typeset">
903
2004
  <div class="md-footer-meta__inner md-grid">
904
2005
  <div class="md-copyright">
905
-
906
-
2006
+
2007
+
907
2008
  Made with
908
2009
  <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
909
2010
  Material for MkDocs
910
2011
  </a>
911
-
2012
+
912
2013
  </div>
913
-
2014
+
914
2015
  </div>
915
2016
  </div>
916
2017
  </footer>
917
-
2018
+
918
2019
  </div>
919
2020
  <div class="md-dialog" data-md-component="dialog">
920
2021
  <div class="md-dialog__inner md-typeset"></div>
921
2022
  </div>
922
-
923
-
924
-
925
-
926
-
2023
+
2024
+
2025
+
2026
+
2027
+
927
2028
  <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>
928
-
929
-
2029
+
2030
+
930
2031
  <script src="../assets/javascripts/bundle.d7400e89.min.js"></script>
931
-
932
-
2032
+
2033
+
933
2034
  </body>
934
2035
  </html>