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.
- package/CHANGELOG.md +43 -0
- package/CHANGELOG.zh-CN.md +43 -0
- package/NOTICE +10 -0
- package/README.md +160 -55
- package/README.zh-CN.md +210 -0
- package/candidate/index.mjs +4 -0
- package/candidate/profile-bundle.mjs +1150 -0
- package/candidate/projection-bundle-cli.mjs +64 -0
- package/candidate/skill-naming-cli.mjs +59 -0
- package/candidate/skill-naming-policy.json +46 -0
- package/candidate/skill-naming.mjs +280 -0
- package/docs/404.html +1434 -408
- package/docs/agents/architecture-routing/index.html +1944 -0
- package/docs/agents/capability-catalog.en.json +1564 -0
- package/docs/agents/capability-catalog.json +935 -0
- package/docs/agents/capability-catalog.schema.json +179 -0
- package/docs/agents/capability-catalog.zh-CN.json +1564 -0
- package/docs/agents/index.html +1914 -0
- package/docs/architecture/index.html +1706 -497
- package/docs/assets/javascripts/lunr/tinyseg.js +2 -2
- package/docs/assets/javascripts/lunr/wordcut.js +37 -37
- package/docs/en/agents/architecture-routing/index.html +1944 -0
- package/docs/en/agents/index.html +1925 -0
- package/docs/en/architecture/index.html +2187 -0
- package/docs/en/examples-and-fixtures/index.html +1888 -0
- package/docs/en/help/index.html +2035 -0
- package/docs/en/index.html +1895 -0
- package/docs/en/licensing/index.html +1917 -0
- package/docs/en/migration/index.html +2335 -0
- package/docs/en/quickstart/index.html +1919 -0
- package/docs/en/recipes/adapter-text-closure/index.html +2000 -0
- package/docs/en/recipes/adopt-existing-repository/index.html +1987 -0
- package/docs/en/recipes/deterministic-human-report/index.html +1998 -0
- package/docs/en/recipes/domain-schema-validation/index.html +2009 -0
- package/docs/en/recipes/durable-local-state/index.html +2009 -0
- package/docs/en/recipes/host-profile-integration/index.html +2001 -0
- package/docs/en/recipes/index.html +1877 -0
- package/docs/en/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
- package/docs/en/reference/api/index.html +1941 -0
- package/docs/en/reference/compatibility/index.html +2036 -0
- package/docs/en/reference/failure-and-side-effect-matrix/index.html +2216 -0
- package/docs/examples-and-fixtures/index.html +1871 -0
- package/docs/git-lifecycle/index.html +1508 -482
- package/docs/help/index.html +1655 -554
- package/docs/index.html +1479 -450
- package/docs/integration/audit/failure-evidence/index.html +1488 -462
- package/docs/integration/audit/independence/index.html +1513 -487
- package/docs/integration/audit/index.html +1514 -488
- package/docs/integration/audit/mutation-taxonomy/index.html +1548 -522
- package/docs/integration/audit/version-compatibility/index.html +1489 -463
- package/docs/licensing/index.html +1917 -0
- package/docs/migration/index.html +1679 -586
- package/docs/public/status/index.html +1542 -516
- package/docs/quickstart/index.html +1589 -539
- package/docs/recipes/adapter-text-closure/index.html +2000 -0
- package/docs/recipes/adopt-existing-repository/index.html +1987 -0
- package/docs/recipes/deterministic-human-report/index.html +1998 -0
- package/docs/recipes/domain-schema-validation/index.html +2009 -0
- package/docs/recipes/durable-local-state/index.html +2009 -0
- package/docs/recipes/host-profile-integration/index.html +2001 -0
- package/docs/recipes/index.html +1877 -0
- package/docs/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
- package/docs/reference/api/contracts/index.html +2558 -0
- package/docs/reference/api/engineering-kit/index.html +2577 -0
- package/docs/reference/api/harness/index.html +2634 -0
- package/docs/reference/api/index.html +1881 -0
- package/docs/reference/compatibility/index.html +2036 -0
- package/docs/reference/failure-and-side-effect-matrix/index.html +2216 -0
- package/docs/search/search_index.json +1 -1
- package/docs/setup/index.html +1494 -468
- package/docs/sitemap.xml +152 -0
- package/package.json +16 -5
- package/release-notes/0.2.1.yaml +23 -0
- 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/migration/">
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
|
|
16
16
|
<link rel="prev" href="../public/status/">
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<link rel="next" href="../
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<link rel="next" href="../licensing/">
|
|
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
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<title>中文 · 存量采用与迁移 - Skill Family Foundation</title>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
34
|
<link rel="stylesheet" href="../assets/stylesheets/main.ec1eaa64.min.css">
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
|
|
36
|
+
|
|
37
37
|
<link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
50
|
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
51
|
-
|
|
52
|
-
|
|
53
51
|
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
56
|
</head>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
66
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
|
|
68
|
+
|
|
69
69
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
70
70
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
71
71
|
<label class="md-overlay" for="__drawer"></label>
|
|
72
72
|
<div data-md-component="skip">
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
|
|
74
|
+
|
|
75
75
|
<a href="#存量采用与迁移FND-070" 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,764 +184,1874 @@
|
|
|
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
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
250
|
+
|
|
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
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
277
|
+
|
|
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
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
304
|
+
|
|
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
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
340
|
<li class="md-nav__item">
|
|
341
341
|
<a href="../help/" class="md-nav__link">
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
|
|
345
345
|
<span class="md-ellipsis">
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
能力与诊断
|
|
349
|
-
|
|
350
346
|
|
|
351
|
-
|
|
347
|
+
|
|
348
|
+
中文 · 能力与诊断
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
352
|
</span>
|
|
353
|
-
|
|
354
|
-
|
|
353
|
+
|
|
354
|
+
|
|
355
355
|
|
|
356
356
|
</a>
|
|
357
357
|
</li>
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
367
|
<li class="md-nav__item">
|
|
368
368
|
<a href="../architecture/" class="md-nav__link">
|
|
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
384
|
</li>
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
394
|
<li class="md-nav__item">
|
|
395
395
|
<a href="../public/status/" class="md-nav__link">
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
399
|
<span class="md-ellipsis">
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
公开状态
|
|
403
|
-
|
|
404
400
|
|
|
405
|
-
|
|
401
|
+
|
|
402
|
+
中文 · 公开状态
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
406
|
</span>
|
|
407
|
-
|
|
408
|
-
|
|
407
|
+
|
|
408
|
+
|
|
409
409
|
|
|
410
410
|
</a>
|
|
411
411
|
</li>
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
423
|
<li class="md-nav__item md-nav__item--active">
|
|
424
|
-
|
|
424
|
+
|
|
425
425
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
<span class="md-ellipsis">
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
存量采用与迁移
|
|
439
|
-
|
|
440
426
|
|
|
441
|
-
|
|
442
|
-
</span>
|
|
443
|
-
|
|
444
|
-
|
|
445
427
|
|
|
446
|
-
<span class="md-nav__icon md-icon"></span>
|
|
447
|
-
</label>
|
|
448
|
-
|
|
449
|
-
<a href="./" class="md-nav__link md-nav__link--active">
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
<span class="md-ellipsis">
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
存量采用与迁移
|
|
457
|
-
|
|
458
428
|
|
|
459
|
-
|
|
460
|
-
</span>
|
|
461
|
-
|
|
462
|
-
|
|
463
429
|
|
|
464
|
-
</a>
|
|
465
|
-
|
|
466
|
-
|
|
467
430
|
|
|
468
|
-
<
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
431
|
+
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
<span class="md-ellipsis">
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
中文 · 存量采用与迁移
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
</span>
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
<span class="md-nav__icon md-icon"></span>
|
|
447
|
+
</label>
|
|
448
|
+
|
|
449
|
+
<a href="./" class="md-nav__link md-nav__link--active">
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
<span class="md-ellipsis">
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
中文 · 存量采用与迁移
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
</span>
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
</a>
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
<label class="md-nav__title" for="__toc">
|
|
476
476
|
<span class="md-nav__icon md-icon"></span>
|
|
477
477
|
目录
|
|
478
478
|
</label>
|
|
479
479
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
480
|
-
|
|
480
|
+
|
|
481
|
+
<li class="md-nav__item">
|
|
482
|
+
<a href="#分类方法" class="md-nav__link">
|
|
483
|
+
<span class="md-ellipsis">
|
|
484
|
+
|
|
485
|
+
分类方法
|
|
486
|
+
|
|
487
|
+
</span>
|
|
488
|
+
</a>
|
|
489
|
+
|
|
490
|
+
</li>
|
|
491
|
+
|
|
481
492
|
<li class="md-nav__item">
|
|
482
493
|
<a href="#原则" class="md-nav__link">
|
|
483
494
|
<span class="md-ellipsis">
|
|
484
|
-
|
|
495
|
+
|
|
485
496
|
原则
|
|
486
|
-
|
|
497
|
+
|
|
487
498
|
</span>
|
|
488
499
|
</a>
|
|
489
|
-
|
|
500
|
+
|
|
490
501
|
</li>
|
|
491
|
-
|
|
502
|
+
|
|
492
503
|
<li class="md-nav__item">
|
|
493
504
|
<a href="#adopt-plan-输出结构" class="md-nav__link">
|
|
494
505
|
<span class="md-ellipsis">
|
|
495
|
-
|
|
506
|
+
|
|
496
507
|
adopt-plan 输出结构
|
|
497
|
-
|
|
508
|
+
|
|
498
509
|
</span>
|
|
499
510
|
</a>
|
|
500
|
-
|
|
511
|
+
|
|
501
512
|
</li>
|
|
502
|
-
|
|
513
|
+
|
|
503
514
|
<li class="md-nav__item">
|
|
504
515
|
<a href="#迁移清单skill-familymigrationjson" class="md-nav__link">
|
|
505
516
|
<span class="md-ellipsis">
|
|
506
|
-
|
|
517
|
+
|
|
507
518
|
迁移清单(skill-family.migration.json)
|
|
508
|
-
|
|
519
|
+
|
|
509
520
|
</span>
|
|
510
521
|
</a>
|
|
511
|
-
|
|
522
|
+
|
|
512
523
|
</li>
|
|
513
|
-
|
|
524
|
+
|
|
514
525
|
<li class="md-nav__item">
|
|
515
526
|
<a href="#迁移状态机" class="md-nav__link">
|
|
516
527
|
<span class="md-ellipsis">
|
|
517
|
-
|
|
528
|
+
|
|
518
529
|
迁移状态机
|
|
519
|
-
|
|
530
|
+
|
|
520
531
|
</span>
|
|
521
532
|
</a>
|
|
522
|
-
|
|
533
|
+
|
|
523
534
|
</li>
|
|
524
|
-
|
|
535
|
+
|
|
525
536
|
<li class="md-nav__item">
|
|
526
537
|
<a href="#完成判定门禁" class="md-nav__link">
|
|
527
538
|
<span class="md-ellipsis">
|
|
528
|
-
|
|
539
|
+
|
|
529
540
|
完成判定门禁
|
|
530
|
-
|
|
541
|
+
|
|
531
542
|
</span>
|
|
532
543
|
</a>
|
|
533
|
-
|
|
544
|
+
|
|
534
545
|
<nav class="md-nav" aria-label="完成判定门禁">
|
|
535
546
|
<ul class="md-nav__list">
|
|
536
|
-
|
|
547
|
+
|
|
537
548
|
<li class="md-nav__item">
|
|
538
549
|
<a href="#强制负例任一场景-completion-必须为-false" class="md-nav__link">
|
|
539
550
|
<span class="md-ellipsis">
|
|
540
|
-
|
|
551
|
+
|
|
541
552
|
强制负例(任一场景 completion 必须为 false)
|
|
542
|
-
|
|
553
|
+
|
|
543
554
|
</span>
|
|
544
555
|
</a>
|
|
545
|
-
|
|
556
|
+
|
|
546
557
|
</li>
|
|
547
|
-
|
|
558
|
+
|
|
548
559
|
</ul>
|
|
549
560
|
</nav>
|
|
550
|
-
|
|
561
|
+
|
|
562
|
+
</li>
|
|
563
|
+
|
|
564
|
+
<li class="md-nav__item">
|
|
565
|
+
<a href="#旧实现删除与回滚合同" class="md-nav__link">
|
|
566
|
+
<span class="md-ellipsis">
|
|
567
|
+
|
|
568
|
+
旧实现删除与回滚合同
|
|
569
|
+
|
|
570
|
+
</span>
|
|
571
|
+
</a>
|
|
572
|
+
|
|
551
573
|
</li>
|
|
552
|
-
|
|
574
|
+
|
|
553
575
|
<li class="md-nav__item">
|
|
554
576
|
<a href="#十字段-hand-off-草案" class="md-nav__link">
|
|
555
577
|
<span class="md-ellipsis">
|
|
556
|
-
|
|
578
|
+
|
|
557
579
|
十字段 hand-off 草案
|
|
558
|
-
|
|
580
|
+
|
|
559
581
|
</span>
|
|
560
582
|
</a>
|
|
561
|
-
|
|
583
|
+
|
|
562
584
|
<nav class="md-nav" aria-label="十字段 hand-off 草案">
|
|
563
585
|
<ul class="md-nav__list">
|
|
564
|
-
|
|
586
|
+
|
|
565
587
|
<li class="md-nav__item">
|
|
566
588
|
<a href="#INCOMPLETE-阻断规则" class="md-nav__link">
|
|
567
589
|
<span class="md-ellipsis">
|
|
568
|
-
|
|
590
|
+
|
|
569
591
|
INCOMPLETE 阻断规则
|
|
570
|
-
|
|
592
|
+
|
|
571
593
|
</span>
|
|
572
594
|
</a>
|
|
573
|
-
|
|
595
|
+
|
|
574
596
|
</li>
|
|
575
|
-
|
|
597
|
+
|
|
576
598
|
<li class="md-nav__item">
|
|
577
599
|
<a href="#绑定" class="md-nav__link">
|
|
578
600
|
<span class="md-ellipsis">
|
|
579
|
-
|
|
601
|
+
|
|
580
602
|
绑定
|
|
581
|
-
|
|
603
|
+
|
|
582
604
|
</span>
|
|
583
605
|
</a>
|
|
584
|
-
|
|
606
|
+
|
|
585
607
|
</li>
|
|
586
|
-
|
|
608
|
+
|
|
587
609
|
<li class="md-nav__item">
|
|
588
610
|
<a href="#渲染边界" class="md-nav__link">
|
|
589
611
|
<span class="md-ellipsis">
|
|
590
|
-
|
|
612
|
+
|
|
591
613
|
渲染边界
|
|
592
|
-
|
|
614
|
+
|
|
593
615
|
</span>
|
|
594
616
|
</a>
|
|
595
|
-
|
|
617
|
+
|
|
596
618
|
</li>
|
|
597
|
-
|
|
619
|
+
|
|
598
620
|
</ul>
|
|
599
621
|
</nav>
|
|
600
|
-
|
|
622
|
+
|
|
601
623
|
</li>
|
|
602
|
-
|
|
624
|
+
|
|
603
625
|
<li class="md-nav__item">
|
|
604
626
|
<a href="#危害类-fixture" class="md-nav__link">
|
|
605
627
|
<span class="md-ellipsis">
|
|
606
|
-
|
|
628
|
+
|
|
607
629
|
危害类 fixture
|
|
608
|
-
|
|
630
|
+
|
|
609
631
|
</span>
|
|
610
632
|
</a>
|
|
611
|
-
|
|
633
|
+
|
|
612
634
|
</li>
|
|
613
|
-
|
|
635
|
+
|
|
614
636
|
</ul>
|
|
615
|
-
|
|
637
|
+
|
|
616
638
|
</nav>
|
|
617
|
-
|
|
639
|
+
|
|
640
|
+
</li>
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
<li class="md-nav__item">
|
|
651
|
+
<a href="../licensing/" class="md-nav__link">
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
<span class="md-ellipsis">
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
中文 · 许可与署名
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
</span>
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
</a>
|
|
667
|
+
</li>
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
<li class="md-nav__item">
|
|
678
|
+
<a href="../agents/" class="md-nav__link">
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
<span class="md-ellipsis">
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
中文 · 智能体入口
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
</span>
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
</a>
|
|
694
|
+
</li>
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
<li class="md-nav__item">
|
|
705
|
+
<a href="../agents/architecture-routing/" class="md-nav__link">
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
<span class="md-ellipsis">
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
中文 · 架构路由
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
</span>
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
</a>
|
|
721
|
+
</li>
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
<li class="md-nav__item">
|
|
732
|
+
<a href="../reference/compatibility/" class="md-nav__link">
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
<span class="md-ellipsis">
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
中文 · 兼容性
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
</span>
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
</a>
|
|
748
|
+
</li>
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
<li class="md-nav__item">
|
|
759
|
+
<a href="../reference/failure-and-side-effect-matrix/" class="md-nav__link">
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
<span class="md-ellipsis">
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
中文 · 失败与副作用
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
</span>
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
</a>
|
|
775
|
+
</li>
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
<li class="md-nav__item">
|
|
786
|
+
<a href="../reference/api/" class="md-nav__link">
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
<span class="md-ellipsis">
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
中文 · API 参考
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
</span>
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
</a>
|
|
802
|
+
</li>
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
<li class="md-nav__item">
|
|
813
|
+
<a href="../reference/api/contracts/" class="md-nav__link">
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
<span class="md-ellipsis">
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
中文 · Contracts API
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
</span>
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
</a>
|
|
829
|
+
</li>
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
<li class="md-nav__item">
|
|
840
|
+
<a href="../reference/api/harness/" class="md-nav__link">
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
<span class="md-ellipsis">
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
中文 · Harness API
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
</span>
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
</a>
|
|
856
|
+
</li>
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
<li class="md-nav__item">
|
|
867
|
+
<a href="../reference/api/engineering-kit/" class="md-nav__link">
|
|
868
|
+
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
<span class="md-ellipsis">
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
中文 · Engineering Kit API
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
</span>
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
</a>
|
|
883
|
+
</li>
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
|
|
890
|
+
|
|
891
|
+
|
|
892
|
+
|
|
893
|
+
<li class="md-nav__item">
|
|
894
|
+
<a href="../examples-and-fixtures/" class="md-nav__link">
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
|
|
898
|
+
<span class="md-ellipsis">
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
中文 · 样例与 Fixture
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
</span>
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
</a>
|
|
910
|
+
</li>
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
<li class="md-nav__item">
|
|
921
|
+
<a href="../recipes/" class="md-nav__link">
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
<span class="md-ellipsis">
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
中文 · Recipes
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
</span>
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
</a>
|
|
937
|
+
</li>
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
|
|
947
|
+
<li class="md-nav__item">
|
|
948
|
+
<a href="../recipes/adopt-existing-repository/" class="md-nav__link">
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
|
|
952
|
+
<span class="md-ellipsis">
|
|
953
|
+
|
|
954
|
+
|
|
955
|
+
中文 · 采用存量仓库
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
</span>
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
</a>
|
|
964
|
+
</li>
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
|
|
974
|
+
<li class="md-nav__item">
|
|
975
|
+
<a href="../recipes/safe-filesystem-and-atomic-write/" class="md-nav__link">
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
|
|
979
|
+
<span class="md-ellipsis">
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
中文 · 安全文件系统与原子写
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
</span>
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
|
|
990
|
+
</a>
|
|
991
|
+
</li>
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
<li class="md-nav__item">
|
|
1002
|
+
<a href="../recipes/adapter-text-closure/" class="md-nav__link">
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
|
|
1006
|
+
<span class="md-ellipsis">
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
中文 · Adapter 文本闭包
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
|
|
1013
|
+
</span>
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
|
|
1017
|
+
</a>
|
|
1018
|
+
</li>
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
|
|
1026
|
+
|
|
1027
|
+
|
|
1028
|
+
<li class="md-nav__item">
|
|
1029
|
+
<a href="../recipes/deterministic-human-report/" class="md-nav__link">
|
|
1030
|
+
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
<span class="md-ellipsis">
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
中文 · 确定性人类报告
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
</span>
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
</a>
|
|
1045
|
+
</li>
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
<li class="md-nav__item">
|
|
1056
|
+
<a href="../recipes/durable-local-state/" class="md-nav__link">
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
<span class="md-ellipsis">
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
中文 · 持久本地状态
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
</span>
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
|
|
1071
|
+
</a>
|
|
1072
|
+
</li>
|
|
1073
|
+
|
|
1074
|
+
|
|
1075
|
+
|
|
1076
|
+
|
|
1077
|
+
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
|
|
1081
|
+
|
|
1082
|
+
<li class="md-nav__item">
|
|
1083
|
+
<a href="../recipes/host-profile-integration/" class="md-nav__link">
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
<span class="md-ellipsis">
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
中文 · 宿主 Profile 集成
|
|
1091
|
+
|
|
1092
|
+
|
|
1093
|
+
|
|
1094
|
+
</span>
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
</a>
|
|
1099
|
+
</li>
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
|
|
1106
|
+
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
<li class="md-nav__item">
|
|
1110
|
+
<a href="../recipes/domain-schema-validation/" class="md-nav__link">
|
|
1111
|
+
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
<span class="md-ellipsis">
|
|
1115
|
+
|
|
1116
|
+
|
|
1117
|
+
中文 · 领域 Schema 校验
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
|
|
1121
|
+
</span>
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
</a>
|
|
1126
|
+
</li>
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
<li class="md-nav__item">
|
|
1137
|
+
<a href="../en/" class="md-nav__link">
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
|
|
1141
|
+
<span class="md-ellipsis">
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
English · Home
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
</span>
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
</a>
|
|
1153
|
+
</li>
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
|
|
1157
|
+
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
<li class="md-nav__item">
|
|
1164
|
+
<a href="../en/quickstart/" class="md-nav__link">
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
|
|
1168
|
+
<span class="md-ellipsis">
|
|
1169
|
+
|
|
1170
|
+
|
|
1171
|
+
English · Quickstart
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
</span>
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
</a>
|
|
1180
|
+
</li>
|
|
1181
|
+
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
<li class="md-nav__item">
|
|
1191
|
+
<a href="../en/help/" class="md-nav__link">
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
<span class="md-ellipsis">
|
|
1196
|
+
|
|
1197
|
+
|
|
1198
|
+
English · Capabilities and diagnostics
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
</span>
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
</a>
|
|
1207
|
+
</li>
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
|
|
1213
|
+
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
<li class="md-nav__item">
|
|
1218
|
+
<a href="../en/architecture/" class="md-nav__link">
|
|
1219
|
+
|
|
1220
|
+
|
|
1221
|
+
|
|
1222
|
+
<span class="md-ellipsis">
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
English · Architecture
|
|
1226
|
+
|
|
1227
|
+
|
|
1228
|
+
|
|
1229
|
+
</span>
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
</a>
|
|
1234
|
+
</li>
|
|
1235
|
+
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
<li class="md-nav__item">
|
|
1245
|
+
<a href="../en/migration/" class="md-nav__link">
|
|
1246
|
+
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
<span class="md-ellipsis">
|
|
1250
|
+
|
|
1251
|
+
|
|
1252
|
+
English · Migration
|
|
1253
|
+
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
</span>
|
|
1257
|
+
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
</a>
|
|
1261
|
+
</li>
|
|
1262
|
+
|
|
1263
|
+
|
|
1264
|
+
|
|
1265
|
+
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
|
|
1270
|
+
|
|
1271
|
+
<li class="md-nav__item">
|
|
1272
|
+
<a href="../en/licensing/" class="md-nav__link">
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
<span class="md-ellipsis">
|
|
1277
|
+
|
|
1278
|
+
|
|
1279
|
+
English · Licensing
|
|
1280
|
+
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
</span>
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
</a>
|
|
1288
|
+
</li>
|
|
1289
|
+
|
|
1290
|
+
|
|
1291
|
+
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
|
|
1297
|
+
|
|
1298
|
+
<li class="md-nav__item">
|
|
1299
|
+
<a href="../en/agents/" class="md-nav__link">
|
|
1300
|
+
|
|
1301
|
+
|
|
1302
|
+
|
|
1303
|
+
<span class="md-ellipsis">
|
|
1304
|
+
|
|
1305
|
+
|
|
1306
|
+
English · Agent entry
|
|
1307
|
+
|
|
1308
|
+
|
|
1309
|
+
|
|
1310
|
+
</span>
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
|
|
1314
|
+
</a>
|
|
1315
|
+
</li>
|
|
1316
|
+
|
|
1317
|
+
|
|
1318
|
+
|
|
1319
|
+
|
|
1320
|
+
|
|
1321
|
+
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
|
|
1325
|
+
<li class="md-nav__item">
|
|
1326
|
+
<a href="../en/agents/architecture-routing/" class="md-nav__link">
|
|
1327
|
+
|
|
1328
|
+
|
|
1329
|
+
|
|
1330
|
+
<span class="md-ellipsis">
|
|
1331
|
+
|
|
1332
|
+
|
|
1333
|
+
English · Architecture routing
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
</span>
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
</a>
|
|
1342
|
+
</li>
|
|
1343
|
+
|
|
1344
|
+
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
<li class="md-nav__item">
|
|
1353
|
+
<a href="../en/reference/compatibility/" class="md-nav__link">
|
|
1354
|
+
|
|
1355
|
+
|
|
1356
|
+
|
|
1357
|
+
<span class="md-ellipsis">
|
|
1358
|
+
|
|
1359
|
+
|
|
1360
|
+
English · Compatibility
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
</span>
|
|
1365
|
+
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
</a>
|
|
1369
|
+
</li>
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
|
|
1373
|
+
|
|
1374
|
+
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
|
|
1378
|
+
|
|
1379
|
+
<li class="md-nav__item">
|
|
1380
|
+
<a href="../en/reference/failure-and-side-effect-matrix/" class="md-nav__link">
|
|
1381
|
+
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
<span class="md-ellipsis">
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
English · Failures and side effects
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
</span>
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
|
|
1395
|
+
</a>
|
|
1396
|
+
</li>
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
<li class="md-nav__item">
|
|
1407
|
+
<a href="../en/reference/api/" class="md-nav__link">
|
|
1408
|
+
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
<span class="md-ellipsis">
|
|
1412
|
+
|
|
1413
|
+
|
|
1414
|
+
English · API reference
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
</span>
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
|
|
1422
|
+
</a>
|
|
1423
|
+
</li>
|
|
1424
|
+
|
|
1425
|
+
|
|
1426
|
+
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
<li class="md-nav__item">
|
|
1434
|
+
<a href="../en/examples-and-fixtures/" class="md-nav__link">
|
|
1435
|
+
|
|
1436
|
+
|
|
1437
|
+
|
|
1438
|
+
<span class="md-ellipsis">
|
|
1439
|
+
|
|
1440
|
+
|
|
1441
|
+
English · Examples and fixtures
|
|
1442
|
+
|
|
1443
|
+
|
|
1444
|
+
|
|
1445
|
+
</span>
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
</a>
|
|
1450
|
+
</li>
|
|
1451
|
+
|
|
1452
|
+
|
|
1453
|
+
|
|
1454
|
+
|
|
1455
|
+
|
|
1456
|
+
|
|
1457
|
+
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
<li class="md-nav__item">
|
|
1461
|
+
<a href="../en/recipes/" class="md-nav__link">
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
<span class="md-ellipsis">
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
English · Recipes
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
</span>
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
|
|
1476
|
+
</a>
|
|
1477
|
+
</li>
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
<li class="md-nav__item">
|
|
1488
|
+
<a href="../en/recipes/adopt-existing-repository/" class="md-nav__link">
|
|
1489
|
+
|
|
1490
|
+
|
|
1491
|
+
|
|
1492
|
+
<span class="md-ellipsis">
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
English · Adopt an existing repository
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
</span>
|
|
1500
|
+
|
|
1501
|
+
|
|
1502
|
+
|
|
1503
|
+
</a>
|
|
1504
|
+
</li>
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
|
|
1512
|
+
|
|
1513
|
+
|
|
1514
|
+
<li class="md-nav__item">
|
|
1515
|
+
<a href="../en/recipes/safe-filesystem-and-atomic-write/" class="md-nav__link">
|
|
1516
|
+
|
|
1517
|
+
|
|
1518
|
+
|
|
1519
|
+
<span class="md-ellipsis">
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
English · Safe filesystem and atomic write
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
</span>
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
</a>
|
|
1531
|
+
</li>
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
<li class="md-nav__item">
|
|
1542
|
+
<a href="../en/recipes/adapter-text-closure/" class="md-nav__link">
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
<span class="md-ellipsis">
|
|
1547
|
+
|
|
1548
|
+
|
|
1549
|
+
English · Adapter text closure
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
</span>
|
|
1554
|
+
|
|
1555
|
+
|
|
1556
|
+
|
|
1557
|
+
</a>
|
|
1558
|
+
</li>
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
|
|
1568
|
+
<li class="md-nav__item">
|
|
1569
|
+
<a href="../en/recipes/deterministic-human-report/" class="md-nav__link">
|
|
1570
|
+
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
<span class="md-ellipsis">
|
|
1574
|
+
|
|
1575
|
+
|
|
1576
|
+
English · Deterministic human report
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
</span>
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
</a>
|
|
1585
|
+
</li>
|
|
1586
|
+
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
<li class="md-nav__item">
|
|
1596
|
+
<a href="../en/recipes/durable-local-state/" class="md-nav__link">
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
<span class="md-ellipsis">
|
|
1601
|
+
|
|
1602
|
+
|
|
1603
|
+
English · Durable local state
|
|
1604
|
+
|
|
1605
|
+
|
|
1606
|
+
|
|
1607
|
+
</span>
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
|
|
1611
|
+
</a>
|
|
1612
|
+
</li>
|
|
1613
|
+
|
|
1614
|
+
|
|
1615
|
+
|
|
1616
|
+
|
|
1617
|
+
|
|
1618
|
+
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
<li class="md-nav__item">
|
|
1623
|
+
<a href="../en/recipes/host-profile-integration/" class="md-nav__link">
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
|
|
1627
|
+
<span class="md-ellipsis">
|
|
1628
|
+
|
|
1629
|
+
|
|
1630
|
+
English · Host Profile integration
|
|
1631
|
+
|
|
1632
|
+
|
|
1633
|
+
|
|
1634
|
+
</span>
|
|
1635
|
+
|
|
1636
|
+
|
|
1637
|
+
|
|
1638
|
+
</a>
|
|
1639
|
+
</li>
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
|
|
1647
|
+
|
|
1648
|
+
|
|
1649
|
+
<li class="md-nav__item">
|
|
1650
|
+
<a href="../en/recipes/domain-schema-validation/" class="md-nav__link">
|
|
1651
|
+
|
|
1652
|
+
|
|
1653
|
+
|
|
1654
|
+
<span class="md-ellipsis">
|
|
1655
|
+
|
|
1656
|
+
|
|
1657
|
+
English · Domain Schema validation
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
</span>
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
|
|
1665
|
+
</a>
|
|
618
1666
|
</li>
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
1667
|
+
|
|
1668
|
+
|
|
1669
|
+
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
|
|
628
1676
|
<li class="md-nav__item">
|
|
629
1677
|
<a href="../integration/audit/" class="md-nav__link">
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
|
|
633
1681
|
<span class="md-ellipsis">
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
独立审计集成
|
|
637
|
-
|
|
638
1682
|
|
|
639
|
-
|
|
1683
|
+
|
|
1684
|
+
审计集成 · 入口
|
|
1685
|
+
|
|
1686
|
+
|
|
1687
|
+
|
|
640
1688
|
</span>
|
|
641
|
-
|
|
642
|
-
|
|
1689
|
+
|
|
1690
|
+
|
|
643
1691
|
|
|
644
1692
|
</a>
|
|
645
1693
|
</li>
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
1694
|
+
|
|
1695
|
+
|
|
1696
|
+
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
655
1703
|
<li class="md-nav__item">
|
|
656
1704
|
<a href="../integration/audit/mutation-taxonomy/" class="md-nav__link">
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
|
|
660
1708
|
<span class="md-ellipsis">
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
审计变异分类学
|
|
664
|
-
|
|
665
1709
|
|
|
666
|
-
|
|
1710
|
+
|
|
1711
|
+
审计集成 · 变异分类学
|
|
1712
|
+
|
|
1713
|
+
|
|
1714
|
+
|
|
667
1715
|
</span>
|
|
668
|
-
|
|
669
|
-
|
|
1716
|
+
|
|
1717
|
+
|
|
670
1718
|
|
|
671
1719
|
</a>
|
|
672
1720
|
</li>
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
1721
|
+
|
|
1722
|
+
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
|
|
1726
|
+
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
682
1730
|
<li class="md-nav__item">
|
|
683
1731
|
<a href="../integration/audit/independence/" class="md-nav__link">
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
|
|
687
1735
|
<span class="md-ellipsis">
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
审计独立性证明
|
|
691
|
-
|
|
692
1736
|
|
|
693
|
-
|
|
1737
|
+
|
|
1738
|
+
审计集成 · 独立性证明
|
|
1739
|
+
|
|
1740
|
+
|
|
1741
|
+
|
|
694
1742
|
</span>
|
|
695
|
-
|
|
696
|
-
|
|
1743
|
+
|
|
1744
|
+
|
|
697
1745
|
|
|
698
1746
|
</a>
|
|
699
1747
|
</li>
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
|
|
1753
|
+
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
|
|
709
1757
|
<li class="md-nav__item">
|
|
710
1758
|
<a href="../integration/audit/version-compatibility/" class="md-nav__link">
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
|
|
714
1762
|
<span class="md-ellipsis">
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
审计版本兼容定义
|
|
718
|
-
|
|
719
1763
|
|
|
720
|
-
|
|
1764
|
+
|
|
1765
|
+
审计集成 · 版本兼容
|
|
1766
|
+
|
|
1767
|
+
|
|
1768
|
+
|
|
721
1769
|
</span>
|
|
722
|
-
|
|
723
|
-
|
|
1770
|
+
|
|
1771
|
+
|
|
724
1772
|
|
|
725
1773
|
</a>
|
|
726
1774
|
</li>
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
1775
|
+
|
|
1776
|
+
|
|
1777
|
+
|
|
1778
|
+
|
|
1779
|
+
|
|
1780
|
+
|
|
1781
|
+
|
|
1782
|
+
|
|
1783
|
+
|
|
736
1784
|
<li class="md-nav__item">
|
|
737
1785
|
<a href="../integration/audit/failure-evidence/" class="md-nav__link">
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
|
|
741
1789
|
<span class="md-ellipsis">
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
审计失败证据与 AUD 码
|
|
745
|
-
|
|
746
1790
|
|
|
747
|
-
|
|
1791
|
+
|
|
1792
|
+
审计集成 · 失败证据与 AUD 码
|
|
1793
|
+
|
|
1794
|
+
|
|
1795
|
+
|
|
748
1796
|
</span>
|
|
749
|
-
|
|
750
|
-
|
|
1797
|
+
|
|
1798
|
+
|
|
751
1799
|
|
|
752
1800
|
</a>
|
|
753
1801
|
</li>
|
|
754
|
-
|
|
755
1802
|
|
|
756
|
-
|
|
1803
|
+
|
|
1804
|
+
|
|
757
1805
|
</ul>
|
|
758
1806
|
</nav>
|
|
759
1807
|
</div>
|
|
760
1808
|
</div>
|
|
761
1809
|
</div>
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
1810
|
+
|
|
1811
|
+
|
|
1812
|
+
|
|
765
1813
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
766
1814
|
<div class="md-sidebar__scrollwrap">
|
|
767
1815
|
<div class="md-sidebar__inner">
|
|
768
|
-
|
|
1816
|
+
|
|
769
1817
|
|
|
770
1818
|
<nav class="md-nav md-nav--secondary" aria-label="目录">
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
1819
|
+
|
|
1820
|
+
|
|
1821
|
+
|
|
1822
|
+
|
|
1823
|
+
|
|
1824
|
+
|
|
777
1825
|
<label class="md-nav__title" for="__toc">
|
|
778
1826
|
<span class="md-nav__icon md-icon"></span>
|
|
779
1827
|
目录
|
|
780
1828
|
</label>
|
|
781
1829
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
782
|
-
|
|
1830
|
+
|
|
1831
|
+
<li class="md-nav__item">
|
|
1832
|
+
<a href="#分类方法" class="md-nav__link">
|
|
1833
|
+
<span class="md-ellipsis">
|
|
1834
|
+
|
|
1835
|
+
分类方法
|
|
1836
|
+
|
|
1837
|
+
</span>
|
|
1838
|
+
</a>
|
|
1839
|
+
|
|
1840
|
+
</li>
|
|
1841
|
+
|
|
783
1842
|
<li class="md-nav__item">
|
|
784
1843
|
<a href="#原则" class="md-nav__link">
|
|
785
1844
|
<span class="md-ellipsis">
|
|
786
|
-
|
|
1845
|
+
|
|
787
1846
|
原则
|
|
788
|
-
|
|
1847
|
+
|
|
789
1848
|
</span>
|
|
790
1849
|
</a>
|
|
791
|
-
|
|
1850
|
+
|
|
792
1851
|
</li>
|
|
793
|
-
|
|
1852
|
+
|
|
794
1853
|
<li class="md-nav__item">
|
|
795
1854
|
<a href="#adopt-plan-输出结构" class="md-nav__link">
|
|
796
1855
|
<span class="md-ellipsis">
|
|
797
|
-
|
|
1856
|
+
|
|
798
1857
|
adopt-plan 输出结构
|
|
799
|
-
|
|
1858
|
+
|
|
800
1859
|
</span>
|
|
801
1860
|
</a>
|
|
802
|
-
|
|
1861
|
+
|
|
803
1862
|
</li>
|
|
804
|
-
|
|
1863
|
+
|
|
805
1864
|
<li class="md-nav__item">
|
|
806
1865
|
<a href="#迁移清单skill-familymigrationjson" class="md-nav__link">
|
|
807
1866
|
<span class="md-ellipsis">
|
|
808
|
-
|
|
1867
|
+
|
|
809
1868
|
迁移清单(skill-family.migration.json)
|
|
810
|
-
|
|
1869
|
+
|
|
811
1870
|
</span>
|
|
812
1871
|
</a>
|
|
813
|
-
|
|
1872
|
+
|
|
814
1873
|
</li>
|
|
815
|
-
|
|
1874
|
+
|
|
816
1875
|
<li class="md-nav__item">
|
|
817
1876
|
<a href="#迁移状态机" class="md-nav__link">
|
|
818
1877
|
<span class="md-ellipsis">
|
|
819
|
-
|
|
1878
|
+
|
|
820
1879
|
迁移状态机
|
|
821
|
-
|
|
1880
|
+
|
|
822
1881
|
</span>
|
|
823
1882
|
</a>
|
|
824
|
-
|
|
1883
|
+
|
|
825
1884
|
</li>
|
|
826
|
-
|
|
1885
|
+
|
|
827
1886
|
<li class="md-nav__item">
|
|
828
1887
|
<a href="#完成判定门禁" class="md-nav__link">
|
|
829
1888
|
<span class="md-ellipsis">
|
|
830
|
-
|
|
1889
|
+
|
|
831
1890
|
完成判定门禁
|
|
832
|
-
|
|
1891
|
+
|
|
833
1892
|
</span>
|
|
834
1893
|
</a>
|
|
835
|
-
|
|
1894
|
+
|
|
836
1895
|
<nav class="md-nav" aria-label="完成判定门禁">
|
|
837
1896
|
<ul class="md-nav__list">
|
|
838
|
-
|
|
1897
|
+
|
|
839
1898
|
<li class="md-nav__item">
|
|
840
1899
|
<a href="#强制负例任一场景-completion-必须为-false" class="md-nav__link">
|
|
841
1900
|
<span class="md-ellipsis">
|
|
842
|
-
|
|
1901
|
+
|
|
843
1902
|
强制负例(任一场景 completion 必须为 false)
|
|
844
|
-
|
|
1903
|
+
|
|
845
1904
|
</span>
|
|
846
1905
|
</a>
|
|
847
|
-
|
|
1906
|
+
|
|
848
1907
|
</li>
|
|
849
|
-
|
|
1908
|
+
|
|
850
1909
|
</ul>
|
|
851
1910
|
</nav>
|
|
852
|
-
|
|
1911
|
+
|
|
1912
|
+
</li>
|
|
1913
|
+
|
|
1914
|
+
<li class="md-nav__item">
|
|
1915
|
+
<a href="#旧实现删除与回滚合同" class="md-nav__link">
|
|
1916
|
+
<span class="md-ellipsis">
|
|
1917
|
+
|
|
1918
|
+
旧实现删除与回滚合同
|
|
1919
|
+
|
|
1920
|
+
</span>
|
|
1921
|
+
</a>
|
|
1922
|
+
|
|
853
1923
|
</li>
|
|
854
|
-
|
|
1924
|
+
|
|
855
1925
|
<li class="md-nav__item">
|
|
856
1926
|
<a href="#十字段-hand-off-草案" class="md-nav__link">
|
|
857
1927
|
<span class="md-ellipsis">
|
|
858
|
-
|
|
1928
|
+
|
|
859
1929
|
十字段 hand-off 草案
|
|
860
|
-
|
|
1930
|
+
|
|
861
1931
|
</span>
|
|
862
1932
|
</a>
|
|
863
|
-
|
|
1933
|
+
|
|
864
1934
|
<nav class="md-nav" aria-label="十字段 hand-off 草案">
|
|
865
1935
|
<ul class="md-nav__list">
|
|
866
|
-
|
|
1936
|
+
|
|
867
1937
|
<li class="md-nav__item">
|
|
868
1938
|
<a href="#INCOMPLETE-阻断规则" class="md-nav__link">
|
|
869
1939
|
<span class="md-ellipsis">
|
|
870
|
-
|
|
1940
|
+
|
|
871
1941
|
INCOMPLETE 阻断规则
|
|
872
|
-
|
|
1942
|
+
|
|
873
1943
|
</span>
|
|
874
1944
|
</a>
|
|
875
|
-
|
|
1945
|
+
|
|
876
1946
|
</li>
|
|
877
|
-
|
|
1947
|
+
|
|
878
1948
|
<li class="md-nav__item">
|
|
879
1949
|
<a href="#绑定" class="md-nav__link">
|
|
880
1950
|
<span class="md-ellipsis">
|
|
881
|
-
|
|
1951
|
+
|
|
882
1952
|
绑定
|
|
883
|
-
|
|
1953
|
+
|
|
884
1954
|
</span>
|
|
885
1955
|
</a>
|
|
886
|
-
|
|
1956
|
+
|
|
887
1957
|
</li>
|
|
888
|
-
|
|
1958
|
+
|
|
889
1959
|
<li class="md-nav__item">
|
|
890
1960
|
<a href="#渲染边界" class="md-nav__link">
|
|
891
1961
|
<span class="md-ellipsis">
|
|
892
|
-
|
|
1962
|
+
|
|
893
1963
|
渲染边界
|
|
894
|
-
|
|
1964
|
+
|
|
895
1965
|
</span>
|
|
896
1966
|
</a>
|
|
897
|
-
|
|
1967
|
+
|
|
898
1968
|
</li>
|
|
899
|
-
|
|
1969
|
+
|
|
900
1970
|
</ul>
|
|
901
1971
|
</nav>
|
|
902
|
-
|
|
1972
|
+
|
|
903
1973
|
</li>
|
|
904
|
-
|
|
1974
|
+
|
|
905
1975
|
<li class="md-nav__item">
|
|
906
1976
|
<a href="#危害类-fixture" class="md-nav__link">
|
|
907
1977
|
<span class="md-ellipsis">
|
|
908
|
-
|
|
1978
|
+
|
|
909
1979
|
危害类 fixture
|
|
910
|
-
|
|
1980
|
+
|
|
911
1981
|
</span>
|
|
912
1982
|
</a>
|
|
913
|
-
|
|
1983
|
+
|
|
914
1984
|
</li>
|
|
915
|
-
|
|
1985
|
+
|
|
916
1986
|
</ul>
|
|
917
|
-
|
|
1987
|
+
|
|
918
1988
|
</nav>
|
|
919
1989
|
</div>
|
|
920
1990
|
</div>
|
|
921
1991
|
</div>
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
1992
|
+
|
|
1993
|
+
|
|
1994
|
+
|
|
925
1995
|
<div class="md-content" data-md-component="content">
|
|
926
|
-
|
|
1996
|
+
|
|
927
1997
|
<article class="md-content__inner md-typeset">
|
|
928
|
-
|
|
929
|
-
|
|
930
1998
|
|
|
931
1999
|
|
|
932
2000
|
|
|
2001
|
+
|
|
2002
|
+
|
|
2003
|
+
<blockquote>
|
|
2004
|
+
<p><a href="../en/migration/">English</a></p>
|
|
2005
|
+
</blockquote>
|
|
933
2006
|
<h1 id="存量采用与迁移FND-070">存量采用与迁移(FND-070)<a class="headerlink" href="#存量采用与迁移FND-070" title="Permanent link">¶</a></h1>
|
|
934
|
-
<p>本页描述存量项目如何采用 Skill Family
|
|
2007
|
+
<p>本页描述存量项目如何采用 Skill Family 基础设施,以及迁移完成判定的门禁。它服务于两类读者:人类负责人据此判断采用路径与风险;智能体据此用 <code>adopt-plan</code> 做只读盘点,不在本页复制写入动作。</p>
|
|
2008
|
+
<h2 id="分类方法">分类方法<a class="headerlink" href="#分类方法" title="Permanent link">¶</a></h2>
|
|
2009
|
+
<p>存量仓接入 Foundation 前,先按下面四类归类。分类决定走哪条路径、是否写文件、旧实现如何处理。</p>
|
|
2010
|
+
<table>
|
|
2011
|
+
<thead>
|
|
2012
|
+
<tr>
|
|
2013
|
+
<th>类别</th>
|
|
2014
|
+
<th>含义</th>
|
|
2015
|
+
<th>处理路径</th>
|
|
2016
|
+
<th>是否写文件</th>
|
|
2017
|
+
</tr>
|
|
2018
|
+
</thead>
|
|
2019
|
+
<tbody>
|
|
2020
|
+
<tr>
|
|
2021
|
+
<td><code>direct-adoption</code></td>
|
|
2022
|
+
<td>仓内已有能力可被 Foundation 原样替代,无业务语义耦合</td>
|
|
2023
|
+
<td>直接采用:<code>adopt-plan</code> 盘点 → <code>scaffold</code>/<code>projection</code> 落盘</td>
|
|
2024
|
+
<td>是(受收容)</td>
|
|
2025
|
+
</tr>
|
|
2026
|
+
<tr>
|
|
2027
|
+
<td><code>compatibility-layer</code></td>
|
|
2028
|
+
<td>仓内已有实现与 Foundation 接口存在差异,需一层兼容适配</td>
|
|
2029
|
+
<td>写兼容层后采用,旧实现经兼容层退出</td>
|
|
2030
|
+
<td>是(兼容层受收容)</td>
|
|
2031
|
+
</tr>
|
|
2032
|
+
<tr>
|
|
2033
|
+
<td><code>keep-business</code></td>
|
|
2034
|
+
<td>能力含领域语义或业务状态机,属于调用方拥有,Foundation 不接</td>
|
|
2035
|
+
<td>留在消费者,只接业务中立机制</td>
|
|
2036
|
+
<td>否(Foundation 侧)</td>
|
|
2037
|
+
</tr>
|
|
2038
|
+
<tr>
|
|
2039
|
+
<td><code>foundation-gap</code></td>
|
|
2040
|
+
<td>需要的能力 Foundation 尚未提供(如 host apply、Qoder driver)</td>
|
|
2041
|
+
<td>留在消费者或后续版本,不强行扩张 Foundation</td>
|
|
2042
|
+
<td>否</td>
|
|
2043
|
+
</tr>
|
|
2044
|
+
</tbody>
|
|
2045
|
+
</table>
|
|
2046
|
+
<blockquote>
|
|
2047
|
+
<p>分类是采用决策的前提。落入 <code>keep-business</code> 或 <code>foundation-gap</code> 的能力,不应为了「完成采用」而塞进 Foundation;这正好是架构路由第 1、8 步的落地。</p>
|
|
2048
|
+
</blockquote>
|
|
935
2049
|
<h2 id="原则">原则<a class="headerlink" href="#原则" title="Permanent link">¶</a></h2>
|
|
936
2050
|
<ol>
|
|
937
|
-
<li><strong>计划先行</strong>:任何存量仓先运行只读 <code>adopt-plan</code>,拿到现状、目标 Profile
|
|
938
|
-
|
|
939
|
-
<li><strong
|
|
940
|
-
|
|
941
|
-
<li><strong>采用与改名分离</strong>:基础设施采用绝不连带仓库改名或远端坐标变更;
|
|
942
|
-
两者是独立决策,工具不提供任何改名能力。</li>
|
|
943
|
-
<li><strong>双轨不算完成</strong>:迁移完成判定要求旧重复实现已删除;只接入新基础设施
|
|
944
|
-
而旧实现仍在,判定恒为 false。</li>
|
|
2051
|
+
<li><strong>计划先行</strong>:任何存量仓先运行只读 <code>adopt-plan</code>,拿到现状、目标 Profile、精确写集、冲突、旧实现退出清单与验收命令,再决定是否执行写入。</li>
|
|
2052
|
+
<li><strong>只读计划零变化</strong>:<code>adopt-plan</code> 不写任何文件(含临时文件)、不运行 git 写命令、不改名、不触碰远端;对输入仓字节零变化(前后哈希走查可证)。</li>
|
|
2053
|
+
<li><strong>采用与改名分离</strong>:基础设施采用绝不连带仓库改名或远端坐标变更;两者是独立决策,工具不提供任何改名能力。</li>
|
|
2054
|
+
<li><strong>双轨不算完成</strong>:迁移完成判定要求旧重复实现已删除;只接入新基础设施而旧实现仍在,判定恒为 false。</li>
|
|
945
2055
|
</ol>
|
|
946
2056
|
<h2 id="adopt-plan-输出结构">adopt-plan 输出结构<a class="headerlink" href="#adopt-plan-输出结构" title="Permanent link">¶</a></h2>
|
|
947
2057
|
<table>
|
|
@@ -1003,9 +2113,9 @@
|
|
|
1003
2113
|
],
|
|
1004
2114
|
"targetProfile": "generic",
|
|
1005
2115
|
"foundationPackages": [
|
|
1006
|
-
{ "name": "skill-family-contracts", "version": "0.
|
|
1007
|
-
{ "name": "skill-family-harness-node", "version": "0.
|
|
1008
|
-
{ "name": "skill-family-engineering-kit", "version": "0.
|
|
2116
|
+
{ "name": "skill-family-contracts", "version": "0.3.0", "digest": "sha256:<64 位十六进制>" },
|
|
2117
|
+
{ "name": "skill-family-harness-node", "version": "0.3.0", "digest": "sha256:<64 位十六进制>" },
|
|
2118
|
+
{ "name": "skill-family-engineering-kit", "version": "0.3.0", "digest": "sha256:<64 位十六进制>" }
|
|
1009
2119
|
],
|
|
1010
2120
|
"verification": {
|
|
1011
2121
|
"unit": "docs/evidence/unit.json",
|
|
@@ -1015,19 +2125,13 @@
|
|
|
1015
2125
|
}
|
|
1016
2126
|
}
|
|
1017
2127
|
</code></pre>
|
|
2128
|
+
<p>以上结构展示了迁移清单的核心字段;<code>legacyInfra</code> 每项给出旧实现路径与替代物,工具只读评估存在性,绝不代为删除。</p>
|
|
2129
|
+
<p>0.3.0 中的 Quickstart Profile candidate 已升级到 v2。迁移清单若绑定 candidate 能力,三个 Foundation 包必须统一精确锁定为 0.3.0;仍需 v1 的存量接入继续统一锁定 0.2.1,不混装两组版本。</p>
|
|
1018
2130
|
<ul>
|
|
1019
2131
|
<li><code>legacyInfra</code> 每项给出旧实现路径与替代物;工具只读评估存在性,绝不代为删除。</li>
|
|
1020
|
-
<li><code>exceptions</code> 是<strong>临时例外</strong>:必须同时含负责人(owner)、原因(reason
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
<li><code>targetProfile</code> / <code>foundationPackages</code>:采用绑定。目标 Profile
|
|
1024
|
-
必须与计划 Profile 一致;三个 Foundation 包(contracts、harness-node、
|
|
1025
|
-
engineering-kit)必须各自绑定<strong>精确版本号</strong>(不接受浮动范围)与
|
|
1026
|
-
<code>sha256:</code> 摘要。</li>
|
|
1027
|
-
<li><code>verification</code>:四类验证证据文档路径(unit、integration、
|
|
1028
|
-
consumer、independentAudit)。每份证据必须是可解析 JSON 且其
|
|
1029
|
-
<code>projectId</code> 与目标项目身份一致,才计为 proven;路径越界、缺失、
|
|
1030
|
-
不可解析、身份不符均为未证明,fail-closed。</li>
|
|
2132
|
+
<li><code>exceptions</code> 是<strong>临时例外</strong>:必须同时含负责人(owner)、原因(reason)、截止时间(deadline)、迁移目标(migrationTarget)四项,缺任一字段即计为冲突(计划失败);到期例外不自动续期,持续阻断完成判定。</li>
|
|
2133
|
+
<li><code>targetProfile</code> / <code>foundationPackages</code>:采用绑定。目标 Profile 必须与计划 Profile 一致;三个 Foundation 包(contracts、harness-node、engineering-kit)必须各自绑定<strong>精确版本号</strong>(不接受浮动范围)与 <code>sha256:</code> 摘要。</li>
|
|
2134
|
+
<li><code>verification</code>:四类验证证据文档路径(unit、integration、consumer、independentAudit)。每份证据必须是可解析 JSON 且其 <code>projectId</code> 与目标项目身份一致,才计为 proven;路径越界、缺失、不可解析、身份不符均为未证明,fail-closed。</li>
|
|
1031
2135
|
</ul>
|
|
1032
2136
|
<h2 id="迁移状态机">迁移状态机<a class="headerlink" href="#迁移状态机" title="Permanent link">¶</a></h2>
|
|
1033
2137
|
<p>状态单调递进,只由只读证据推导,任何工具都不通过写入推进状态:</p>
|
|
@@ -1067,20 +2171,15 @@
|
|
|
1067
2171
|
<p><code>migration.completion.complete</code> 为 true 当且仅当<strong>全部八项</strong>成立:</p>
|
|
1068
2172
|
<ol>
|
|
1069
2173
|
<li>已声明契约有效的迁移清单(kind/字段经 Contracts schema 校验);</li>
|
|
1070
|
-
<li>采用绑定已证明:目标 Profile 与计划一致,三个 Foundation
|
|
1071
|
-
|
|
1072
|
-
<li>Project Manifest、managed lock、identity 与全部受管骨架文件在盘且
|
|
1073
|
-
摘要与计划一致(<code>adoptionProof.missing</code>/<code>mismatched</code> 为空);</li>
|
|
2174
|
+
<li>采用绑定已证明:目标 Profile 与计划一致,三个 Foundation 包均绑定精确版本与 sha256 摘要;</li>
|
|
2175
|
+
<li>Project Manifest、managed lock、identity 与全部受管骨架文件在盘且摘要与计划一致(<code>adoptionProof.missing</code>/<code>mismatched</code> 为空);</li>
|
|
1074
2176
|
<li>写集中无待执行的 create/replace/project 动作(<code>pendingWrites</code> 为 0);</li>
|
|
1075
2177
|
<li>Foundation check 门禁绿;</li>
|
|
1076
|
-
<li>每项旧实现均已退出(absent)——containment 拒绝或畸形条目与 present
|
|
1077
|
-
同等 fail-closed;</li>
|
|
2178
|
+
<li>每项旧实现均已退出(absent)——containment 拒绝或畸形条目与 present 同等 fail-closed;</li>
|
|
1078
2179
|
<li>无缺字段、无不可解析截止时间、无已到期的临时例外;无未解决的采用冲突;</li>
|
|
1079
|
-
<li>四类验证证据(unit/integration/consumer/independentAudit)全部 proven
|
|
1080
|
-
且身份(projectId)匹配。</li>
|
|
2180
|
+
<li>四类验证证据(unit/integration/consumer/independentAudit)全部 proven 且身份(projectId)匹配。</li>
|
|
1081
2181
|
</ol>
|
|
1082
|
-
<p
|
|
1083
|
-
阻断理由(<code>blockers</code>)为稳定可读字符串,可直接进入迁移评审记录。</p>
|
|
2182
|
+
<p>未评估的输入与未证明等价:门禁只依据出示的证据前进。阻断理由(<code>blockers</code>)为稳定可读字符串,可直接进入迁移评审记录。</p>
|
|
1084
2183
|
<h3 id="强制负例任一场景-completion-必须为-false">强制负例(任一场景 completion 必须为 false)<a class="headerlink" href="#强制负例任一场景-completion-必须为-false" title="Permanent link">¶</a></h3>
|
|
1085
2184
|
<ul>
|
|
1086
2185
|
<li>空仓 + 空清单(无契约有效清单 → <code>not-declared</code>);</li>
|
|
@@ -1091,11 +2190,14 @@
|
|
|
1091
2190
|
<li>消费者验证证据缺失或身份不符(<code>verified</code>,不得 complete);</li>
|
|
1092
2191
|
<li>临时例外过期(工具绝不续期)。</li>
|
|
1093
2192
|
</ul>
|
|
2193
|
+
<h2 id="旧实现删除与回滚合同">旧实现删除与回滚合同<a class="headerlink" href="#旧实现删除与回滚合同" title="Permanent link">¶</a></h2>
|
|
2194
|
+
<ul>
|
|
2195
|
+
<li><strong>删除由调用方负责</strong>:<code>adopt-plan</code> 只评估旧实现存在性并列出退出清单,绝不代为删除;<code>foundation-gap</code> 与 <code>keep-business</code> 类能力不要求删除。</li>
|
|
2196
|
+
<li><strong>回滚以证据为准</strong>:采用落盘前必须先有 <code>adoptionProof</code> 与 <code>foundationPlanDigest</code> 双摘要绑定;回滚时以计划写集的 <code>expect.sha256</code> 前置状态还原,未声明前置状态的覆盖动作在 <code>projection</code> 阶段即拒绝。</li>
|
|
2197
|
+
<li><strong>fail-closed 默认</strong>:任何不可解析、越界、身份不符或证据缺失的输入,都使对应判定为未证明,不假设成功。</li>
|
|
2198
|
+
</ul>
|
|
1094
2199
|
<h2 id="十字段-hand-off-草案">十字段 hand-off 草案<a class="headerlink" href="#十字段-hand-off-草案" title="Permanent link">¶</a></h2>
|
|
1095
|
-
<p><code>adopt-plan</code> 输出携带 <code>handoffDraft</code> 子块(kind=<code>skill-family.handoff-draft</code>,
|
|
1096
|
-
schemaVersion=1),为 planner 侧的十字段 hand-off 提供结构化数据草案。
|
|
1097
|
-
字段来源只有两种:<code>derived</code>(可由只读证据机械推导)与 <code>INCOMPLETE</code>
|
|
1098
|
-
(不可机械推导,绝不猜测)。十字段与源码常量 <code>HANDOFF_FIELDS</code> 逐一对应:</p>
|
|
2200
|
+
<p><code>adopt-plan</code> 输出携带 <code>handoffDraft</code> 子块(kind=<code>skill-family.handoff-draft</code>,schemaVersion=1),为 planner 侧的十字段 hand-off 提供结构化数据草案。字段来源只有两种:<code>derived</code>(可由只读证据机械推导)与 <code>INCOMPLETE</code>(不可机械推导,绝不猜测)。十字段与源码常量 <code>HANDOFF_FIELDS</code> 逐一对应:</p>
|
|
1099
2201
|
<table>
|
|
1100
2202
|
<thead>
|
|
1101
2203
|
<tr>
|
|
@@ -1161,28 +2263,20 @@ schemaVersion=1),为 planner 侧的十字段 hand-off 提供结构化数据
|
|
|
1161
2263
|
<ul>
|
|
1162
2264
|
<li>任何 INCOMPLETE 字段都使 <code>ready=false</code>:草案带缺口就不得进入 hand-off。</li>
|
|
1163
2265
|
<li>工具绝不猜测不可机械推导的字段:</li>
|
|
1164
|
-
<li><code>business-logic-to-keep</code> 与 <code>legacy-removal-recovery</code> <strong>恒 INCOMPLETE</strong
|
|
1165
|
-
|
|
1166
|
-
<li><code>
|
|
1167
|
-
INCOMPLETE,只计清单声明的绑定;</li>
|
|
1168
|
-
<li><code>verification-entries</code> 在四类证据(unit/integration/consumer/
|
|
1169
|
-
independentAudit)任一未达 proven 时 INCOMPLETE。</li>
|
|
2266
|
+
<li><code>business-logic-to-keep</code> 与 <code>legacy-removal-recovery</code> <strong>恒 INCOMPLETE</strong>,必须由人类负责人给出,工具无推导依据;</li>
|
|
2267
|
+
<li><code>foundation-binding</code> 在无迁移清单声明(<code>foundationPackages</code>)时 INCOMPLETE,只计清单声明的绑定;</li>
|
|
2268
|
+
<li><code>verification-entries</code> 在四类证据(unit/integration/consumer/independentAudit)任一未达 proven 时 INCOMPLETE。</li>
|
|
1170
2269
|
</ul>
|
|
1171
2270
|
<h3 id="绑定">绑定<a class="headerlink" href="#绑定" title="Permanent link">¶</a></h3>
|
|
1172
|
-
<p>草案携带双 sha256 摘要(<code>binding</code> 块):<code>targetSetDigest</code>
|
|
1173
|
-
文件集合,<code>foundationPlanDigest</code> 汇总 Foundation 计划写集。同一目标两次
|
|
1174
|
-
计划得到相同摘要,草案与计划时刻的目标状态精确绑定。</p>
|
|
2271
|
+
<p>草案携带双 sha256 摘要(<code>binding</code> 块):<code>targetSetDigest</code> 汇总目标仓文件集合,<code>foundationPlanDigest</code> 汇总 Foundation 计划写集。同一目标两次计划得到相同摘要,草案与计划时刻的目标状态精确绑定。</p>
|
|
1175
2272
|
<h3 id="渲染边界">渲染边界<a class="headerlink" href="#渲染边界" title="Permanent link">¶</a></h3>
|
|
1176
2273
|
<ul>
|
|
1177
2274
|
<li>渲染器只写 planner 侧的 hand-off 草案,<strong>绝不写消费者仓</strong>;</li>
|
|
1178
|
-
<li>不新增第五个 Kit 顶层命令:Kit 顶层命令恒为 scaffold、adopt-plan、
|
|
1179
|
-
projection、check 四个,<code>handoffDraft</code> 只是 <code>adopt-plan</code> 输出的子块。</li>
|
|
2275
|
+
<li>不新增第五个 Kit 顶层命令:Kit 顶层命令恒为 scaffold、adopt-plan、projection、check 四个,<code>handoffDraft</code> 只是 <code>adopt-plan</code> 输出的子块。</li>
|
|
1180
2276
|
</ul>
|
|
1181
2277
|
<h2 id="危害类-fixture">危害类 fixture<a class="headerlink" href="#危害类-fixture" title="Permanent link">¶</a></h2>
|
|
1182
|
-
<p><code>fixtures/adoption/cases/</code> 覆盖七个危害类:dirty 仓、嵌套仓、
|
|
1183
|
-
|
|
1184
|
-
临时例外字段。每个案例以字节级前后快照证明计划只读;案例说明见仓内
|
|
1185
|
-
<code>fixtures/adoption/README.md</code>。</p>
|
|
2278
|
+
<p><code>fixtures/adoption/cases/</code> 覆盖七个危害类:dirty 仓、嵌套仓、tracked-but-ignored、符号链接占位、生成物漂移、旧实现退出门禁、临时例外字段。每个案例以字节级前后快照证明计划只读;案例说明见仓内 <code>fixtures/adoption/README.md</code>。</p>
|
|
2279
|
+
|
|
1186
2280
|
|
|
1187
2281
|
|
|
1188
2282
|
|
|
@@ -1195,48 +2289,47 @@ tracked-but-ignored、符号链接占位、生成物漂移、旧实现退出门
|
|
|
1195
2289
|
|
|
1196
2290
|
|
|
1197
2291
|
|
|
1198
|
-
|
|
1199
2292
|
</article>
|
|
1200
2293
|
</div>
|
|
1201
|
-
|
|
1202
|
-
|
|
2294
|
+
|
|
2295
|
+
|
|
1203
2296
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
1204
2297
|
</div>
|
|
1205
|
-
|
|
2298
|
+
|
|
1206
2299
|
</main>
|
|
1207
|
-
|
|
2300
|
+
|
|
1208
2301
|
<footer class="md-footer">
|
|
1209
|
-
|
|
2302
|
+
|
|
1210
2303
|
<div class="md-footer-meta md-typeset">
|
|
1211
2304
|
<div class="md-footer-meta__inner md-grid">
|
|
1212
2305
|
<div class="md-copyright">
|
|
1213
|
-
|
|
1214
|
-
|
|
2306
|
+
|
|
2307
|
+
|
|
1215
2308
|
Made with
|
|
1216
2309
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
1217
2310
|
Material for MkDocs
|
|
1218
2311
|
</a>
|
|
1219
|
-
|
|
2312
|
+
|
|
1220
2313
|
</div>
|
|
1221
|
-
|
|
2314
|
+
|
|
1222
2315
|
</div>
|
|
1223
2316
|
</div>
|
|
1224
2317
|
</footer>
|
|
1225
|
-
|
|
2318
|
+
|
|
1226
2319
|
</div>
|
|
1227
2320
|
<div class="md-dialog" data-md-component="dialog">
|
|
1228
2321
|
<div class="md-dialog__inner md-typeset"></div>
|
|
1229
2322
|
</div>
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
|
|
1235
2328
|
<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>
|
|
1236
|
-
|
|
1237
|
-
|
|
2329
|
+
|
|
2330
|
+
|
|
1238
2331
|
<script src="../assets/javascripts/bundle.d7400e89.min.js"></script>
|
|
1239
|
-
|
|
1240
|
-
|
|
2332
|
+
|
|
2333
|
+
|
|
1241
2334
|
</body>
|
|
1242
2335
|
</html>
|