skill-family-engineering-kit 0.1.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 (80) hide show
  1. package/CODE_OF_CONDUCT.md +131 -0
  2. package/CONTRIBUTING.md +69 -0
  3. package/LICENSE +201 -0
  4. package/README.md +74 -0
  5. package/SECURITY.md +34 -0
  6. package/data/licensing/registry.json +211 -0
  7. package/data/licensing/schema.json +207 -0
  8. package/docs/.nojekyll +0 -0
  9. package/docs/404.html +613 -0
  10. package/docs/architecture/index.html +904 -0
  11. package/docs/assets/images/favicon.png +0 -0
  12. package/docs/assets/javascripts/bundle.d7400e89.min.js +16 -0
  13. package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  14. package/docs/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  15. package/docs/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  16. package/docs/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  17. package/docs/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  18. package/docs/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  19. package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  20. package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  21. package/docs/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  22. package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  23. package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  24. package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  25. package/docs/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  26. package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  27. package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  28. package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  29. package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  30. package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  31. package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  32. package/docs/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  33. package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  34. package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  35. package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  36. package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  37. package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  38. package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  39. package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  40. package/docs/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  41. package/docs/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  42. package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  43. package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  44. package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  45. package/docs/assets/javascripts/lunr/tinyseg.js +206 -0
  46. package/docs/assets/javascripts/lunr/wordcut.js +6708 -0
  47. package/docs/assets/javascripts/workers/search.2c215733.min.js +42 -0
  48. package/docs/assets/stylesheets/main.ec1eaa64.min.css +1 -0
  49. package/docs/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  50. package/docs/git-lifecycle/index.html +976 -0
  51. package/docs/help/index.html +907 -0
  52. package/docs/index.html +837 -0
  53. package/docs/integration/audit/baseline/audit-codes.json +62 -0
  54. package/docs/integration/audit/failure-evidence/index.html +872 -0
  55. package/docs/integration/audit/independence/index.html +841 -0
  56. package/docs/integration/audit/index.html +826 -0
  57. package/docs/integration/audit/mutation-taxonomy/index.html +1022 -0
  58. package/docs/integration/audit/schemas/audit-evidence.schema.json +182 -0
  59. package/docs/integration/audit/version-compatibility/index.html +845 -0
  60. package/docs/migration/index.html +1213 -0
  61. package/docs/quickstart/index.html +842 -0
  62. package/docs/search/search_index.json +1 -0
  63. package/docs/setup/index.html +941 -0
  64. package/docs/sitemap.xml +51 -0
  65. package/package.json +42 -0
  66. package/src/adopt-plan.mjs +594 -0
  67. package/src/check.mjs +415 -0
  68. package/src/cli.mjs +230 -0
  69. package/src/errors.mjs +144 -0
  70. package/src/gitprobe.mjs +230 -0
  71. package/src/identity-check.mjs +563 -0
  72. package/src/index.mjs +233 -0
  73. package/src/license-texts/Apache-2.0.txt +201 -0
  74. package/src/license-texts/MIT.txt +21 -0
  75. package/src/licensing.mjs +299 -0
  76. package/src/migration.mjs +427 -0
  77. package/src/projection.mjs +397 -0
  78. package/src/scaffold.mjs +178 -0
  79. package/src/skeleton.mjs +886 -0
  80. package/src/workspace.mjs +236 -0
