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.
- package/CODE_OF_CONDUCT.md +131 -0
- package/CONTRIBUTING.md +69 -0
- package/LICENSE +201 -0
- package/README.md +74 -0
- package/SECURITY.md +34 -0
- package/data/licensing/registry.json +211 -0
- package/data/licensing/schema.json +207 -0
- package/docs/.nojekyll +0 -0
- package/docs/404.html +613 -0
- package/docs/architecture/index.html +904 -0
- package/docs/assets/images/favicon.png +0 -0
- package/docs/assets/javascripts/bundle.d7400e89.min.js +16 -0
- package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
- package/docs/assets/javascripts/lunr/tinyseg.js +206 -0
- package/docs/assets/javascripts/lunr/wordcut.js +6708 -0
- package/docs/assets/javascripts/workers/search.2c215733.min.js +42 -0
- package/docs/assets/stylesheets/main.ec1eaa64.min.css +1 -0
- package/docs/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
- package/docs/git-lifecycle/index.html +976 -0
- package/docs/help/index.html +907 -0
- package/docs/index.html +837 -0
- package/docs/integration/audit/baseline/audit-codes.json +62 -0
- package/docs/integration/audit/failure-evidence/index.html +872 -0
- package/docs/integration/audit/independence/index.html +841 -0
- package/docs/integration/audit/index.html +826 -0
- package/docs/integration/audit/mutation-taxonomy/index.html +1022 -0
- package/docs/integration/audit/schemas/audit-evidence.schema.json +182 -0
- package/docs/integration/audit/version-compatibility/index.html +845 -0
- package/docs/migration/index.html +1213 -0
- package/docs/quickstart/index.html +842 -0
- package/docs/search/search_index.json +1 -0
- package/docs/setup/index.html +941 -0
- package/docs/sitemap.xml +51 -0
- package/package.json +42 -0
- package/src/adopt-plan.mjs +594 -0
- package/src/check.mjs +415 -0
- package/src/cli.mjs +230 -0
- package/src/errors.mjs +144 -0
- package/src/gitprobe.mjs +230 -0
- package/src/identity-check.mjs +563 -0
- package/src/index.mjs +233 -0
- package/src/license-texts/Apache-2.0.txt +201 -0
- package/src/license-texts/MIT.txt +21 -0
- package/src/licensing.mjs +299 -0
- package/src/migration.mjs +427 -0
- package/src/projection.mjs +397 -0
- package/src/scaffold.mjs +178 -0
- package/src/skeleton.mjs +886 -0
- package/src/workspace.mjs +236 -0
|
@@ -0,0 +1,845 @@
|
|
|
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/version-compatibility/">
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<link rel="prev" href="../independence/">
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<link rel="next" href="../failure-evidence/">
|
|
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
|
+
<li class="md-nav__item">
|
|
476
|
+
<a href="../independence/" class="md-nav__link">
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
<span class="md-ellipsis">
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
审计独立性证明
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
</span>
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
</a>
|
|
492
|
+
</li>
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
<li class="md-nav__item md-nav__item--active">
|
|
505
|
+
|
|
506
|
+
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
<span class="md-ellipsis">
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
审计版本兼容定义
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
</span>
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
<span class="md-nav__icon md-icon"></span>
|
|
528
|
+
</label>
|
|
529
|
+
|
|
530
|
+
<a href="./" class="md-nav__link md-nav__link--active">
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
<span class="md-ellipsis">
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
审计版本兼容定义
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
</span>
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
</a>
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
<label class="md-nav__title" for="__toc">
|
|
557
|
+
<span class="md-nav__icon md-icon"></span>
|
|
558
|
+
目录
|
|
559
|
+
</label>
|
|
560
|
+
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
561
|
+
|
|
562
|
+
<li class="md-nav__item">
|
|
563
|
+
<a href="#兼容规则" class="md-nav__link">
|
|
564
|
+
<span class="md-ellipsis">
|
|
565
|
+
|
|
566
|
+
兼容规则
|
|
567
|
+
|
|
568
|
+
</span>
|
|
569
|
+
</a>
|
|
570
|
+
|
|
571
|
+
</li>
|
|
572
|
+
|
|
573
|
+
<li class="md-nav__item">
|
|
574
|
+
<a href="#变更分级" class="md-nav__link">
|
|
575
|
+
<span class="md-ellipsis">
|
|
576
|
+
|
|
577
|
+
变更分级
|
|
578
|
+
|
|
579
|
+
</span>
|
|
580
|
+
</a>
|
|
581
|
+
|
|
582
|
+
</li>
|
|
583
|
+
|
|
584
|
+
<li class="md-nav__item">
|
|
585
|
+
<a href="#pin-生命周期" class="md-nav__link">
|
|
586
|
+
<span class="md-ellipsis">
|
|
587
|
+
|
|
588
|
+
pin 生命周期
|
|
589
|
+
|
|
590
|
+
</span>
|
|
591
|
+
</a>
|
|
592
|
+
|
|
593
|
+
</li>
|
|
594
|
+
|
|
595
|
+
</ul>
|
|
596
|
+
|
|
597
|
+
</nav>
|
|
598
|
+
|
|
599
|
+
</li>
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
<li class="md-nav__item">
|
|
610
|
+
<a href="../failure-evidence/" class="md-nav__link">
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
<span class="md-ellipsis">
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
审计失败证据与 AUD 码
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
</span>
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
</a>
|
|
626
|
+
</li>
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
</ul>
|
|
631
|
+
</nav>
|
|
632
|
+
</div>
|
|
633
|
+
</div>
|
|
634
|
+
</div>
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
639
|
+
<div class="md-sidebar__scrollwrap">
|
|
640
|
+
<div class="md-sidebar__inner">
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
<label class="md-nav__title" for="__toc">
|
|
651
|
+
<span class="md-nav__icon md-icon"></span>
|
|
652
|
+
目录
|
|
653
|
+
</label>
|
|
654
|
+
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
655
|
+
|
|
656
|
+
<li class="md-nav__item">
|
|
657
|
+
<a href="#兼容规则" class="md-nav__link">
|
|
658
|
+
<span class="md-ellipsis">
|
|
659
|
+
|
|
660
|
+
兼容规则
|
|
661
|
+
|
|
662
|
+
</span>
|
|
663
|
+
</a>
|
|
664
|
+
|
|
665
|
+
</li>
|
|
666
|
+
|
|
667
|
+
<li class="md-nav__item">
|
|
668
|
+
<a href="#变更分级" class="md-nav__link">
|
|
669
|
+
<span class="md-ellipsis">
|
|
670
|
+
|
|
671
|
+
变更分级
|
|
672
|
+
|
|
673
|
+
</span>
|
|
674
|
+
</a>
|
|
675
|
+
|
|
676
|
+
</li>
|
|
677
|
+
|
|
678
|
+
<li class="md-nav__item">
|
|
679
|
+
<a href="#pin-生命周期" class="md-nav__link">
|
|
680
|
+
<span class="md-ellipsis">
|
|
681
|
+
|
|
682
|
+
pin 生命周期
|
|
683
|
+
|
|
684
|
+
</span>
|
|
685
|
+
</a>
|
|
686
|
+
|
|
687
|
+
</li>
|
|
688
|
+
|
|
689
|
+
</ul>
|
|
690
|
+
|
|
691
|
+
</nav>
|
|
692
|
+
</div>
|
|
693
|
+
</div>
|
|
694
|
+
</div>
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
<div class="md-content" data-md-component="content">
|
|
699
|
+
|
|
700
|
+
<article class="md-content__inner md-typeset">
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
<h1 id="版本兼容定义">版本兼容定义<a class="headerlink" href="#版本兼容定义" title="Permanent link">¶</a></h1>
|
|
707
|
+
<p>审计消费 Contracts 以<strong>两个版本坐标 + 一个摘要</strong>为准:</p>
|
|
708
|
+
<table>
|
|
709
|
+
<thead>
|
|
710
|
+
<tr>
|
|
711
|
+
<th>坐标</th>
|
|
712
|
+
<th>来源</th>
|
|
713
|
+
<th>含义</th>
|
|
714
|
+
</tr>
|
|
715
|
+
</thead>
|
|
716
|
+
<tbody>
|
|
717
|
+
<tr>
|
|
718
|
+
<td><code>contractsVersion</code></td>
|
|
719
|
+
<td>Contracts 冻结版本(当前 <code>1.1.1</code>)</td>
|
|
720
|
+
<td>机器契约内容的版本</td>
|
|
721
|
+
</tr>
|
|
722
|
+
<tr>
|
|
723
|
+
<td><code>auditSurfaceVersion</code></td>
|
|
724
|
+
<td>审计消费接口自身的版本(当前 <code>1</code>)</td>
|
|
725
|
+
<td>消费面形状的版本</td>
|
|
726
|
+
</tr>
|
|
727
|
+
<tr>
|
|
728
|
+
<td><code>surfaceDigest</code></td>
|
|
729
|
+
<td><code>digestAuditSurface()</code>(SHA-256)</td>
|
|
730
|
+
<td>消费面的精确字节指纹</td>
|
|
731
|
+
</tr>
|
|
732
|
+
</tbody>
|
|
733
|
+
</table>
|
|
734
|
+
<p>三者都由 <code>describeAuditSurface()</code> 一次性给出,审计侧把它们与基线 pin(当前为 <code>baseline/contracts-1.1.1.pin.json</code>)比对。</p>
|
|
735
|
+
<h2 id="兼容规则">兼容规则<a class="headerlink" href="#兼容规则" title="Permanent link">¶</a></h2>
|
|
736
|
+
<p>一个被消费的 Contracts 包与某个基线 pin <strong>兼容</strong>,当且仅当同时满足:</p>
|
|
737
|
+
<ol>
|
|
738
|
+
<li><code>contractsVersion</code> 与 pin 相同;</li>
|
|
739
|
+
<li><code>auditSurfaceVersion</code> 与 pin 相同;</li>
|
|
740
|
+
<li><code>digestAuditSurface()</code> 与 pin 的 <code>surfaceDigest</code> 相同。</li>
|
|
741
|
+
</ol>
|
|
742
|
+
<p>由于 surface 摘要覆盖了登记表、错误码、规则、kernel 协议、全部 schema 文档与引擎参数,摘要相同蕴含内容逐字节等价(规范化意义下)。三个条件任一不满足即<strong>不兼容</strong>:审计必须报告 AUD-BASE-001(运行期基线检查)或 AUD-LOCK-001(包锁验证),并拒绝给出通过裁决。</p>
|
|
743
|
+
<h2 id="变更分级">变更分级<a class="headerlink" href="#变更分级" title="Permanent link">¶</a></h2>
|
|
744
|
+
<table>
|
|
745
|
+
<thead>
|
|
746
|
+
<tr>
|
|
747
|
+
<th>变更</th>
|
|
748
|
+
<th>分级</th>
|
|
749
|
+
<th>需要的动作</th>
|
|
750
|
+
</tr>
|
|
751
|
+
</thead>
|
|
752
|
+
<tbody>
|
|
753
|
+
<tr>
|
|
754
|
+
<td>不改变 surface 字节的变更(如注释、测试)</td>
|
|
755
|
+
<td>无影响</td>
|
|
756
|
+
<td>无需新 pin</td>
|
|
757
|
+
</tr>
|
|
758
|
+
<tr>
|
|
759
|
+
<td>改变 surface 字节但不改变含义的变更</td>
|
|
760
|
+
<td>不兼容</td>
|
|
761
|
+
<td>禁止以"同义"为由免检;必须走合同变更并重新批准 pin</td>
|
|
762
|
+
</tr>
|
|
763
|
+
<tr>
|
|
764
|
+
<td>新增审计消费接口(只读、增量)</td>
|
|
765
|
+
<td>auditSurfaceVersion 递增</td>
|
|
766
|
+
<td>新 pin + 本文件更新</td>
|
|
767
|
+
</tr>
|
|
768
|
+
<tr>
|
|
769
|
+
<td>改变既有消费接口含义</td>
|
|
770
|
+
<td>auditSurfaceVersion 递增 + 合同变更</td>
|
|
771
|
+
<td>新 pin;旧 pin 存档不删</td>
|
|
772
|
+
</tr>
|
|
773
|
+
<tr>
|
|
774
|
+
<td>Contracts 版本演进(1.0.0 → 下一版本)</td>
|
|
775
|
+
<td>contractsVersion 变化</td>
|
|
776
|
+
<td>新的基线 pin 文件;旧 pin 文件只读存档</td>
|
|
777
|
+
</tr>
|
|
778
|
+
</tbody>
|
|
779
|
+
</table>
|
|
780
|
+
<h2 id="pin-生命周期">pin 生命周期<a class="headerlink" href="#pin-生命周期" title="Permanent link">¶</a></h2>
|
|
781
|
+
<ul>
|
|
782
|
+
<li>每个经版本化批准的 Contracts 发布对应<strong>一个</strong> pin 文件:<code>baseline/contracts-<version>.pin.json</code>;</li>
|
|
783
|
+
<li>pin 是 append-only:批准后不再原地编辑,作废以新 pin 取代并在 <code>note</code> 中说明;</li>
|
|
784
|
+
<li>pin 由产品侧在冻结时刻构造(provenance <code>product-compatibility-fixture</code>):摘要来自对已冻结产物的 <code>digestAuditSurface()</code> 机械计算,事实清单直接对照合同文档推导,不取自生成器或 oracle;本仓库不存在独立的第二审阅会话,pin 不作任何独立角色声称;</li>
|
|
785
|
+
<li><strong>诚实性修正(2026-08-05)</strong>:旧 pin(1.0.0、1.1.0)曾携带 <code>independent-r2</code> provenance 与独立重签叙事,该声称与本仓事实不符,已就地修正 provenance 与 note;修正只触及 provenance/note 两处诚实性字段,不改变任何 digest 或 facts 字段,旧 pin 继续作为只读兼容存档;</li>
|
|
786
|
+
<li><strong>Contracts 1.1.1(2026-08-05)</strong>:仅描述补丁(migration-manifest schema 三处 description 改写为稳定产品语义;无任何校验关键字、公开 API、错误码、规则或引擎参数变化)。按本生命周期新增 <code>contracts-1.1.1.pin.json</code> 为现行基线,<code>contracts-1.1.0.pin.json</code> 转为只读兼容存档。1.1.1 pin 相对 1.1.0 pin 的准确事实:<strong>校验语义和事实清单不变</strong>(<code>facts</code> 逐项一致);四个 Contracts 文档(registry、error-codes、rules、kernel-protocol)因内嵌 <code>contractsVersion</code> 从 <code>1.1.0</code> 更新到 <code>1.1.1</code> 而改变摘要;migration-manifest Schema 因上述三处 description 更新而改变摘要;其余五个 Schema(project-manifest、profile-descriptor、managed-file-lock、operation-request、operation-result)摘要不变。<code>proof-independence.mjs</code> 的 P5 强制这套如实声明的 provenance 词汇(pin:<code>product-compatibility-fixture</code>;变异夹具:<code>product-fixture</code>);</li>
|
|
787
|
+
<li>审计运行时先做包锁验证(见 isolation-and-lockfile.md),再做变异重放;pin 不匹配时,变异重放结果不得被采信。</li>
|
|
788
|
+
</ul>
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
</article>
|
|
803
|
+
</div>
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
807
|
+
</div>
|
|
808
|
+
|
|
809
|
+
</main>
|
|
810
|
+
|
|
811
|
+
<footer class="md-footer">
|
|
812
|
+
|
|
813
|
+
<div class="md-footer-meta md-typeset">
|
|
814
|
+
<div class="md-footer-meta__inner md-grid">
|
|
815
|
+
<div class="md-copyright">
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
Made with
|
|
819
|
+
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
820
|
+
Material for MkDocs
|
|
821
|
+
</a>
|
|
822
|
+
|
|
823
|
+
</div>
|
|
824
|
+
|
|
825
|
+
</div>
|
|
826
|
+
</div>
|
|
827
|
+
</footer>
|
|
828
|
+
|
|
829
|
+
</div>
|
|
830
|
+
<div class="md-dialog" data-md-component="dialog">
|
|
831
|
+
<div class="md-dialog__inner md-typeset"></div>
|
|
832
|
+
</div>
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
<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>
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
<script src="../../../assets/javascripts/bundle.d7400e89.min.js"></script>
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
</body>
|
|
845
|
+
</html>
|