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,841 @@
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/integration/audit/independence/">
14
+
15
+
16
+ <link rel="prev" href="../mutation-taxonomy/">
17
+
18
+
19
+ <link rel="next" href="../version-compatibility/">
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
+ <li class="md-nav__item">
341
+ <a href="../../../help/" class="md-nav__link">
342
+
343
+
344
+
345
+ <span class="md-ellipsis">
346
+
347
+
348
+ 能力与诊断
349
+
350
+
351
+
352
+ </span>
353
+
354
+
355
+
356
+ </a>
357
+ </li>
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+ <li class="md-nav__item">
368
+ <a href="../../../architecture/" class="md-nav__link">
369
+
370
+
371
+
372
+ <span class="md-ellipsis">
373
+
374
+
375
+ 架构边界
376
+
377
+
378
+
379
+ </span>
380
+
381
+
382
+
383
+ </a>
384
+ </li>
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+ <li class="md-nav__item">
395
+ <a href="../../../migration/" class="md-nav__link">
396
+
397
+
398
+
399
+ <span class="md-ellipsis">
400
+
401
+
402
+ 存量采用与迁移
403
+
404
+
405
+
406
+ </span>
407
+
408
+
409
+
410
+ </a>
411
+ </li>
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+ <li class="md-nav__item">
422
+ <a href="../" class="md-nav__link">
423
+
424
+
425
+
426
+ <span class="md-ellipsis">
427
+
428
+
429
+ 独立审计集成
430
+
431
+
432
+
433
+ </span>
434
+
435
+
436
+
437
+ </a>
438
+ </li>
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+ <li class="md-nav__item">
449
+ <a href="../mutation-taxonomy/" class="md-nav__link">
450
+
451
+
452
+
453
+ <span class="md-ellipsis">
454
+
455
+
456
+ 审计变异分类学
457
+
458
+
459
+
460
+ </span>
461
+
462
+
463
+
464
+ </a>
465
+ </li>
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+ <li class="md-nav__item md-nav__item--active">
478
+
479
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
480
+
481
+
482
+
483
+
484
+
485
+ <label class="md-nav__link md-nav__link--active" for="__toc">
486
+
487
+
488
+
489
+ <span class="md-ellipsis">
490
+
491
+
492
+ 审计独立性证明
493
+
494
+
495
+
496
+ </span>
497
+
498
+
499
+
500
+ <span class="md-nav__icon md-icon"></span>
501
+ </label>
502
+
503
+ <a href="./" class="md-nav__link md-nav__link--active">
504
+
505
+
506
+
507
+ <span class="md-ellipsis">
508
+
509
+
510
+ 审计独立性证明
511
+
512
+
513
+
514
+ </span>
515
+
516
+
517
+
518
+ </a>
519
+
520
+
521
+
522
+ <nav class="md-nav md-nav--secondary" aria-label="目录">
523
+
524
+
525
+
526
+
527
+
528
+
529
+ <label class="md-nav__title" for="__toc">
530
+ <span class="md-nav__icon md-icon"></span>
531
+ 目录
532
+ </label>
533
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
534
+
535
+ <li class="md-nav__item">
536
+ <a href="#provenance-现行事实" class="md-nav__link">
537
+ <span class="md-ellipsis">
538
+
539
+ provenance 现行事实
540
+
541
+ </span>
542
+ </a>
543
+
544
+ </li>
545
+
546
+ <li class="md-nav__item">
547
+ <a href="#机械证明入口" class="md-nav__link">
548
+ <span class="md-ellipsis">
549
+
550
+ 机械证明入口
551
+
552
+ </span>
553
+ </a>
554
+
555
+ </li>
556
+
557
+ <li class="md-nav__item">
558
+ <a href="#反向拥有禁令" class="md-nav__link">
559
+ <span class="md-ellipsis">
560
+
561
+ 反向拥有禁令
562
+
563
+ </span>
564
+ </a>
565
+
566
+ </li>
567
+
568
+ <li class="md-nav__item">
569
+ <a href="#兼容性证明入口" class="md-nav__link">
570
+ <span class="md-ellipsis">
571
+
572
+ 兼容性证明入口
573
+
574
+ </span>
575
+ </a>
576
+
577
+ </li>
578
+
579
+ </ul>
580
+
581
+ </nav>
582
+
583
+ </li>
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+ <li class="md-nav__item">
594
+ <a href="../version-compatibility/" class="md-nav__link">
595
+
596
+
597
+
598
+ <span class="md-ellipsis">
599
+
600
+
601
+ 审计版本兼容定义
602
+
603
+
604
+
605
+ </span>
606
+
607
+
608
+
609
+ </a>
610
+ </li>
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+ <li class="md-nav__item">
621
+ <a href="../failure-evidence/" class="md-nav__link">
622
+
623
+
624
+
625
+ <span class="md-ellipsis">
626
+
627
+
628
+ 审计失败证据与 AUD 码
629
+
630
+
631
+
632
+ </span>
633
+
634
+
635
+
636
+ </a>
637
+ </li>
638
+
639
+
640
+
641
+ </ul>
642
+ </nav>
643
+ </div>
644
+ </div>
645
+ </div>
646
+
647
+
648
+
649
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
650
+ <div class="md-sidebar__scrollwrap">
651
+ <div class="md-sidebar__inner">
652
+
653
+
654
+ <nav class="md-nav md-nav--secondary" aria-label="目录">
655
+
656
+
657
+
658
+
659
+
660
+
661
+ <label class="md-nav__title" for="__toc">
662
+ <span class="md-nav__icon md-icon"></span>
663
+ 目录
664
+ </label>
665
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
666
+
667
+ <li class="md-nav__item">
668
+ <a href="#provenance-现行事实" class="md-nav__link">
669
+ <span class="md-ellipsis">
670
+
671
+ provenance 现行事实
672
+
673
+ </span>
674
+ </a>
675
+
676
+ </li>
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="#兼容性证明入口" class="md-nav__link">
702
+ <span class="md-ellipsis">
703
+
704
+ 兼容性证明入口
705
+
706
+ </span>
707
+ </a>
708
+
709
+ </li>
710
+
711
+ </ul>
712
+
713
+ </nav>
714
+ </div>
715
+ </div>
716
+ </div>
717
+
718
+
719
+
720
+ <div class="md-content" data-md-component="content">
721
+
722
+ <article class="md-content__inner md-typeset">
723
+
724
+
725
+
726
+
727
+
728
+ <h1 id="独立性声明与机械证明">独立性声明与机械证明<a class="headerlink" href="#独立性声明与机械证明" title="Permanent link">&para;</a></h1>
729
+ <p>FND-060 的验收要求:审计 fixture、预期值和裁决<strong>不来自生成器</strong>;Audit 不依赖 Kit。本页的现行事实是:本仓库不存在独立的第二审阅会话,审计树是产品侧的机械验证设施。机械证明能够证明的是<strong>产品侧输入隔离与兼容性</strong>,不证明作者、模型或认知独立;外部最终接受由仓外独立复审承担。</p>
730
+ <h2 id="provenance-现行事实">provenance 现行事实<a class="headerlink" href="#provenance-现行事实" title="Permanent link">&para;</a></h2>
731
+ <ul>
732
+ <li>全部 18 个变异 fixture 的 provenance 为 <code>product-fixture</code>:产品侧维护的测试语料。预期由产品侧对照合同文档推导(schema 约束 required/pattern/additionalProperties、登记表成员资格、kernel 词表与 params 契约、错误码 append-only 语义),不复用生成器自测预期表,不读取 oracle 判据;这一输入隔离由下方 P4/P5/P6 机械强制。</li>
733
+ <li>基线 pin 的 provenance 为 <code>product-compatibility-fixture</code>:产品侧维护的兼容基线。摘要来自对已冻结产物的 <code>digestAuditSurface()</code> 机械计算,事实清单直接对照合同文档推导。</li>
734
+ <li>它们证明产品侧输入隔离和兼容性,<strong>不证明作者、模型或认知独立</strong>。fixture 与 pin 背后的作者、模型或认知过程是否独立于其他项目参与者,不是仓内机械检查可以证明的对象。</li>
735
+ <li><strong>外部最终接受</strong>:实现者自测与本页机械证明都只形成待审证据,最终接受由仓外独立复审承担。</li>
736
+ <li><strong>诚实性纠错</strong>:旧 fixture 与 pin 曾携带 <code>independent-r2</code> provenance 和独立作者叙事(含作者阅读史声明),与本仓事实不符;provenance 已修正为上述如实词汇,本页随之重写。纠错只触及 provenance、note 与文案等诚实性字段,不改变任何 digest、facts、fixture 内容或机械证明行为。</li>
737
+ </ul>
738
+ <h2 id="机械证明入口">机械证明入口<a class="headerlink" href="#机械证明入口" title="Permanent link">&para;</a></h2>
739
+ <pre><code class="language-bash">node docs/integration/audit/runner/proof-independence.mjs
740
+ </code></pre>
741
+ <p>证明检查与结论:</p>
742
+ <table>
743
+ <thead>
744
+ <tr>
745
+ <th>检查</th>
746
+ <th>结论</th>
747
+ </tr>
748
+ </thead>
749
+ <tbody>
750
+ <tr>
751
+ <td>P0-modules</td>
752
+ <td>收集到全部审计模块(证明范围完备)</td>
753
+ </tr>
754
+ <tr>
755
+ <td>P1-imports</td>
756
+ <td>全部 import 只允许 <code>node:</code> 内建与相对路径,且相对说明符的解析域被限制在审计树或 contracts 包内(杜绝相对路径绕到生成器/oracle 模块);禁止 engineering-kit / harness / 第三方包 → <strong>Audit 不依赖 Kit</strong></td>
757
+ </tr>
758
+ <tr>
759
+ <td>P2-contracts-site</td>
760
+ <td>Contracts 只在唯一声明点(<code>lib/contracts-client.mjs</code>)被导入</td>
761
+ </tr>
762
+ <tr>
763
+ <td>P3-chokepoint</td>
764
+ <td>文件读取只经过两个声明读取点:<code>lib/guard.mjs</code>(审计树内,裁决输入)与 <code>lib/consumed-package.mjs</code>(被消费包根内,锁验证);只读 API;全树无任何写 API</td>
765
+ </tr>
766
+ <tr>
767
+ <td>P4-refusal</td>
768
+ <td>现场拒读演示:对生成器自测运行器、oracle 判据、oracle 运行器、fixture README、profiles、kit 入口、harness 入口逐一尝试读取,全部被 guard 以 AUD-IND-001 拒绝</td>
769
+ </tr>
770
+ <tr>
771
+ <td>P5-provenance</td>
772
+ <td>全部变异 fixture 的 provenance 为 <code>product-fixture</code>,基线 pin 的 provenance 在声明词汇表内(当前唯一成员 <code>product-compatibility-fixture</code>);任何沿用旧独立角色 provenance 词汇的工件都会被判违规</td>
773
+ </tr>
774
+ <tr>
775
+ <td>P6-literals</td>
776
+ <td>除证明脚本自身(拒读演示者,受 P4 约束)外,任何审计模块的字符串字面量都不得点名生成器自测表或 oracle 判据文件</td>
777
+ </tr>
778
+ </tbody>
779
+ </table>
780
+ <p><strong>推理链与能力边界</strong>:P3 保证裁决输入只能来自审计树;P4 证明生成器/oracle 工件在运行时不可读;P6 证明其文件名在代码中不可引用;P5 机械禁止旧独立角色 provenance 词汇回潮。因此运行时不存在任何把生成器预期变成审计判据的路径——这证明的是<strong>产品侧输入隔离</strong>。作者、模型或认知是否独立不在机械证明能力之内,由仓外独立复审承担最终接受。</p>
781
+ <h2 id="反向拥有禁令">反向拥有禁令<a class="headerlink" href="#反向拥有禁令" title="Permanent link">&para;</a></h2>
782
+ <p>Contracts 侧新增的 <code>src/audit-surface.mjs</code> 是纯只读投影:不接收回调、不注册任何东西、不 import 任何审计工件;<code>packages/skill-family-contracts/test/audit-surface.test.mjs</code> 含一条机械测试,断言该模块的 import 全部为 <code>node:</code> 或本地相对模块,且源码不出现 integration/audit、engineering-kit、harness 字样。依赖方向恒为 Audit → Contracts。</p>
783
+ <h2 id="兼容性证明入口">兼容性证明入口<a class="headerlink" href="#兼容性证明入口" title="Permanent link">&para;</a></h2>
784
+ <p>变异重放与基线 pin 的比对(摘要、事实清单、引擎参数完整性)见 <a href="../version-compatibility/">version-compatibility.md</a> 与 isolation-and-lockfile.md;分类学见 <a href="../mutation-taxonomy/">mutation-taxonomy.md</a>。pin 是产品侧兼容基线(<code>product-compatibility-fixture</code>),证明被消费的 Contracts 包与冻结基线字节一致、校验语义一致,同样不作任何独立角色声称。</p>
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+ </article>
799
+ </div>
800
+
801
+
802
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
803
+ </div>
804
+
805
+ </main>
806
+
807
+ <footer class="md-footer">
808
+
809
+ <div class="md-footer-meta md-typeset">
810
+ <div class="md-footer-meta__inner md-grid">
811
+ <div class="md-copyright">
812
+
813
+
814
+ Made with
815
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
816
+ Material for MkDocs
817
+ </a>
818
+
819
+ </div>
820
+
821
+ </div>
822
+ </div>
823
+ </footer>
824
+
825
+ </div>
826
+ <div class="md-dialog" data-md-component="dialog">
827
+ <div class="md-dialog__inner md-typeset"></div>
828
+ </div>
829
+
830
+
831
+
832
+
833
+
834
+ <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>
835
+
836
+
837
+ <script src="../../../assets/javascripts/bundle.d7400e89.min.js"></script>
838
+
839
+
840
+ </body>
841
+ </html>