@@ -0,0 +1,907 @@
1
+
2
+ <!doctype html>
3
+ <html lang="zh" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+ <meta name="description" content="Skill Family 生命周期公共工程基础设施父工作区">
10
+
11
+
12
+
13
+ <link rel="canonical" href="https://ifoohoo.github.io/skill-family-engineering-kit/help/">
14
+
15
+
16
+ <link rel="prev" href="../git-lifecycle/">
17
+
18
+
19
+ <link rel="next" href="../architecture/">
20
+
21
+
22
+
23
+
24
+
25
+ <link rel="icon" href="../assets/images/favicon.png">
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
+
34
+ <link rel="stylesheet" href="../assets/stylesheets/main.ec1eaa64.min.css">
35
+
36
+
37
+ <link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
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
+
54
+
55
+
56
+ </head>
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+ <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
67
+
68
+
69
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
70
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
71
+ <label class="md-overlay" for="__drawer"></label>
72
+ <div data-md-component="skip">
73
+
74
+
75
+ <a href="#能力与诊断" class="md-skip">
76
+ 跳转至
77
+ </a>
78
+
79
+ </div>
80
+ <div data-md-component="announce">
81
+
82
+ </div>
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <header class="md-header md-header--shadow" data-md-component="header">
90
+ <nav class="md-header__inner md-grid" aria-label="页眉">
91
+ <a href=".." title="Skill Family Foundation" class="md-header__button md-logo" aria-label="Skill Family Foundation" data-md-component="logo">
92
+
93
+
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
+
96
+ </a>
97
+ <label class="md-header__button md-icon" for="__drawer">
98
+
99
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
100
+ </label>
101
+ <div class="md-header__title" data-md-component="header-title">
102
+ <div class="md-header__ellipsis">
103
+ <div class="md-header__topic">
104
+ <span class="md-ellipsis">
105
+ Skill Family Foundation
106
+ </span>
107
+ </div>
108
+ <div class="md-header__topic" data-md-component="header-topic">
109
+ <span class="md-ellipsis">
110
+
111
+ 能力与诊断
112
+
113
+ </span>
114
+ </div>
115
+ </div>
116
+ </div>
117
+
118
+
119
+ <form class="md-header__option" data-md-component="palette">
120
+
121
+
122
+
123
+
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
+
126
+ <label class="md-header__button md-icon" title="切换到深色模式" for="__palette_1" hidden>
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
+ </label>
129
+
130
+
131
+
132
+
133
+
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
+
136
+ <label class="md-header__button md-icon" title="切换到浅色模式" for="__palette_0" hidden>
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
+ </label>
139
+
140
+
141
+ </form>
142
+
143
+
144
+
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
+
151
+ <label class="md-header__button md-icon" for="__search">
152
+
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
+ </label>
155
+ <div class="md-search" data-md-component="search" role="dialog">
156
+ <label class="md-search__overlay" for="__search"></label>
157
+ <div class="md-search__inner" role="search">
158
+ <form class="md-search__form" name="search">
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
+ <label class="md-search__icon md-icon" for="__search">
161
+
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
+
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
+ </label>
166
+ <nav class="md-search__options" aria-label="查找">
167
+
168
+ <button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
169
+
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
+ </button>
172
+ </nav>
173
+
174
+ </form>
175
+ <div class="md-search__output">
176
+ <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
177
+ <div class="md-search-result" data-md-component="search-result">
178
+ <div class="md-search-result__meta">
179
+ 正在初始化搜索引擎
180
+ </div>
181
+ <ol class="md-search-result__list" role="presentation"></ol>
182
+ </div>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ </div>
187
+
188
+
189
+
190
+ </nav>
191
+
192
+ </header>
193
+
194
+ <div class="md-container" data-md-component="container">
195
+
196
+
197
+
198
+
199
+
200
+
201
+ <main class="md-main" data-md-component="main">
202
+ <div class="md-main__inner md-grid">
203
+
204
+
205
+
206
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
207
+ <div class="md-sidebar__scrollwrap">
208
+ <div class="md-sidebar__inner">
209
+
210
+
211
+
212
+
213
+ <nav class="md-nav md-nav--primary" aria-label="导航栏" data-md-level="0">
214
+ <label class="md-nav__title" for="__drawer">
215
+ <a href=".." title="Skill Family Foundation" class="md-nav__button md-logo" aria-label="Skill Family Foundation" data-md-component="logo">
216
+
217
+
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
+
220
+ </a>
221
+ Skill Family Foundation
222
+ </label>
223
+
224
+ <ul class="md-nav__list" data-md-scrollfix>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+ <li class="md-nav__item">
233
+ <a href=".." class="md-nav__link">
234
+
235
+
236
+
237
+ <span class="md-ellipsis">
238
+
239
+
240
+ 首页
241
+
242
+
243
+
244
+ </span>
245
+
246
+
247
+
248
+ </a>
249
+ </li>
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+ <li class="md-nav__item">
260
+ <a href="../setup/" class="md-nav__link">
261
+
262
+
263
+
264
+ <span class="md-ellipsis">
265
+
266
+
267
+ 安装与环境
268
+
269
+
270
+
271
+ </span>
272
+
273
+
274
+
275
+ </a>
276
+ </li>
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+ <li class="md-nav__item">
287
+ <a href="../quickstart/" class="md-nav__link">
288
+
289
+
290
+
291
+ <span class="md-ellipsis">
292
+
293
+
294
+ 快速开始
295
+
296
+
297
+
298
+ </span>
299
+
300
+
301
+
302
+ </a>
303
+ </li>
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ <li class="md-nav__item">
314
+ <a href="../git-lifecycle/" class="md-nav__link">
315
+
316
+
317
+
318
+ <span class="md-ellipsis">
319
+
320
+
321
+ Git 生命周期指南
322
+
323
+
324
+
325
+ </span>
326
+
327
+
328
+
329
+ </a>
330
+ </li>
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+ <li class="md-nav__item md-nav__item--active">
343
+
344
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
345
+
346
+
347
+
348
+
349
+
350
+ <label class="md-nav__link md-nav__link--active" for="__toc">
351
+
352
+
353
+
354
+ <span class="md-ellipsis">
355
+
356
+
357
+ 能力与诊断
358
+
359
+
360
+
361
+ </span>
362
+
363
+
364
+
365
+ <span class="md-nav__icon md-icon"></span>
366
+ </label>
367
+
368
+ <a href="./" class="md-nav__link md-nav__link--active">
369
+
370
+
371
+
372
+ <span class="md-ellipsis">
373
+
374
+
375
+ 能力与诊断
376
+
377
+
378
+
379
+ </span>
380
+
381
+
382
+
383
+ </a>
384
+
385
+
386
+
387
+ <nav class="md-nav md-nav--secondary" aria-label="目录">
388
+
389
+
390
+
391
+
392
+
393
+
394
+ <label class="md-nav__title" for="__toc">
395
+ <span class="md-nav__icon md-icon"></span>
396
+ 目录
397
+ </label>
398
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
399
+
400
+ <li class="md-nav__item">
401
+ <a href="#当前能做什么" class="md-nav__link">
402
+ <span class="md-ellipsis">
403
+
404
+ 当前能做什么
405
+
406
+ </span>
407
+ </a>
408
+
409
+ </li>
410
+
411
+ <li class="md-nav__item">
412
+ <a href="#当前不能做什么" class="md-nav__link">
413
+ <span class="md-ellipsis">
414
+
415
+ 当前不能做什么
416
+
417
+ </span>
418
+ </a>
419
+
420
+ </li>
421
+
422
+ <li class="md-nav__item">
423
+ <a href="#Kit-四命令与副作用" class="md-nav__link">
424
+ <span class="md-ellipsis">
425
+
426
+ Kit 四命令与副作用
427
+
428
+ </span>
429
+ </a>
430
+
431
+ </li>
432
+
433
+ <li class="md-nav__item">
434
+ <a href="#check-的七个诊断类" class="md-nav__link">
435
+ <span class="md-ellipsis">
436
+
437
+ check 的七个诊断类
438
+
439
+ </span>
440
+ </a>
441
+
442
+ </li>
443
+
444
+ <li class="md-nav__item">
445
+ <a href="#故障排查" class="md-nav__link">
446
+ <span class="md-ellipsis">
447
+
448
+ 故障排查
449
+
450
+ </span>
451
+ </a>
452
+
453
+ </li>
454
+
455
+ </ul>
456
+
457
+ </nav>
458
+
459
+ </li>
460
+
461
+
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
+
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="../migration/" 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
+ <li class="md-nav__item">
524
+ <a href="../integration/audit/" class="md-nav__link">
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="../integration/audit/mutation-taxonomy/" 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="../integration/audit/independence/" 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="../integration/audit/version-compatibility/" 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="../integration/audit/failure-evidence/" class="md-nav__link">
633
+
634
+
635
+
636
+ <span class="md-ellipsis">
637
+
638
+
639
+ 审计失败证据与 AUD 码
640
+
641
+
642
+
643
+ </span>
644
+
645
+
646
+
647
+ </a>
648
+ </li>
649
+
650
+
651
+
652
+ </ul>
653
+ </nav>
654
+ </div>
655
+ </div>
656
+ </div>
657
+
658
+
659
+
660
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
661
+ <div class="md-sidebar__scrollwrap">
662
+ <div class="md-sidebar__inner">
663
+
664
+
665
+ <nav class="md-nav md-nav--secondary" aria-label="目录">
666
+
667
+
668
+
669
+
670
+
671
+
672
+ <label class="md-nav__title" for="__toc">
673
+ <span class="md-nav__icon md-icon"></span>
674
+ 目录
675
+ </label>
676
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
677
+
678
+ <li class="md-nav__item">
679
+ <a href="#当前能做什么" class="md-nav__link">
680
+ <span class="md-ellipsis">
681
+
682
+ 当前能做什么
683
+
684
+ </span>
685
+ </a>
686
+
687
+ </li>
688
+
689
+ <li class="md-nav__item">
690
+ <a href="#当前不能做什么" class="md-nav__link">
691
+ <span class="md-ellipsis">
692
+
693
+ 当前不能做什么
694
+
695
+ </span>
696
+ </a>
697
+
698
+ </li>
699
+
700
+ <li class="md-nav__item">
701
+ <a href="#Kit-四命令与副作用" class="md-nav__link">
702
+ <span class="md-ellipsis">
703
+
704
+ Kit 四命令与副作用
705
+
706
+ </span>
707
+ </a>
708
+
709
+ </li>
710
+
711
+ <li class="md-nav__item">
712
+ <a href="#check-的七个诊断类" class="md-nav__link">
713
+ <span class="md-ellipsis">
714
+
715
+ check 的七个诊断类
716
+
717
+ </span>
718
+ </a>
719
+
720
+ </li>
721
+
722
+ <li class="md-nav__item">
723
+ <a href="#故障排查" class="md-nav__link">
724
+ <span class="md-ellipsis">
725
+
726
+ 故障排查
727
+
728
+ </span>
729
+ </a>
730
+
731
+ </li>
732
+
733
+ </ul>
734
+
735
+ </nav>
736
+ </div>
737
+ </div>
738
+ </div>
739
+
740
+
741
+
742
+ <div class="md-content" data-md-component="content">
743
+
744
+ <article class="md-content__inner md-typeset">
745
+
746
+
747
+
748
+
749
+
750
+ <h1 id="能力与诊断">能力与诊断<a class="headerlink" href="#能力与诊断" title="Permanent link">&para;</a></h1>
751
+ <p>产品级的当前状态只在唯一状态页 当前产品状态 声明(由 <code>node scripts/docs/fact-check.mjs</code> 对照机器真源机械校验);本页正文不复制任何动态状态口径。仓内检查的诚实边界:manifest、package.json、门禁脚本与工作流等结构检查只证明“字节/结构一致性(仓内可证)”;自然语言语义的正确性不属于仓内正则或摘要可证明的范围,需外部独立审阅。</p>
752
+ <h2 id="当前能做什么">当前能做什么<a class="headerlink" href="#当前能做什么" title="Permanent link">&para;</a></h2>
753
+ <ul>
754
+ <li>projen 受管文件的合成(<code>pnpm synth</code>)、只读漂移检查(<code>pnpm drift</code>)与幂等性验证(<code>pnpm synth-idempotency</code>);</li>
755
+ <li>Contracts v1 校验:六类顶层对象、协议名登记、SFC 错误码体系、13 条强制机械规则(预算不超过 20 条,绝对上限 30 条);</li>
756
+ <li>Harness 机制:原子写、路径与符号链接收容、资源闭包、临时工作区、kernel 请求处理;</li>
757
+ <li>Engineering Kit 四命令(见下节),全部不执行 Git 写操作、发布或删除;</li>
758
+ <li>稳定产品门禁(<code>pnpm check</code> 串联,逐 ID 见 当前产品状态);</li>
759
+ <li>发布字节合同:<code>pnpm run release-artifacts:build</code> 与 <code>pnpm run release-artifacts:verify</code>(见 当前产品状态);</li>
760
+ <li>公开静态站渲染:<code>node scripts/render-public-site.mjs</code>(冻结 MkDocs 环境 strict 构建、内容泄漏扫描与确定性基线;<code>--write</code> / <code>--check</code> / <code>--self-test</code>);</li>
761
+ <li>文档事实/链接检查(<code>node scripts/docs/fact-check.mjs</code>、<code>node scripts/docs/link-check.mjs</code>)。</li>
762
+ </ul>
763
+ <h2 id="当前不能做什么">当前不能做什么<a class="headerlink" href="#当前不能做什么" title="Permanent link">&para;</a></h2>
764
+ <ul>
765
+ <li>不提供发布、部署或远端写入的命令能力;发布与部署的当前状态见 当前产品状态;</li>
766
+ <li>没有第五个 Kit 顶层命令;<code>check</code> 只诊断、绝不自动修复;</li>
767
+ <li>不做多宿主投影、Python 对称运行时或第二套模板引擎(首版禁止扩张项)。</li>
768
+ </ul>
769
+ <h2 id="Kit-四命令与副作用">Kit 四命令与副作用<a class="headerlink" href="#Kit-四命令与副作用" title="Permanent link">&para;</a></h2>
770
+ <p>CLI 入口:<code>packages/skill-family-engineering-kit/src/cli.mjs</code>。恰好四个顶层命令:</p>
771
+ <table>
772
+ <thead>
773
+ <tr>
774
+ <th>命令</th>
775
+ <th>作用</th>
776
+ <th>副作用边界</th>
777
+ </tr>
778
+ </thead>
779
+ <tbody>
780
+ <tr>
781
+ <td><code>scaffold</code></td>
782
+ <td>在空目录生成 Skill Family 项目骨架</td>
783
+ <td>只向空目标目录写入骨架文件(原子写、路径收容);非空或冲突目标被拒绝且不被触碰</td>
784
+ </tr>
785
+ <tr>
786
+ <td><code>adopt-plan</code></td>
787
+ <td>严格只读地规划存量仓采用</td>
788
+ <td>无——不写任何文件(含临时文件),不运行 Git 写命令;计划输出到 stdout</td>
789
+ </tr>
790
+ <tr>
791
+ <td><code>projection</code></td>
792
+ <td>投影受管生成物</td>
793
+ <td>只写 manifest 授权且被目标声明为受管的路径;未授权、手写或越界路径一律拒绝(拒绝时零写入)</td>
794
+ </tr>
795
+ <tr>
796
+ <td><code>check</code></td>
797
+ <td>契约/漂移/闭包/版本/文档事实/Git 前置状态/许可证身份诊断</td>
798
+ <td>无——只诊断、绝不自动修复;Git 仅只读探测</td>
799
+ </tr>
800
+ </tbody>
801
+ </table>
802
+ <p>退出码:0 成功或无发现;1 <code>check</code> 有发现;2 拒绝、用法或机制错误。每次拒绝都打印已注册的 SFC 错误码和稳定 kind。<code>--fix</code>、<code>--apply</code> 等变更模式标志在入口处被拒绝(退出码 2)。</p>
803
+ <h2 id="check-的七个诊断类">check 的七个诊断类<a class="headerlink" href="#check-的七个诊断类" title="Permanent link">&para;</a></h2>
804
+ <p><code>check</code> 命令按类报告发现,可用 <code>--only &lt;class&gt;</code> 单独运行一类:</p>
805
+ <table>
806
+ <thead>
807
+ <tr>
808
+ <th>类</th>
809
+ <th>检查内容</th>
810
+ </tr>
811
+ </thead>
812
+ <tbody>
813
+ <tr>
814
+ <td><code>contracts</code></td>
815
+ <td>发现的契约文档是否通过已登记 Schema 校验</td>
816
+ </tr>
817
+ <tr>
818
+ <td><code>drift</code></td>
819
+ <td>managed-file-lock 条目与磁盘实际字节是否一致</td>
820
+ </tr>
821
+ <tr>
822
+ <td><code>closure</code></td>
823
+ <td>声明输入/输出的资源闭包是否完整</td>
824
+ </tr>
825
+ <tr>
826
+ <td><code>version</code></td>
827
+ <td>声明的 Contracts 版本与冻结版本是否一致</td>
828
+ </tr>
829
+ <tr>
830
+ <td><code>docs</code></td>
831
+ <td>文档事实(README 存在性、身份一致性)</td>
832
+ </tr>
833
+ <tr>
834
+ <td><code>git</code></td>
835
+ <td>只读 Git 前置状态(绝不执行 Git 写)</td>
836
+ </tr>
837
+ <tr>
838
+ <td><code>identity</code></td>
839
+ <td>许可证 Profile 与身份防漂移(机器身份记录为权威)</td>
840
+ </tr>
841
+ </tbody>
842
+ </table>
843
+ <h2 id="故障排查">故障排查<a class="headerlink" href="#故障排查" title="Permanent link">&para;</a></h2>
844
+ <ul>
845
+ <li>命令失败时先确认 Node、pnpm 与锁文件一致(见 <a href="../setup/">安装与环境</a>),再运行 <code>pnpm synth</code>;不要手改 projen 生成文件来绕过失败;</li>
846
+ <li>Git 写操作的授权边界唯一见 <a href="../git-lifecycle/">Git 生命周期指南</a>;未获针对当前任务的显式授权时不得执行任何 Git 写操作;</li>
847
+ <li><code>pnpm check</code> 失败会打印具体门禁与路径;按提示修复根因,不得为转绿放宽检查或修改独立预期值;</li>
848
+ <li>并行开发时若疑似资源抢占导致偶发失败,稍候重试一次再下结论;</li>
849
+ <li>文档站点构建失败时优先核对 <code>scripts/docs/requirements.txt</code> 是否与 <code>scripts/docs/toolchain.json</code> 一致(<code>node scripts/docs/fact-check.mjs</code> 会校验)。</li>
850
+ </ul>
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+
864
+ </article>
865
+ </div>
866
+
867
+
868
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
869
+ </div>
870
+
871
+ </main>
872
+
873
+ <footer class="md-footer">
874
+
875
+ <div class="md-footer-meta md-typeset">
876
+ <div class="md-footer-meta__inner md-grid">
877
+ <div class="md-copyright">
878
+
879
+
880
+ Made with
881
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
882
+ Material for MkDocs
883
+ </a>
884
+
885
+ </div>
886
+
887
+ </div>
888
+ </div>
889
+ </footer>
890
+
891
+ </div>
892
+ <div class="md-dialog" data-md-component="dialog">
893
+ <div class="md-dialog__inner md-typeset"></div>
894
+ </div>
895
+
896
+
897
+
898
+
899
+
900
+ <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>
901
+
902
+
903
+ <script src="../assets/javascripts/bundle.d7400e89.min.js"></script>
904
+
905
+
906
+ </body>
907
+ </html>