dsh-primer 0.4.5 → 0.4.7
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/README.en.md +6 -6
- package/README.es.md +6 -6
- package/README.hi.md +6 -6
- package/README.md +7 -7
- package/README.pt.md +6 -6
- package/SKILL.md +11 -9
- package/data/facts.json +35 -15
- package/data/seams/index.json +1526 -98
- package/data/standards.json +17 -11
- package/dist/dsh-plugin-dev.js +7 -7
- package/guide/links.md +2 -2
- package/guide/migration-0.2.md +105 -14
- package/guide/plugin-dev-guide.md +6 -6
- package/guide/quick-reference.es.md +4 -4
- package/guide/quick-reference.hi.md +4 -4
- package/guide/quick-reference.md +4 -4
- package/guide/quick-reference.pt.md +4 -4
- package/guide/quick-reference.zh-CN.md +4 -4
- package/guide/standards.md +1 -1
- package/guide/standards.zh-CN.md +1 -1
- package/guide/unfixed-issues.md +2 -2
- package/guide/version-matrix.md +65 -42
- package/package.json +13 -7
- package/references/official-docs/CLAUDE.md +1 -1
- package/references/official-docs/README.md +9 -4
- package/references/official-docs/SNAPSHOT.md +7 -5
- package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
- package/references/official-docs/docs/capability-seams.md +4 -0
- package/references/official-docs/docs/capability-seams.zh.md +4 -0
- package/references/official-docs/docs/config-catalog.md +26 -28
- package/references/official-docs/docs/config-catalog.zh.md +26 -28
- package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +2 -2
- package/references/official-docs/docs/defensive-patterns/package-surface.md +0 -1
- package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +0 -1
- package/references/official-docs/docs/event-producer-consumer.md +1 -1
- package/references/official-docs/docs/event-producer-consumer.zh.md +1 -1
- package/references/official-docs/docs/module-graph.md +12 -17
- package/references/official-docs/docs/module-graph.zh.md +12 -17
- package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/computer-use.md +1 -1
- package/references/official-docs/docs/subsystems/computer-use.zh.md +1 -1
- package/references/official-docs/docs/subsystems/persistence.md +19 -0
- package/references/official-docs/docs/subsystems/persistence.zh.md +19 -0
- package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +4 -4
- package/references/official-docs/docs/subsystems/ptc-runtime.md +8 -48
- package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +8 -48
- package/references/official-docs/docs/tool-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/tool-catalog.md +1 -1
- package/references/official-docs/docs/tool-catalog.zh.md +1 -1
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.i18n.yaml +4 -4
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +7 -7
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +7 -7
- package/references/official-plugin-dev-skill.md +16 -12
- package/references/sources.md +2 -2
- package/scripts/check-docs-drift.mjs +121 -0
- package/scripts/check-docs-drift.ps1 +4 -1
- package/scripts/check-facts.mjs +81 -3
- package/scripts/sync-official-docs.ps1 +16 -5
- package/templates/js/README-es.md +1 -1
- package/templates/js/README-hi.md +1 -1
- package/templates/js/README-pt.md +1 -1
- package/templates/js/README-zh.md +1 -1
- package/templates/js/README.md +1 -1
- package/templates/ts/README-es.md +1 -1
- package/templates/ts/README-hi.md +1 -1
- package/templates/ts/README-pt.md +1 -1
- package/templates/ts/README-zh.md +1 -1
- package/templates/ts/README.md +1 -1
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +0 -26
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +0 -26
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +0 -25
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +0 -48
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +0 -48
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.i18n.yaml +0 -16
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +0 -45
- package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +0 -45
package/data/seams/index.json
CHANGED
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
"schema": "dsh-plugin-guide/seam-index/v1",
|
|
3
3
|
"generatedFrom": {
|
|
4
4
|
"guide/version-matrix.md": "§2 seams, §3 the 0.2.1-alpha.2 breaking changes, §5 session formats, §6.1 create-only seams",
|
|
5
|
-
"guide/migration-0.2.md": "§13 the L1–L19 corridor
|
|
6
|
-
"references/official-docs/": "verbatim mirror
|
|
5
|
+
"guide/migration-0.2.md": "§13 the L1–L19 corridor, §14 the K1–K46 0.2.2 line",
|
|
6
|
+
"references/official-docs/": "verbatim mirror pinned to dsh-v0.2.2-rc.3 (tag commit 38a6a5c9)"
|
|
7
7
|
},
|
|
8
|
-
"measuredAt": "2026-
|
|
9
|
-
"hostBaseline": "dsh-v0.2.
|
|
8
|
+
"measuredAt": "2026-11-14",
|
|
9
|
+
"hostBaseline": "dsh-v0.2.2-rc.3",
|
|
10
10
|
"notes": [
|
|
11
11
|
"Every `target` value names the release in which the change LANDS, not the directory it is documented under. The official upgrade-guide directory name is the version at which the break was authored: docs/upgrade-guide/v0.2.1-alpha.1/ describes what the NEXT release removes.",
|
|
12
12
|
"`confidence` is the honest state of the evidence. `documented` = stated by an official upgrade guide or a source-verified first-tag search. `inferred` = derived from a document but not stated as a rule. `unknown` = the knowledge base does not establish it; consumers MUST treat `unknown` as 'cannot answer', never as 'no'.",
|
|
13
13
|
"`targets` is the corpus a scanner must inspect to find a violation. It is a hint, not a guarantee: a scanner that cannot resolve the target must report `unknown`, not `pass`. This mirrors the verdict discipline in guide/family-toolchain.md §2.1, where an unevaluated check must never be rendered as a pass.",
|
|
14
|
-
"Detectability is limited. A change that only breaks at runtime for a given configuration cannot be proven by static inspection, and a data-loss hazard cannot be detected at all. Those records carry `detectable: false` plus the reason, so no consumer can quietly upgrade them to a pass."
|
|
14
|
+
"Detectability is limited. A change that only breaks at runtime for a given configuration cannot be proven by static inspection, and a data-loss hazard cannot be detected at all. Those records carry `detectable: false` plus the reason, so no consumer can quietly upgrade them to a pass.",
|
|
15
|
+
"The 0.2.2 line is recorded as the K corridor: K1–K22 land in 0.2.2-alpha.3, K23–K27 in 0.2.2-rc.1, K28–K46 in 0.2.2-rc.2. All 46 are inside the rc.3 release tag (docs/upgrade-guide/{v0.2.2-alpha.2,v0.2.2-alpha.3,v0.2.2-rc.1}), so the rc.3 baseline includes them.",
|
|
16
|
+
"`unreleased` lists the 13 guides authored at v0.2.2-rc.2. They exist only on master after the rc.3 tag, so they are NOT rc.3 changes and carry no landing version; consumers must not count them as present in 0.2.2-rc.3."
|
|
15
17
|
],
|
|
16
18
|
"seams": [
|
|
17
19
|
{
|
|
@@ -20,12 +22,23 @@
|
|
|
20
22
|
"kind": "api-removed",
|
|
21
23
|
"target": "0.2.1-alpha.2",
|
|
22
24
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md",
|
|
23
|
-
"removed": [
|
|
25
|
+
"removed": [
|
|
26
|
+
"config key backgroundMode",
|
|
27
|
+
"config key enableRunInBackground",
|
|
28
|
+
"tool parameter run_in_background",
|
|
29
|
+
"package @deepseek-ai/dsh-subagent-in-process-driver",
|
|
30
|
+
"ctx.subagents.start()"
|
|
31
|
+
],
|
|
24
32
|
"replacement": "ctx.subagents.startActivation({ ..., delivery: 'caller' }) then await activation.result",
|
|
25
|
-
"targets": [
|
|
33
|
+
"targets": [
|
|
34
|
+
"src/**/*.ts",
|
|
35
|
+
"package.json"
|
|
36
|
+
],
|
|
26
37
|
"detectable": true,
|
|
27
38
|
"confidence": "documented",
|
|
28
|
-
"ids": [
|
|
39
|
+
"ids": [
|
|
40
|
+
"subagent-activations"
|
|
41
|
+
]
|
|
29
42
|
},
|
|
30
43
|
{
|
|
31
44
|
"id": "L2",
|
|
@@ -33,12 +46,21 @@
|
|
|
33
46
|
"kind": "value-rejected",
|
|
34
47
|
"target": "0.2.1-alpha.2",
|
|
35
48
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md",
|
|
36
|
-
"removed": [
|
|
49
|
+
"removed": [
|
|
50
|
+
"mode: both",
|
|
51
|
+
"DSH_TOOLS_MODE=both",
|
|
52
|
+
"ctx.tools.presentAs('both')"
|
|
53
|
+
],
|
|
37
54
|
"replacement": "native or ptc",
|
|
38
|
-
"targets": [
|
|
55
|
+
"targets": [
|
|
56
|
+
"src/**/*.ts",
|
|
57
|
+
"cordis.patch.yml"
|
|
58
|
+
],
|
|
39
59
|
"detectable": true,
|
|
40
60
|
"confidence": "documented",
|
|
41
|
-
"ids": [
|
|
61
|
+
"ids": [
|
|
62
|
+
"tool-presentation-mode"
|
|
63
|
+
]
|
|
42
64
|
},
|
|
43
65
|
{
|
|
44
66
|
"id": "L3",
|
|
@@ -46,12 +68,22 @@
|
|
|
46
68
|
"kind": "service-renamed",
|
|
47
69
|
"target": "0.2.1-alpha.2",
|
|
48
70
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md",
|
|
49
|
-
"removed": [
|
|
71
|
+
"removed": [
|
|
72
|
+
"service webRuntime",
|
|
73
|
+
"row web-runtime",
|
|
74
|
+
"ctx.webRuntime.lanAddresses",
|
|
75
|
+
"wildcard --host"
|
|
76
|
+
],
|
|
50
77
|
"replacement": "webStartup (row web-startup), concrete host literals",
|
|
51
|
-
"targets": [
|
|
78
|
+
"targets": [
|
|
79
|
+
"src/**/*.ts",
|
|
80
|
+
"cordis.patch.yml"
|
|
81
|
+
],
|
|
52
82
|
"detectable": true,
|
|
53
83
|
"confidence": "documented",
|
|
54
|
-
"ids": [
|
|
84
|
+
"ids": [
|
|
85
|
+
"web-listener-trust-config"
|
|
86
|
+
]
|
|
55
87
|
},
|
|
56
88
|
{
|
|
57
89
|
"id": "L4",
|
|
@@ -59,12 +91,20 @@
|
|
|
59
91
|
"kind": "template-variable-removed",
|
|
60
92
|
"target": "0.2.1-alpha.2",
|
|
61
93
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md",
|
|
62
|
-
"removed": [
|
|
94
|
+
"removed": [
|
|
95
|
+
"prompt variable {{cwd}}",
|
|
96
|
+
"config.cwd for ACP and DSH-SDK subagents"
|
|
97
|
+
],
|
|
63
98
|
"replacement": "pass the directory on the child request, or call working_directory({ cd }) first",
|
|
64
|
-
"targets": [
|
|
99
|
+
"targets": [
|
|
100
|
+
"src/**/*.ts",
|
|
101
|
+
"**/*.md"
|
|
102
|
+
],
|
|
65
103
|
"detectable": true,
|
|
66
104
|
"confidence": "documented",
|
|
67
|
-
"ids": [
|
|
105
|
+
"ids": [
|
|
106
|
+
"working-directory"
|
|
107
|
+
]
|
|
68
108
|
},
|
|
69
109
|
{
|
|
70
110
|
"id": "L5",
|
|
@@ -72,12 +112,22 @@
|
|
|
72
112
|
"kind": "export-removed",
|
|
73
113
|
"target": "0.2.1-alpha.2",
|
|
74
114
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md",
|
|
75
|
-
"removed": [
|
|
115
|
+
"removed": [
|
|
116
|
+
"registerSessionTitleLlmProvider",
|
|
117
|
+
"generateSessionTitleWithLlm",
|
|
118
|
+
"SessionTitleLlmMessageSelector",
|
|
119
|
+
"shared Config targetWords",
|
|
120
|
+
"shared Config targetCjkCharacters"
|
|
121
|
+
],
|
|
76
122
|
"replacement": "ctx.sessionTitle.register({ id, automatic, generate })",
|
|
77
|
-
"targets": [
|
|
123
|
+
"targets": [
|
|
124
|
+
"src/**/*.ts"
|
|
125
|
+
],
|
|
78
126
|
"detectable": true,
|
|
79
127
|
"confidence": "documented",
|
|
80
|
-
"ids": [
|
|
128
|
+
"ids": [
|
|
129
|
+
"session-title-provider-strategy"
|
|
130
|
+
]
|
|
81
131
|
},
|
|
82
132
|
{
|
|
83
133
|
"id": "L6",
|
|
@@ -87,11 +137,15 @@
|
|
|
87
137
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md",
|
|
88
138
|
"removed": [],
|
|
89
139
|
"replacement": "register an adapter with ctx.llm.registerAdapter(); order reasoning.efforts low-to-high",
|
|
90
|
-
"targets": [
|
|
140
|
+
"targets": [
|
|
141
|
+
"src/**/*.ts"
|
|
142
|
+
],
|
|
91
143
|
"detectable": false,
|
|
92
144
|
"undetectableReason": "A composition that only mounted llm/stream middleware keeps working for ordinary calls; whether title generation still reaches a provider depends on which adapters a deployment mounts, which static inspection of this repository cannot establish.",
|
|
93
145
|
"confidence": "documented",
|
|
94
|
-
"ids": [
|
|
146
|
+
"ids": [
|
|
147
|
+
"session-title-adapters"
|
|
148
|
+
]
|
|
95
149
|
},
|
|
96
150
|
{
|
|
97
151
|
"id": "L7",
|
|
@@ -99,12 +153,20 @@
|
|
|
99
153
|
"kind": "config-shape-changed",
|
|
100
154
|
"target": "0.2.1-alpha.2",
|
|
101
155
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md",
|
|
102
|
-
"removed": [
|
|
156
|
+
"removed": [
|
|
157
|
+
"ssh keys node/bootstrapPath/bootstrapHash",
|
|
158
|
+
"dsh-ptc-runtime-node keys nodeExecutable/bootstrapPath"
|
|
159
|
+
],
|
|
103
160
|
"replacement": "launch: { kind: 'node-script' } or { kind: 'executable' }, SSH protocol 2",
|
|
104
|
-
"targets": [
|
|
161
|
+
"targets": [
|
|
162
|
+
"src/**/*.ts",
|
|
163
|
+
"cordis.patch.yml"
|
|
164
|
+
],
|
|
105
165
|
"detectable": true,
|
|
106
166
|
"confidence": "documented",
|
|
107
|
-
"ids": [
|
|
167
|
+
"ids": [
|
|
168
|
+
"ssh-helper-launch"
|
|
169
|
+
]
|
|
108
170
|
},
|
|
109
171
|
{
|
|
110
172
|
"id": "L8",
|
|
@@ -112,13 +174,18 @@
|
|
|
112
174
|
"kind": "data-loss",
|
|
113
175
|
"target": "0.2.1-alpha.2",
|
|
114
176
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md",
|
|
115
|
-
"removed": [
|
|
177
|
+
"removed": [
|
|
178
|
+
"separate mailbox",
|
|
179
|
+
"maxPendingMessagesPerMember"
|
|
180
|
+
],
|
|
116
181
|
"replacement": "send_message returns {\"sent\":true}; re-send anything still pending before upgrading",
|
|
117
182
|
"targets": [],
|
|
118
183
|
"detectable": false,
|
|
119
184
|
"undetectableReason": "Queued messages live in runtime state, not in the plugin source or its configuration. No static inspection can prove that nothing was pending at the moment of an upgrade. This record exists so the hazard is discoverable, not auditable.",
|
|
120
185
|
"confidence": "documented",
|
|
121
|
-
"ids": [
|
|
186
|
+
"ids": [
|
|
187
|
+
"team-direct-inbox"
|
|
188
|
+
]
|
|
122
189
|
},
|
|
123
190
|
{
|
|
124
191
|
"id": "L9",
|
|
@@ -126,12 +193,19 @@
|
|
|
126
193
|
"kind": "config-key-removed",
|
|
127
194
|
"target": "0.2.1-alpha.2",
|
|
128
195
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md",
|
|
129
|
-
"removed": [
|
|
196
|
+
"removed": [
|
|
197
|
+
"dshHome config field"
|
|
198
|
+
],
|
|
130
199
|
"replacement": "the DSH_HOME process environment variable via resolveDshHome()",
|
|
131
|
-
"targets": [
|
|
200
|
+
"targets": [
|
|
201
|
+
"cordis.patch.yml",
|
|
202
|
+
"src/**/*.ts"
|
|
203
|
+
],
|
|
132
204
|
"detectable": true,
|
|
133
205
|
"confidence": "documented",
|
|
134
|
-
"ids": [
|
|
206
|
+
"ids": [
|
|
207
|
+
"instruction-home-override"
|
|
208
|
+
]
|
|
135
209
|
},
|
|
136
210
|
{
|
|
137
211
|
"id": "L10",
|
|
@@ -139,13 +213,20 @@
|
|
|
139
213
|
"kind": "lifecycle-changed",
|
|
140
214
|
"target": "0.2.1-alpha.2",
|
|
141
215
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md",
|
|
142
|
-
"removed": [
|
|
216
|
+
"removed": [
|
|
217
|
+
"hook bridge from install dependencies"
|
|
218
|
+
],
|
|
143
219
|
"replacement": "install peers explicitly; select a bundle before overriding its rows; use a full insert instead of enabling a deleted row",
|
|
144
|
-
"targets": [
|
|
220
|
+
"targets": [
|
|
221
|
+
"package.json",
|
|
222
|
+
"cordis.patch.yml"
|
|
223
|
+
],
|
|
145
224
|
"detectable": false,
|
|
146
225
|
"undetectableReason": "Whether a patch still lands depends on the composed layer stack at runtime and on which rows the selected bundle ships. The patch file alone does not determine it.",
|
|
147
226
|
"confidence": "documented",
|
|
148
|
-
"ids": [
|
|
227
|
+
"ids": [
|
|
228
|
+
"experimental-package-composition"
|
|
229
|
+
]
|
|
149
230
|
},
|
|
150
231
|
{
|
|
151
232
|
"id": "L11",
|
|
@@ -155,10 +236,14 @@
|
|
|
155
236
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md",
|
|
156
237
|
"removed": [],
|
|
157
238
|
"replacement": "BundleInfo requires official and availability; PluginPackageRef likewise",
|
|
158
|
-
"targets": [
|
|
239
|
+
"targets": [
|
|
240
|
+
"src/**/*.ts"
|
|
241
|
+
],
|
|
159
242
|
"detectable": true,
|
|
160
243
|
"confidence": "documented",
|
|
161
|
-
"ids": [
|
|
244
|
+
"ids": [
|
|
245
|
+
"native-subagent-bundle-tools"
|
|
246
|
+
]
|
|
162
247
|
},
|
|
163
248
|
{
|
|
164
249
|
"id": "L12",
|
|
@@ -168,11 +253,15 @@
|
|
|
168
253
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md",
|
|
169
254
|
"removed": [],
|
|
170
255
|
"replacement": "mount dsh-sandbox-local plus dsh-sandbox-policy and set the sandbox-policy row mode and workspaceRoot",
|
|
171
|
-
"targets": [
|
|
256
|
+
"targets": [
|
|
257
|
+
"cordis.patch.yml"
|
|
258
|
+
],
|
|
172
259
|
"detectable": false,
|
|
173
260
|
"undetectableReason": "Whether the required services are mounted depends on the profile composition a deployment builds, not on the rows this repository ships.",
|
|
174
261
|
"confidence": "documented",
|
|
175
|
-
"ids": [
|
|
262
|
+
"ids": [
|
|
263
|
+
"python-ptc-sandbox"
|
|
264
|
+
]
|
|
176
265
|
},
|
|
177
266
|
{
|
|
178
267
|
"id": "L13",
|
|
@@ -180,13 +269,20 @@
|
|
|
180
269
|
"kind": "resource-moved",
|
|
181
270
|
"target": "0.2.1-alpha.2",
|
|
182
271
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md",
|
|
183
|
-
"removed": [
|
|
272
|
+
"removed": [
|
|
273
|
+
"bundled Office sidecar wheels",
|
|
274
|
+
"bundled authoring interpreter"
|
|
275
|
+
],
|
|
184
276
|
"replacement": "call download_office() or download_primary_runtime(); pre-seed DSH_RESOURCE_CACHE for offline deployments",
|
|
185
|
-
"targets": [
|
|
277
|
+
"targets": [
|
|
278
|
+
"src/**/*.ts"
|
|
279
|
+
],
|
|
186
280
|
"detectable": false,
|
|
187
281
|
"undetectableReason": "The failure occurs on first use of a resource, and only when the deployment is offline or the cache is cold. Its absence is not visible in the source.",
|
|
188
282
|
"confidence": "documented",
|
|
189
|
-
"ids": [
|
|
283
|
+
"ids": [
|
|
284
|
+
"python-optional-resources"
|
|
285
|
+
]
|
|
190
286
|
},
|
|
191
287
|
{
|
|
192
288
|
"id": "L14",
|
|
@@ -194,12 +290,21 @@
|
|
|
194
290
|
"kind": "cli-argument-order",
|
|
195
291
|
"target": "0.2.1-alpha.2",
|
|
196
292
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md",
|
|
197
|
-
"removed": [
|
|
293
|
+
"removed": [
|
|
294
|
+
"dsh plugin add <pkg> --profile <name>"
|
|
295
|
+
],
|
|
198
296
|
"replacement": "dsh plugin --profile <name> add <package>",
|
|
199
|
-
"targets": [
|
|
297
|
+
"targets": [
|
|
298
|
+
"**/*.md",
|
|
299
|
+
"**/*.sh",
|
|
300
|
+
"**/*.ps1",
|
|
301
|
+
"**/*.yml"
|
|
302
|
+
],
|
|
200
303
|
"detectable": true,
|
|
201
304
|
"confidence": "documented",
|
|
202
|
-
"ids": [
|
|
305
|
+
"ids": [
|
|
306
|
+
"plugin-option-placement"
|
|
307
|
+
]
|
|
203
308
|
},
|
|
204
309
|
{
|
|
205
310
|
"id": "L15",
|
|
@@ -209,10 +314,15 @@
|
|
|
209
314
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md",
|
|
210
315
|
"removed": [],
|
|
211
316
|
"replacement": "every TerminalBlockLabels object needs commandLine(line: number): string",
|
|
212
|
-
"targets": [
|
|
317
|
+
"targets": [
|
|
318
|
+
"src/**/*.ts",
|
|
319
|
+
"src/**/*.tsx"
|
|
320
|
+
],
|
|
213
321
|
"detectable": true,
|
|
214
322
|
"confidence": "documented",
|
|
215
|
-
"ids": [
|
|
323
|
+
"ids": [
|
|
324
|
+
"terminal-command-labels"
|
|
325
|
+
]
|
|
216
326
|
},
|
|
217
327
|
{
|
|
218
328
|
"id": "L16",
|
|
@@ -222,11 +332,15 @@
|
|
|
222
332
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md",
|
|
223
333
|
"removed": [],
|
|
224
334
|
"replacement": "configure a key or an apiKeyEnv variable; consumers must handle an empty catalog",
|
|
225
|
-
"targets": [
|
|
335
|
+
"targets": [
|
|
336
|
+
"src/**/*.ts"
|
|
337
|
+
],
|
|
226
338
|
"detectable": false,
|
|
227
339
|
"undetectableReason": "The behavior depends on whether a credential is present for the deployment, which is runtime state.",
|
|
228
340
|
"confidence": "documented",
|
|
229
|
-
"ids": [
|
|
341
|
+
"ids": [
|
|
342
|
+
"deepseek-model-discovery"
|
|
343
|
+
]
|
|
230
344
|
},
|
|
231
345
|
{
|
|
232
346
|
"id": "L17",
|
|
@@ -234,13 +348,17 @@
|
|
|
234
348
|
"kind": "behavior-changed",
|
|
235
349
|
"target": "0.2.1-alpha.2",
|
|
236
350
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md",
|
|
237
|
-
"removed": [
|
|
351
|
+
"removed": [
|
|
352
|
+
"empty-session reuse"
|
|
353
|
+
],
|
|
238
354
|
"replacement": "use New Session after changing presets; use openWorkspace/connectWorkspace to reuse",
|
|
239
355
|
"targets": [],
|
|
240
356
|
"detectable": false,
|
|
241
357
|
"undetectableReason": "This is a client interaction behavior. Nothing in a plugin's source or manifest expresses it.",
|
|
242
358
|
"confidence": "documented",
|
|
243
|
-
"ids": [
|
|
359
|
+
"ids": [
|
|
360
|
+
"new-session-generations"
|
|
361
|
+
]
|
|
244
362
|
},
|
|
245
363
|
{
|
|
246
364
|
"id": "L18",
|
|
@@ -250,11 +368,15 @@
|
|
|
250
368
|
"doc": "docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md",
|
|
251
369
|
"removed": [],
|
|
252
370
|
"replacement": "consume the named events and their data fields rather than filtering anonymous messages",
|
|
253
|
-
"targets": [
|
|
371
|
+
"targets": [
|
|
372
|
+
"src/**/*.ts"
|
|
373
|
+
],
|
|
254
374
|
"detectable": false,
|
|
255
375
|
"undetectableReason": "A consumer that filters anonymous messages still works against the mock server; the change adds events rather than removing them, so there is no violation to detect.",
|
|
256
376
|
"confidence": "documented",
|
|
257
|
-
"ids": [
|
|
377
|
+
"ids": [
|
|
378
|
+
"mock-messages-events"
|
|
379
|
+
]
|
|
258
380
|
},
|
|
259
381
|
{
|
|
260
382
|
"id": "L19",
|
|
@@ -268,7 +390,9 @@
|
|
|
268
390
|
"detectable": false,
|
|
269
391
|
"undetectableReason": "A build-configuration default for a test workflow; it is not expressed in plugin source.",
|
|
270
392
|
"confidence": "documented",
|
|
271
|
-
"ids": [
|
|
393
|
+
"ids": [
|
|
394
|
+
"desktop-test-auth-popup"
|
|
395
|
+
]
|
|
272
396
|
},
|
|
273
397
|
{
|
|
274
398
|
"id": "B1",
|
|
@@ -276,13 +400,17 @@
|
|
|
276
400
|
"kind": "resource-moved",
|
|
277
401
|
"target": "0.2.1-alpha.2",
|
|
278
402
|
"doc": "docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md",
|
|
279
|
-
"removed": [
|
|
403
|
+
"removed": [
|
|
404
|
+
"NumPy and pandas test directories from the managed runtime"
|
|
405
|
+
],
|
|
280
406
|
"replacement": "install upstream testing dependencies in a separate Python environment outside the managed runtime dir",
|
|
281
407
|
"targets": [],
|
|
282
408
|
"detectable": false,
|
|
283
409
|
"undetectableReason": "A documentation placement exception: this guide sits in the v0.2.0-rc.2 directory but was added after that release. Whether a deployment runs upstream test suites is not visible in this repository.",
|
|
284
410
|
"confidence": "documented",
|
|
285
|
-
"ids": [
|
|
411
|
+
"ids": [
|
|
412
|
+
"bundled-python-tests"
|
|
413
|
+
]
|
|
286
414
|
},
|
|
287
415
|
{
|
|
288
416
|
"id": "S1",
|
|
@@ -292,7 +420,9 @@
|
|
|
292
420
|
"doc": "docs/cordis-tutorial/index.md",
|
|
293
421
|
"removed": [],
|
|
294
422
|
"replacement": "declared @deepseek-ai/dsh-* peer ranges are compared against the running version before import; a mismatch disables the row",
|
|
295
|
-
"targets": [
|
|
423
|
+
"targets": [
|
|
424
|
+
"package.json"
|
|
425
|
+
],
|
|
296
426
|
"detectable": true,
|
|
297
427
|
"confidence": "inferred",
|
|
298
428
|
"inferredFrom": "The gates are install-time and load-time behavior described across guide/version-matrix.md §4 and guide/plugin-dev-guide.md §7.3. The knowledge base records the observable rejection message rather than an official statement of the mechanism in one page."
|
|
@@ -303,9 +433,15 @@
|
|
|
303
433
|
"kind": "format-changed",
|
|
304
434
|
"target": "0.1.7-alpha.1",
|
|
305
435
|
"doc": "docs/session-format-status.md",
|
|
306
|
-
"removed": [
|
|
436
|
+
"removed": [
|
|
437
|
+
"tool results as content blocks",
|
|
438
|
+
"plugin-owned message source wrapper",
|
|
439
|
+
"request/header.system key"
|
|
440
|
+
],
|
|
307
441
|
"replacement": "tool-role messages with toolCallId; producer-owned source.kind declared by the producer",
|
|
308
|
-
"targets": [
|
|
442
|
+
"targets": [
|
|
443
|
+
"src/**/*.ts"
|
|
444
|
+
],
|
|
309
445
|
"detectable": true,
|
|
310
446
|
"confidence": "documented"
|
|
311
447
|
},
|
|
@@ -315,9 +451,16 @@
|
|
|
315
451
|
"kind": "mechanism-removed",
|
|
316
452
|
"target": "0.2.1-alpha.1",
|
|
317
453
|
"doc": "docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md",
|
|
318
|
-
"removed": [
|
|
454
|
+
"removed": [
|
|
455
|
+
"invariants service",
|
|
456
|
+
"./invariant subpath exports",
|
|
457
|
+
"@deepseek-ai/dsh-invariants"
|
|
458
|
+
],
|
|
319
459
|
"replacement": "none; the model-visible-equals-logged rule is now enforced by review only",
|
|
320
|
-
"targets": [
|
|
460
|
+
"targets": [
|
|
461
|
+
"package.json",
|
|
462
|
+
"src/**/*.ts"
|
|
463
|
+
],
|
|
321
464
|
"detectable": true,
|
|
322
465
|
"confidence": "documented"
|
|
323
466
|
},
|
|
@@ -327,9 +470,14 @@
|
|
|
327
470
|
"kind": "behavior-removed",
|
|
328
471
|
"target": "0.2.1-alpha.1",
|
|
329
472
|
"doc": "docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md",
|
|
330
|
-
"removed": [
|
|
473
|
+
"removed": [
|
|
474
|
+
"display metadata read from the subpath plugin's own package.json"
|
|
475
|
+
],
|
|
331
476
|
"replacement": "ship display metadata through locale files and the exported icon",
|
|
332
|
-
"targets": [
|
|
477
|
+
"targets": [
|
|
478
|
+
"package.json",
|
|
479
|
+
"locale/*.json"
|
|
480
|
+
],
|
|
333
481
|
"detectable": true,
|
|
334
482
|
"confidence": "documented"
|
|
335
483
|
},
|
|
@@ -339,9 +487,13 @@
|
|
|
339
487
|
"kind": "bundle-retired",
|
|
340
488
|
"target": "0.2.0-rc.2",
|
|
341
489
|
"doc": "docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md",
|
|
342
|
-
"removed": [
|
|
490
|
+
"removed": [
|
|
491
|
+
"@deepseek-ai/dsh-experimental-schedule-bundle"
|
|
492
|
+
],
|
|
343
493
|
"replacement": "the schedule capability moved into the base composition",
|
|
344
|
-
"targets": [
|
|
494
|
+
"targets": [
|
|
495
|
+
"package.json"
|
|
496
|
+
],
|
|
345
497
|
"detectable": true,
|
|
346
498
|
"confidence": "documented"
|
|
347
499
|
},
|
|
@@ -351,47 +503,1323 @@
|
|
|
351
503
|
"kind": "mechanism-removed",
|
|
352
504
|
"target": "0.1.0-rc.8",
|
|
353
505
|
"doc": "https://github.com/PerryLink/dsh-primer/blob/main/guide/plugin-dev-guide.md",
|
|
354
|
-
"removed": [
|
|
506
|
+
"removed": [
|
|
507
|
+
".dsh-plugin manifest",
|
|
508
|
+
"plugin_search/install/uninstall/status tools",
|
|
509
|
+
"vendor/loader/src/repository.ts"
|
|
510
|
+
],
|
|
355
511
|
"replacement": "the web profile bundle channel, plus pure-Cordis insertion through cordis.patch.yml",
|
|
356
|
-
"targets": [
|
|
512
|
+
"targets": [
|
|
513
|
+
"**/*.md",
|
|
514
|
+
"package.json"
|
|
515
|
+
],
|
|
357
516
|
"detectable": true,
|
|
358
517
|
"confidence": "inferred",
|
|
359
518
|
"inferredFrom": "Community-measured mechanism timeline recorded by the archived vlln/plugin-registry repository, which was archived 2026-10-03 and frozen at a 0.1.5 baseline. The knowledge base carries the timeline because no official page states it."
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"id": "K1",
|
|
522
|
+
"title": "Context menu types and icons",
|
|
523
|
+
"kind": "api-changed",
|
|
524
|
+
"target": "0.2.2-alpha.3",
|
|
525
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
526
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.md",
|
|
527
|
+
"removed": [
|
|
528
|
+
"unprefixed context-menu action types and hooks",
|
|
529
|
+
"unkeyed icon components"
|
|
530
|
+
],
|
|
531
|
+
"replacement": "Use the prefixed context-menu types and hooks and register keyed icon components.",
|
|
532
|
+
"targets": [
|
|
533
|
+
"src/**/*.ts",
|
|
534
|
+
"package.json"
|
|
535
|
+
],
|
|
536
|
+
"detectable": true,
|
|
537
|
+
"confidence": "documented",
|
|
538
|
+
"ids": [
|
|
539
|
+
"context-menu-target"
|
|
540
|
+
]
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"id": "K2",
|
|
544
|
+
"title": "Loader entry tree reports and Include persistence",
|
|
545
|
+
"kind": "api-changed",
|
|
546
|
+
"target": "0.2.2-alpha.3",
|
|
547
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
548
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.md",
|
|
549
|
+
"removed": [
|
|
550
|
+
"Loader entry-tree mutation reports without commit(change)"
|
|
551
|
+
],
|
|
552
|
+
"replacement": "Report entry-tree mutations through commit(change); Include persists them through a journal.",
|
|
553
|
+
"targets": [
|
|
554
|
+
"src/**/*.ts"
|
|
555
|
+
],
|
|
556
|
+
"detectable": true,
|
|
557
|
+
"confidence": "documented",
|
|
558
|
+
"ids": [
|
|
559
|
+
"cordis-loader-entry-trees"
|
|
560
|
+
]
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"id": "K3",
|
|
564
|
+
"title": "CSS-anchored menus",
|
|
565
|
+
"kind": "api-changed",
|
|
566
|
+
"target": "0.2.2-alpha.3",
|
|
567
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
568
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.md",
|
|
569
|
+
"removed": [
|
|
570
|
+
"JavaScript panel positioning",
|
|
571
|
+
"Menu rectangle callbacks"
|
|
572
|
+
],
|
|
573
|
+
"replacement": "Position menus with CSS anchors instead of JavaScript panel positioning and rectangle callbacks.",
|
|
574
|
+
"targets": [
|
|
575
|
+
"src/**/*.ts"
|
|
576
|
+
],
|
|
577
|
+
"detectable": true,
|
|
578
|
+
"confidence": "documented",
|
|
579
|
+
"ids": [
|
|
580
|
+
"css-anchored-menus"
|
|
581
|
+
]
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"id": "K4",
|
|
585
|
+
"title": "Source-built Computer Use helper identity",
|
|
586
|
+
"kind": "deployment-changed",
|
|
587
|
+
"target": "0.2.2-alpha.3",
|
|
588
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
589
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.md",
|
|
590
|
+
"removed": [
|
|
591
|
+
"source-built CUA helper bundle identity"
|
|
592
|
+
],
|
|
593
|
+
"replacement": "Grant the source-built helper its separate macOS permission.",
|
|
594
|
+
"targets": [],
|
|
595
|
+
"detectable": false,
|
|
596
|
+
"confidence": "documented",
|
|
597
|
+
"ids": [
|
|
598
|
+
"cua-source-dev-helper"
|
|
599
|
+
],
|
|
600
|
+
"undetectableReason": "Source-built Computer Use helpers differ by bundle identity and a macOS permission grant; the repository cannot show which helper built or which permission the user granted."
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"id": "K5",
|
|
604
|
+
"title": "Desktop stable channel name",
|
|
605
|
+
"kind": "deployment-changed",
|
|
606
|
+
"target": "0.2.2-alpha.3",
|
|
607
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
608
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.md",
|
|
609
|
+
"removed": [
|
|
610
|
+
"Desktop update channel named latest"
|
|
611
|
+
],
|
|
612
|
+
"replacement": "Subscribe Desktop updates to the renamed stable channel.",
|
|
613
|
+
"targets": [],
|
|
614
|
+
"detectable": false,
|
|
615
|
+
"confidence": "documented",
|
|
616
|
+
"ids": [
|
|
617
|
+
"desktop-stable-channel"
|
|
618
|
+
],
|
|
619
|
+
"undetectableReason": "The Desktop update channel is an update-feed and deployment property, not a repository artifact; no source file states which channel a running Desktop build was installed from."
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"id": "K6",
|
|
623
|
+
"title": "Forge Git query permissions and content conversion",
|
|
624
|
+
"kind": "behavior-changed",
|
|
625
|
+
"target": "0.2.2-alpha.3",
|
|
626
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
627
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.md",
|
|
628
|
+
"removed": [
|
|
629
|
+
"Forge Git queries not tied to Session permissions",
|
|
630
|
+
"configured diff helpers during Git queries"
|
|
631
|
+
],
|
|
632
|
+
"replacement": "Let Forge Git queries run under Session permissions; remove configured diff helpers.",
|
|
633
|
+
"targets": [],
|
|
634
|
+
"detectable": false,
|
|
635
|
+
"confidence": "documented",
|
|
636
|
+
"ids": [
|
|
637
|
+
"forge-git-permissions"
|
|
638
|
+
],
|
|
639
|
+
"undetectableReason": "Forge Git queries run against live Session permissions and configured diff helpers; whether a caller relied on the previous permission source cannot be established from its source."
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"id": "K7",
|
|
643
|
+
"title": "One plugin entry for change requests and worktrees",
|
|
644
|
+
"kind": "ui-changed",
|
|
645
|
+
"target": "0.2.2-alpha.3",
|
|
646
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
647
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.md",
|
|
648
|
+
"removed": [
|
|
649
|
+
"standalone Git worktrees card on the Plugins page"
|
|
650
|
+
],
|
|
651
|
+
"replacement": "Use the Change requests and worktrees entry on the Plugins page.",
|
|
652
|
+
"targets": [],
|
|
653
|
+
"detectable": false,
|
|
654
|
+
"confidence": "documented",
|
|
655
|
+
"ids": [
|
|
656
|
+
"forge-worktree-entry"
|
|
657
|
+
],
|
|
658
|
+
"undetectableReason": "This is a rendered Plugins-page layout (the Git worktrees card is superseded by Change requests and worktrees); static inspection cannot tell which card a user or workflow depends on."
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"id": "K8",
|
|
662
|
+
"title": "Filesystem mutations no longer require a prior read by default",
|
|
663
|
+
"kind": "config-default-changed",
|
|
664
|
+
"target": "0.2.2-alpha.3",
|
|
665
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
666
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.md",
|
|
667
|
+
"removed": [
|
|
668
|
+
"fs-observation-policy row enabled by default",
|
|
669
|
+
"apply_patch absent from dsh-base and the Web standard preset"
|
|
670
|
+
],
|
|
671
|
+
"replacement": "Re-enable the fs-observation-policy row if read-before-write is required; account for apply_patch in the base and standard presets.",
|
|
672
|
+
"targets": [],
|
|
673
|
+
"detectable": false,
|
|
674
|
+
"confidence": "documented",
|
|
675
|
+
"ids": [
|
|
676
|
+
"fs-observation-policy-default-off"
|
|
677
|
+
],
|
|
678
|
+
"undetectableReason": "A shipped default only changes behavior when a filesystem mutation actually needs a prior read; a profile that relied on read-before-write fails at tool-call time, not in its declarations."
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"id": "K9",
|
|
682
|
+
"title": "`new LlmError` accepts only built-in failure codes",
|
|
683
|
+
"kind": "api-changed",
|
|
684
|
+
"target": "0.2.2-alpha.3",
|
|
685
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
686
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md",
|
|
687
|
+
"removed": [
|
|
688
|
+
"new LlmError with non-builtin failure codes"
|
|
689
|
+
],
|
|
690
|
+
"replacement": "Construct built-in LlmError codes directly; route other cases through LlmError.fromFailure.",
|
|
691
|
+
"targets": [
|
|
692
|
+
"src/**/*.ts"
|
|
693
|
+
],
|
|
694
|
+
"detectable": true,
|
|
695
|
+
"confidence": "documented",
|
|
696
|
+
"ids": [
|
|
697
|
+
"llm-error-builtin-codes"
|
|
698
|
+
]
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"id": "K10",
|
|
702
|
+
"title": "Declare auxiliary LLM request purposes",
|
|
703
|
+
"kind": "api-changed",
|
|
704
|
+
"target": "0.2.2-alpha.3",
|
|
705
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
706
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.md",
|
|
707
|
+
"removed": [
|
|
708
|
+
"shared fixed union of auxiliary LLM request purposes"
|
|
709
|
+
],
|
|
710
|
+
"replacement": "Declare auxiliary request purposes with producer-owned type declarations.",
|
|
711
|
+
"targets": [
|
|
712
|
+
"src/**/*.ts"
|
|
713
|
+
],
|
|
714
|
+
"detectable": true,
|
|
715
|
+
"confidence": "documented",
|
|
716
|
+
"ids": [
|
|
717
|
+
"llm-request-purpose-declarations"
|
|
718
|
+
]
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"id": "K11",
|
|
722
|
+
"title": "pi-ai request image count",
|
|
723
|
+
"kind": "behavior-changed",
|
|
724
|
+
"target": "0.2.2-alpha.3",
|
|
725
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
726
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.md",
|
|
727
|
+
"removed": [
|
|
728
|
+
"all retained history images kept per pi-ai request"
|
|
729
|
+
],
|
|
730
|
+
"replacement": "Expect history-image offloading after 50 retained images on pi-ai routes.",
|
|
731
|
+
"targets": [],
|
|
732
|
+
"detectable": false,
|
|
733
|
+
"confidence": "documented",
|
|
734
|
+
"ids": [
|
|
735
|
+
"pi-ai-request-image-count"
|
|
736
|
+
],
|
|
737
|
+
"undetectableReason": "History-image offloading happens inside the pi-ai route at request time; the 50-retained-image threshold is not observable in a plugin manifest or source tree."
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"id": "K12",
|
|
741
|
+
"title": "Projection frames list every key one event changed",
|
|
742
|
+
"kind": "api-changed",
|
|
743
|
+
"target": "0.2.2-alpha.3",
|
|
744
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
745
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.md",
|
|
746
|
+
"removed": [
|
|
747
|
+
"one-key-per-frame live projection frames"
|
|
748
|
+
],
|
|
749
|
+
"replacement": "Read frames that list every key one committed event changed.",
|
|
750
|
+
"targets": [
|
|
751
|
+
"src/**/*.ts"
|
|
752
|
+
],
|
|
753
|
+
"detectable": true,
|
|
754
|
+
"confidence": "documented",
|
|
755
|
+
"ids": [
|
|
756
|
+
"projection-event-frames"
|
|
757
|
+
]
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
"id": "K13",
|
|
761
|
+
"title": "Released projection units stay in checkpoints",
|
|
762
|
+
"kind": "behavior-changed",
|
|
763
|
+
"target": "0.2.2-alpha.3",
|
|
764
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
765
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.md",
|
|
766
|
+
"removed": [
|
|
767
|
+
"released projection unit omitted from session checkpoints"
|
|
768
|
+
],
|
|
769
|
+
"replacement": "Expect a released projection unit to keep its last checkpoint row.",
|
|
770
|
+
"targets": [],
|
|
771
|
+
"detectable": false,
|
|
772
|
+
"confidence": "documented",
|
|
773
|
+
"ids": [
|
|
774
|
+
"projection-released-checkpoint"
|
|
775
|
+
],
|
|
776
|
+
"undetectableReason": "Whether a released projection unit keeps its last checkpoint row is visible only when a checkpoint is written and a restarted processor reads it, not in static source."
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"id": "K14",
|
|
780
|
+
"title": "Projection snapshot scope",
|
|
781
|
+
"kind": "api-changed",
|
|
782
|
+
"target": "0.2.2-alpha.3",
|
|
783
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
784
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.md",
|
|
785
|
+
"removed": [
|
|
786
|
+
"registry cached snapshot read",
|
|
787
|
+
"context pressure and breakdown in Session list summaries"
|
|
788
|
+
],
|
|
789
|
+
"replacement": "Compute only the units a snapshot returns; stop using the cached registry read and the Session-list pressure fields.",
|
|
790
|
+
"targets": [
|
|
791
|
+
"src/**/*.ts"
|
|
792
|
+
],
|
|
793
|
+
"detectable": true,
|
|
794
|
+
"confidence": "documented",
|
|
795
|
+
"ids": [
|
|
796
|
+
"projection-snapshot-scope"
|
|
797
|
+
]
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"id": "K15",
|
|
801
|
+
"title": "Retained PTC timeout recovery",
|
|
802
|
+
"kind": "behavior-changed",
|
|
803
|
+
"target": "0.2.2-alpha.3",
|
|
804
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
805
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.md",
|
|
806
|
+
"removed": [
|
|
807
|
+
"immediate process termination on retained PTC timeout"
|
|
808
|
+
],
|
|
809
|
+
"replacement": "Expect cooperative stop first and process termination only when acknowledgement fails.",
|
|
810
|
+
"targets": [],
|
|
811
|
+
"detectable": false,
|
|
812
|
+
"confidence": "documented",
|
|
813
|
+
"ids": [
|
|
814
|
+
"retained-ptc-timeout"
|
|
815
|
+
],
|
|
816
|
+
"undetectableReason": "Timeout and cancellation recovery depends on a retained process actually stalling; no static artifact distinguishes cooperative stop from enforced termination."
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"id": "K16",
|
|
820
|
+
"title": "Schedule tools manage every Host task by RRULE and target",
|
|
821
|
+
"kind": "tool-renamed",
|
|
822
|
+
"target": "0.2.2-alpha.3",
|
|
823
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
824
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.md",
|
|
825
|
+
"removed": [
|
|
826
|
+
"schedule_update tool",
|
|
827
|
+
"schedule_delete tool"
|
|
828
|
+
],
|
|
829
|
+
"replacement": "Use schedule_create / schedule_list / schedule_view / schedule_edit against every Host task.",
|
|
830
|
+
"targets": [
|
|
831
|
+
"src/**/*.ts",
|
|
832
|
+
"package.json"
|
|
833
|
+
],
|
|
834
|
+
"detectable": true,
|
|
835
|
+
"confidence": "documented",
|
|
836
|
+
"ids": [
|
|
837
|
+
"schedule-agent-tools"
|
|
838
|
+
]
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"id": "K17",
|
|
842
|
+
"title": "Schedule uses one Host-wide management API",
|
|
843
|
+
"kind": "api-changed",
|
|
844
|
+
"target": "0.2.2-alpha.3",
|
|
845
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
846
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.md",
|
|
847
|
+
"removed": [
|
|
848
|
+
"client-side Host task data layout"
|
|
849
|
+
],
|
|
850
|
+
"replacement": "Use the single Host-wide schedule management API and its typed timing records.",
|
|
851
|
+
"targets": [
|
|
852
|
+
"src/**/*.ts"
|
|
853
|
+
],
|
|
854
|
+
"detectable": true,
|
|
855
|
+
"confidence": "documented",
|
|
856
|
+
"ids": [
|
|
857
|
+
"schedule-remote-host-tasks"
|
|
858
|
+
]
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"id": "K18",
|
|
862
|
+
"title": "SDK run accepts native commands",
|
|
863
|
+
"kind": "api-changed",
|
|
864
|
+
"target": "0.2.2-alpha.3",
|
|
865
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
866
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.md",
|
|
867
|
+
"removed": [
|
|
868
|
+
"SDK run results before native command handling"
|
|
869
|
+
],
|
|
870
|
+
"replacement": "Handle recognized native commands and await RunResult after the input completes.",
|
|
871
|
+
"targets": [
|
|
872
|
+
"src/**/*.ts"
|
|
873
|
+
],
|
|
874
|
+
"detectable": true,
|
|
875
|
+
"confidence": "documented",
|
|
876
|
+
"ids": [
|
|
877
|
+
"sdk-run-commands"
|
|
878
|
+
]
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"id": "K19",
|
|
882
|
+
"title": "Session Header menus and export dialogs",
|
|
883
|
+
"kind": "ui-changed",
|
|
884
|
+
"target": "0.2.2-alpha.3",
|
|
885
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
886
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.md",
|
|
887
|
+
"removed": [
|
|
888
|
+
"custom Web compositions without Session context menus",
|
|
889
|
+
"export dialogs closed by Session switches"
|
|
890
|
+
],
|
|
891
|
+
"replacement": "Provide Session context menus in custom Web compositions; expect export dialogs to stay visible across Session switches.",
|
|
892
|
+
"targets": [],
|
|
893
|
+
"detectable": false,
|
|
894
|
+
"confidence": "documented",
|
|
895
|
+
"ids": [
|
|
896
|
+
"session-header-menu"
|
|
897
|
+
],
|
|
898
|
+
"undetectableReason": "A custom Web composition missing Session context menus and export-dialog visibility only fails in the rendered client while switching Sessions."
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"id": "K20",
|
|
902
|
+
"title": "Subagent reasoning overrides require an explicit route",
|
|
903
|
+
"kind": "validation-added",
|
|
904
|
+
"target": "0.2.2-alpha.3",
|
|
905
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
906
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.md",
|
|
907
|
+
"removed": [
|
|
908
|
+
"reasoning overrides without an explicit provider and model"
|
|
909
|
+
],
|
|
910
|
+
"replacement": "Pass an explicit provider and model route; omit effort to inherit the model default.",
|
|
911
|
+
"targets": [
|
|
912
|
+
"src/**/*.ts",
|
|
913
|
+
"package.json"
|
|
914
|
+
],
|
|
915
|
+
"detectable": true,
|
|
916
|
+
"confidence": "documented",
|
|
917
|
+
"ids": [
|
|
918
|
+
"subagent-explicit-reasoning"
|
|
919
|
+
]
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"id": "K21",
|
|
923
|
+
"title": "DeepSeek web search and fetch follow the DeepSeek model route",
|
|
924
|
+
"kind": "config-changed",
|
|
925
|
+
"target": "0.2.2-alpha.3",
|
|
926
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
927
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.md",
|
|
928
|
+
"removed": [
|
|
929
|
+
"shared web-search baseURL / apiKeyEnv / apiKey fields"
|
|
930
|
+
],
|
|
931
|
+
"replacement": "Derive web search and fetch endpoints from the DeepSeek model route and use per-capability fields.",
|
|
932
|
+
"targets": [
|
|
933
|
+
"src/**/*.ts",
|
|
934
|
+
"cordis.patch.yml"
|
|
935
|
+
],
|
|
936
|
+
"detectable": true,
|
|
937
|
+
"confidence": "documented",
|
|
938
|
+
"ids": [
|
|
939
|
+
"web-search-credential-modes"
|
|
940
|
+
]
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"id": "K22",
|
|
944
|
+
"title": "Search defaults to the DeepSeek Search API; Exa and Perplexity are removed",
|
|
945
|
+
"kind": "package-removed",
|
|
946
|
+
"target": "0.2.2-alpha.3",
|
|
947
|
+
"authoredIn": "0.2.2-alpha.2",
|
|
948
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.md",
|
|
949
|
+
"removed": [
|
|
950
|
+
"legacy Messages search default",
|
|
951
|
+
"@deepseek-ai/dsh-web-search-exa",
|
|
952
|
+
"@deepseek-ai/dsh-web-search-perplexity"
|
|
953
|
+
],
|
|
954
|
+
"replacement": "Rely on the DeepSeek Search API default and remove the Exa/Perplexity packages.",
|
|
955
|
+
"targets": [
|
|
956
|
+
"package.json",
|
|
957
|
+
"cordis.patch.yml"
|
|
958
|
+
],
|
|
959
|
+
"detectable": true,
|
|
960
|
+
"confidence": "documented",
|
|
961
|
+
"ids": [
|
|
962
|
+
"web-search-default-provider"
|
|
963
|
+
]
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"id": "K23",
|
|
967
|
+
"title": "Chat `ProcessActivity` adds `context`",
|
|
968
|
+
"kind": "api-changed",
|
|
969
|
+
"target": "0.2.2-rc.1",
|
|
970
|
+
"authoredIn": "0.2.2-alpha.3",
|
|
971
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.md",
|
|
972
|
+
"removed": [
|
|
973
|
+
"ProcessActivity without a context category",
|
|
974
|
+
"older RunningProcessActivity shape"
|
|
975
|
+
],
|
|
976
|
+
"replacement": "Handle the context category and the current RunningProcessActivity shape.",
|
|
977
|
+
"targets": [
|
|
978
|
+
"src/**/*.ts"
|
|
979
|
+
],
|
|
980
|
+
"detectable": true,
|
|
981
|
+
"confidence": "documented",
|
|
982
|
+
"ids": [
|
|
983
|
+
"chat-process-activity-context"
|
|
984
|
+
]
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"id": "K24",
|
|
988
|
+
"title": "`@deepseek-ai/dsh-office-kit` replaces `@deepseek-ai/dsh-office-to-pdf`",
|
|
989
|
+
"kind": "package-renamed",
|
|
990
|
+
"target": "0.2.2-rc.1",
|
|
991
|
+
"authoredIn": "0.2.2-alpha.3",
|
|
992
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md",
|
|
993
|
+
"removed": [
|
|
994
|
+
"@deepseek-ai/dsh-office-to-pdf",
|
|
995
|
+
"office-to-pdf service, Remote methods, exported types and config row"
|
|
996
|
+
],
|
|
997
|
+
"replacement": "Move to @deepseek-ai/dsh-office-kit and its renamed service, Remote methods, types and row.",
|
|
998
|
+
"targets": [
|
|
999
|
+
"package.json",
|
|
1000
|
+
"src/**/*.ts",
|
|
1001
|
+
"cordis.patch.yml"
|
|
1002
|
+
],
|
|
1003
|
+
"detectable": true,
|
|
1004
|
+
"confidence": "documented",
|
|
1005
|
+
"ids": [
|
|
1006
|
+
"office-kit-package"
|
|
1007
|
+
]
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"id": "K25",
|
|
1011
|
+
"title": "Office operation skills are replaced by Office tools",
|
|
1012
|
+
"kind": "api-removed",
|
|
1013
|
+
"target": "0.2.2-rc.1",
|
|
1014
|
+
"authoredIn": "0.2.2-alpha.3",
|
|
1015
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md",
|
|
1016
|
+
"removed": [
|
|
1017
|
+
"office-render / office-recalculate / office-export-pdf skills",
|
|
1018
|
+
"skill-office node and cli keys",
|
|
1019
|
+
"two Office CLI environment variables"
|
|
1020
|
+
],
|
|
1021
|
+
"replacement": "Use the skill-activated Office tools instead of the removed skills and CLI keys.",
|
|
1022
|
+
"targets": [
|
|
1023
|
+
"package.json",
|
|
1024
|
+
"**/*.md"
|
|
1025
|
+
],
|
|
1026
|
+
"detectable": true,
|
|
1027
|
+
"confidence": "documented",
|
|
1028
|
+
"ids": [
|
|
1029
|
+
"office-operation-tools"
|
|
1030
|
+
]
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"id": "K26",
|
|
1034
|
+
"title": "Office skills load from the packaged assets",
|
|
1035
|
+
"kind": "config-changed",
|
|
1036
|
+
"target": "0.2.2-rc.1",
|
|
1037
|
+
"authoredIn": "0.2.2-alpha.3",
|
|
1038
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md",
|
|
1039
|
+
"removed": [
|
|
1040
|
+
"DSH_BUNDLED_OFFICE_SKILLS",
|
|
1041
|
+
"office-skills/ resource directories"
|
|
1042
|
+
],
|
|
1043
|
+
"replacement": "Load Office skills from the skill-office package assets; drop the environment variable and resource dirs.",
|
|
1044
|
+
"targets": [
|
|
1045
|
+
"src/**/*.ts",
|
|
1046
|
+
"package.json"
|
|
1047
|
+
],
|
|
1048
|
+
"detectable": true,
|
|
1049
|
+
"confidence": "documented",
|
|
1050
|
+
"ids": [
|
|
1051
|
+
"office-skill-resources"
|
|
1052
|
+
]
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
"id": "K27",
|
|
1056
|
+
"title": "Subagent tools address agents by name",
|
|
1057
|
+
"kind": "api-changed",
|
|
1058
|
+
"target": "0.2.2-rc.1",
|
|
1059
|
+
"authoredIn": "0.2.2-alpha.3",
|
|
1060
|
+
"doc": "docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.md",
|
|
1061
|
+
"removed": [
|
|
1062
|
+
"Subagent control and Team task tools addressed by id",
|
|
1063
|
+
"previous list_agents row shape",
|
|
1064
|
+
"subagent catalog payload version 2"
|
|
1065
|
+
],
|
|
1066
|
+
"replacement": "Address agents by name and handle the new list_agents rows and catalog payload version 3.",
|
|
1067
|
+
"targets": [
|
|
1068
|
+
"src/**/*.ts",
|
|
1069
|
+
"package.json"
|
|
1070
|
+
],
|
|
1071
|
+
"detectable": true,
|
|
1072
|
+
"confidence": "documented",
|
|
1073
|
+
"ids": [
|
|
1074
|
+
"subagent-names"
|
|
1075
|
+
]
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"id": "K28",
|
|
1079
|
+
"title": "Update account notification consumers",
|
|
1080
|
+
"kind": "api-changed",
|
|
1081
|
+
"target": "0.2.2-rc.2",
|
|
1082
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1083
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md",
|
|
1084
|
+
"removed": [
|
|
1085
|
+
"bonus-specific account notification methods",
|
|
1086
|
+
"notification requests outside the Harness domain"
|
|
1087
|
+
],
|
|
1088
|
+
"replacement": "Use the generic account notification APIs and Harness-domain notification requests.",
|
|
1089
|
+
"targets": [
|
|
1090
|
+
"src/**/*.ts"
|
|
1091
|
+
],
|
|
1092
|
+
"detectable": true,
|
|
1093
|
+
"confidence": "documented",
|
|
1094
|
+
"ids": [
|
|
1095
|
+
"account-notification-fields"
|
|
1096
|
+
]
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"id": "K29",
|
|
1100
|
+
"title": "Account service and Remote imports",
|
|
1101
|
+
"kind": "api-changed",
|
|
1102
|
+
"target": "0.2.2-rc.2",
|
|
1103
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1104
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md",
|
|
1105
|
+
"removed": [
|
|
1106
|
+
"abstract account composition",
|
|
1107
|
+
"Remote imports from the abstract account package"
|
|
1108
|
+
],
|
|
1109
|
+
"replacement": "Compose the concrete deepseek-account service and import its Remote types.",
|
|
1110
|
+
"targets": [
|
|
1111
|
+
"src/**/*.ts",
|
|
1112
|
+
"package.json"
|
|
1113
|
+
],
|
|
1114
|
+
"detectable": true,
|
|
1115
|
+
"confidence": "documented",
|
|
1116
|
+
"ids": [
|
|
1117
|
+
"account-remote-provider"
|
|
1118
|
+
]
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
"id": "K30",
|
|
1122
|
+
"title": "Worktree cleanup on archive",
|
|
1123
|
+
"kind": "behavior-changed",
|
|
1124
|
+
"target": "0.2.2-rc.2",
|
|
1125
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1126
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md",
|
|
1127
|
+
"removed": [
|
|
1128
|
+
"archiving a Session left its worktree untouched"
|
|
1129
|
+
],
|
|
1130
|
+
"replacement": "Expect archiving to remove a clean worktree while keeping the branch.",
|
|
1131
|
+
"targets": [],
|
|
1132
|
+
"detectable": false,
|
|
1133
|
+
"confidence": "documented",
|
|
1134
|
+
"ids": [
|
|
1135
|
+
"archive-worktrees"
|
|
1136
|
+
],
|
|
1137
|
+
"undetectableReason": "Whether archiving a Session can remove a clean worktree depends on live worktree and branch state; static source cannot tell whether a worktree is in use."
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
"id": "K31",
|
|
1141
|
+
"title": "Attachment failures keep their codes",
|
|
1142
|
+
"kind": "api-changed",
|
|
1143
|
+
"target": "0.2.2-rc.2",
|
|
1144
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1145
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md",
|
|
1146
|
+
"removed": [
|
|
1147
|
+
"AttachmentError not extending HarnessError",
|
|
1148
|
+
"attachment failures recorded as UNKNOWN"
|
|
1149
|
+
],
|
|
1150
|
+
"replacement": "Treat AttachmentError as a HarnessError subclass and read the preserved attachment codes.",
|
|
1151
|
+
"targets": [
|
|
1152
|
+
"src/**/*.ts"
|
|
1153
|
+
],
|
|
1154
|
+
"detectable": true,
|
|
1155
|
+
"confidence": "documented",
|
|
1156
|
+
"ids": [
|
|
1157
|
+
"attachment-error-codes"
|
|
1158
|
+
]
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
"id": "K32",
|
|
1162
|
+
"title": "macOS AX tree read limits",
|
|
1163
|
+
"kind": "config-changed",
|
|
1164
|
+
"target": "0.2.2-rc.2",
|
|
1165
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1166
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md",
|
|
1167
|
+
"removed": [
|
|
1168
|
+
"fixed macOS AX traversal budgets"
|
|
1169
|
+
],
|
|
1170
|
+
"replacement": "Pass per-read overrides and expect the larger default AX node budget.",
|
|
1171
|
+
"targets": [
|
|
1172
|
+
"src/**/*.ts",
|
|
1173
|
+
"package.json"
|
|
1174
|
+
],
|
|
1175
|
+
"detectable": true,
|
|
1176
|
+
"confidence": "documented",
|
|
1177
|
+
"ids": [
|
|
1178
|
+
"cua-ax-read-limits"
|
|
1179
|
+
]
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"id": "K33",
|
|
1183
|
+
"title": "macOS hover keeps the system pointer in place by default",
|
|
1184
|
+
"kind": "behavior-changed",
|
|
1185
|
+
"target": "0.2.2-rc.2",
|
|
1186
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1187
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md",
|
|
1188
|
+
"removed": [
|
|
1189
|
+
"mouseMove that moves the system pointer"
|
|
1190
|
+
],
|
|
1191
|
+
"replacement": "Expect macOS mouseMove to require AX alternate UI and return HOVER_UNAVAILABLE instead of moving the cursor.",
|
|
1192
|
+
"targets": [],
|
|
1193
|
+
"detectable": false,
|
|
1194
|
+
"confidence": "documented",
|
|
1195
|
+
"ids": [
|
|
1196
|
+
"cua-hover-ax-only"
|
|
1197
|
+
],
|
|
1198
|
+
"undetectableReason": "Keeping the macOS system pointer in place is a runtime side effect of mouseMove; static inspection cannot observe pointer movement or a HOVER_UNAVAILABLE return."
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"id": "K34",
|
|
1202
|
+
"title": "Native CUA application and window API",
|
|
1203
|
+
"kind": "api-changed",
|
|
1204
|
+
"target": "0.2.2-rc.2",
|
|
1205
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1206
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md",
|
|
1207
|
+
"removed": [
|
|
1208
|
+
"global native CUA window input API",
|
|
1209
|
+
"numeric element ids"
|
|
1210
|
+
],
|
|
1211
|
+
"replacement": "Use scoped window input, string element IDs and platform capabilities.",
|
|
1212
|
+
"targets": [
|
|
1213
|
+
"src/**/*.ts"
|
|
1214
|
+
],
|
|
1215
|
+
"detectable": true,
|
|
1216
|
+
"confidence": "documented",
|
|
1217
|
+
"ids": [
|
|
1218
|
+
"cua-native-platform"
|
|
1219
|
+
]
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"id": "K35",
|
|
1223
|
+
"title": "`dsh-doc` replaces the Creator mode skills",
|
|
1224
|
+
"kind": "resource-moved",
|
|
1225
|
+
"target": "0.2.2-rc.2",
|
|
1226
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1227
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md",
|
|
1228
|
+
"removed": [
|
|
1229
|
+
"cordis-plugin-development skill",
|
|
1230
|
+
"editing-cordis-compositions skill",
|
|
1231
|
+
"cordis-composition-reference skill",
|
|
1232
|
+
"agent-experience skill",
|
|
1233
|
+
"packages/preset/agent-preset/skills/cordis-plugin-development/**"
|
|
1234
|
+
],
|
|
1235
|
+
"replacement": "Load the single dsh-doc skill; its references and templates now live under skills/dsh-doc/.",
|
|
1236
|
+
"targets": [
|
|
1237
|
+
"**/*.md",
|
|
1238
|
+
"src/**/*.ts"
|
|
1239
|
+
],
|
|
1240
|
+
"detectable": true,
|
|
1241
|
+
"confidence": "documented",
|
|
1242
|
+
"ids": [
|
|
1243
|
+
"dsh-doc-skill"
|
|
1244
|
+
]
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"id": "K36",
|
|
1248
|
+
"title": "Forge snapshots carry the change request overview, and actions report unknown outcomes",
|
|
1249
|
+
"kind": "api-changed",
|
|
1250
|
+
"target": "0.2.2-rc.2",
|
|
1251
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1252
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md",
|
|
1253
|
+
"removed": [
|
|
1254
|
+
"ChangeRequestSnapshot without overview fields",
|
|
1255
|
+
"ChangeRequestCheck without rerun",
|
|
1256
|
+
"ForgeActionFailure without unknown"
|
|
1257
|
+
],
|
|
1258
|
+
"replacement": "Populate the required overview and rerun fields and handle the unknown action outcome.",
|
|
1259
|
+
"targets": [
|
|
1260
|
+
"src/**/*.ts"
|
|
1261
|
+
],
|
|
1262
|
+
"detectable": true,
|
|
1263
|
+
"confidence": "documented",
|
|
1264
|
+
"ids": [
|
|
1265
|
+
"forge-change-request-overview"
|
|
1266
|
+
]
|
|
1267
|
+
},
|
|
1268
|
+
{
|
|
1269
|
+
"id": "K37",
|
|
1270
|
+
"title": "Forge diffs read one head commit",
|
|
1271
|
+
"kind": "api-changed",
|
|
1272
|
+
"target": "0.2.2-rc.2",
|
|
1273
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1274
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md",
|
|
1275
|
+
"removed": [
|
|
1276
|
+
"ForgeProvider.diff without a head commit",
|
|
1277
|
+
"ForgeFailure without stale",
|
|
1278
|
+
"ChangeRequestSnapshot without threadsTruncated"
|
|
1279
|
+
],
|
|
1280
|
+
"replacement": "Pass the head commit to ctx.forge.diff / ForgeProvider.diff and handle stale plus threadsTruncated.",
|
|
1281
|
+
"targets": [
|
|
1282
|
+
"src/**/*.ts"
|
|
1283
|
+
],
|
|
1284
|
+
"detectable": true,
|
|
1285
|
+
"confidence": "documented",
|
|
1286
|
+
"ids": [
|
|
1287
|
+
"forge-pinned-diff"
|
|
1288
|
+
]
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"id": "K38",
|
|
1292
|
+
"title": "Forge failures report unsupported reads",
|
|
1293
|
+
"kind": "api-changed",
|
|
1294
|
+
"target": "0.2.2-rc.2",
|
|
1295
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1296
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md",
|
|
1297
|
+
"removed": [
|
|
1298
|
+
"review reads that silently succeed without provider support"
|
|
1299
|
+
],
|
|
1300
|
+
"replacement": "Handle ForgeFailure code unsupported returned by ctx.forge.readReview.",
|
|
1301
|
+
"targets": [
|
|
1302
|
+
"src/**/*.ts"
|
|
1303
|
+
],
|
|
1304
|
+
"detectable": true,
|
|
1305
|
+
"confidence": "documented",
|
|
1306
|
+
"ids": [
|
|
1307
|
+
"forge-review-reads"
|
|
1308
|
+
]
|
|
1309
|
+
},
|
|
1310
|
+
{
|
|
1311
|
+
"id": "K39",
|
|
1312
|
+
"title": "`BundleInfo.update` replaces `BundleInfo.updatable`",
|
|
1313
|
+
"kind": "api-changed",
|
|
1314
|
+
"target": "0.2.2-rc.2",
|
|
1315
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1316
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md",
|
|
1317
|
+
"removed": [
|
|
1318
|
+
"BundleInfo.updatable"
|
|
1319
|
+
],
|
|
1320
|
+
"replacement": "Read BundleInfo.update (registry | git | undefined) and handle ManagementError code unexpected-package.",
|
|
1321
|
+
"targets": [
|
|
1322
|
+
"src/**/*.ts"
|
|
1323
|
+
],
|
|
1324
|
+
"detectable": true,
|
|
1325
|
+
"confidence": "documented",
|
|
1326
|
+
"ids": [
|
|
1327
|
+
"plugin-update-method"
|
|
1328
|
+
]
|
|
1329
|
+
},
|
|
1330
|
+
{
|
|
1331
|
+
"id": "K40",
|
|
1332
|
+
"title": "Runtime-context reminder records",
|
|
1333
|
+
"kind": "format-changed",
|
|
1334
|
+
"target": "0.2.2-rc.2",
|
|
1335
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1336
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md",
|
|
1337
|
+
"removed": [
|
|
1338
|
+
"runtime-context log text without reminder framing",
|
|
1339
|
+
"clear markers without empty-section records"
|
|
1340
|
+
],
|
|
1341
|
+
"replacement": "Read the reminder framing and empty-snapshot-section clear markers in runtime-context log text.",
|
|
1342
|
+
"targets": [],
|
|
1343
|
+
"detectable": false,
|
|
1344
|
+
"confidence": "documented",
|
|
1345
|
+
"ids": [
|
|
1346
|
+
"runtime-context-reminders"
|
|
1347
|
+
],
|
|
1348
|
+
"undetectableReason": "Reminder framing and empty-section clear markers are persisted runtime-context text, a data format observed in session records rather than in plugin declarations."
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
"id": "K41",
|
|
1352
|
+
"title": "Update replacements for `Session.append`",
|
|
1353
|
+
"kind": "api-changed",
|
|
1354
|
+
"target": "0.2.2-rc.2",
|
|
1355
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1356
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md",
|
|
1357
|
+
"removed": [
|
|
1358
|
+
"a replacement Session.append that implements only one overload"
|
|
1359
|
+
],
|
|
1360
|
+
"replacement": "Implement both the single-event and array overloads when replacing Session.append.",
|
|
1361
|
+
"targets": [
|
|
1362
|
+
"src/**/*.ts"
|
|
1363
|
+
],
|
|
1364
|
+
"detectable": true,
|
|
1365
|
+
"confidence": "documented",
|
|
1366
|
+
"ids": [
|
|
1367
|
+
"session-append-overloads"
|
|
1368
|
+
]
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"id": "K42",
|
|
1372
|
+
"title": "Built-in configurations disable agent interruption",
|
|
1373
|
+
"kind": "config-default-changed",
|
|
1374
|
+
"target": "0.2.2-rc.2",
|
|
1375
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1376
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md",
|
|
1377
|
+
"removed": [
|
|
1378
|
+
"interrupt_agent enabled by default for subagents and Team mode"
|
|
1379
|
+
],
|
|
1380
|
+
"replacement": "Re-enable interrupt_agent explicitly in built-in configurations if interruption is required.",
|
|
1381
|
+
"targets": [],
|
|
1382
|
+
"detectable": false,
|
|
1383
|
+
"confidence": "documented",
|
|
1384
|
+
"ids": [
|
|
1385
|
+
"subagent-interrupt-default"
|
|
1386
|
+
],
|
|
1387
|
+
"undetectableReason": "A built-in composition default for interrupt_agent is applied by the Host at run time; nothing in a third-party package states whether it relied on interruption being enabled."
|
|
1388
|
+
},
|
|
1389
|
+
{
|
|
1390
|
+
"id": "K43",
|
|
1391
|
+
"title": "`TerminalBackendCleanupError` extends `TerminalError`",
|
|
1392
|
+
"kind": "api-changed",
|
|
1393
|
+
"target": "0.2.2-rc.2",
|
|
1394
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1395
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md",
|
|
1396
|
+
"removed": [
|
|
1397
|
+
"TerminalBackendCleanupError extending AggregateError"
|
|
1398
|
+
],
|
|
1399
|
+
"replacement": "Extend TerminalError and carry the CLEANUP_FAILED code.",
|
|
1400
|
+
"targets": [
|
|
1401
|
+
"src/**/*.ts"
|
|
1402
|
+
],
|
|
1403
|
+
"detectable": true,
|
|
1404
|
+
"confidence": "documented",
|
|
1405
|
+
"ids": [
|
|
1406
|
+
"terminal-backend-cleanup-error"
|
|
1407
|
+
]
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"id": "K44",
|
|
1411
|
+
"title": "Persistent terminals open in the Web sidebar",
|
|
1412
|
+
"kind": "bundle-changed",
|
|
1413
|
+
"target": "0.2.2-rc.2",
|
|
1414
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1415
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md",
|
|
1416
|
+
"removed": [
|
|
1417
|
+
"optional-terminal-bash row",
|
|
1418
|
+
"optional-terminal-pwsh row"
|
|
1419
|
+
],
|
|
1420
|
+
"replacement": "Target optional-terminal-panel rows; Agent terminals now open in the Web sidebar.",
|
|
1421
|
+
"targets": [
|
|
1422
|
+
"cordis.patch.yml",
|
|
1423
|
+
"package.json"
|
|
1424
|
+
],
|
|
1425
|
+
"detectable": true,
|
|
1426
|
+
"confidence": "documented",
|
|
1427
|
+
"ids": [
|
|
1428
|
+
"terminal-bundle-sidebar-backend"
|
|
1429
|
+
]
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"id": "K45",
|
|
1433
|
+
"title": "DeepSeek web search and fetch choose their credential by billing",
|
|
1434
|
+
"kind": "config-changed",
|
|
1435
|
+
"target": "0.2.2-rc.2",
|
|
1436
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1437
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md",
|
|
1438
|
+
"removed": [
|
|
1439
|
+
"provider authentication fields on DeepSeek Search/Fetch"
|
|
1440
|
+
],
|
|
1441
|
+
"replacement": "Use per-capability billing and ordered credential sources for DeepSeek Search and Fetch.",
|
|
1442
|
+
"targets": [
|
|
1443
|
+
"src/**/*.ts",
|
|
1444
|
+
"cordis.patch.yml"
|
|
1445
|
+
],
|
|
1446
|
+
"detectable": true,
|
|
1447
|
+
"confidence": "documented",
|
|
1448
|
+
"ids": [
|
|
1449
|
+
"web-search-billing"
|
|
1450
|
+
]
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
"id": "K46",
|
|
1454
|
+
"title": "Explicit window regions for custom Client overlays",
|
|
1455
|
+
"kind": "ui-changed",
|
|
1456
|
+
"target": "0.2.2-rc.2",
|
|
1457
|
+
"authoredIn": "0.2.2-rc.1",
|
|
1458
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md",
|
|
1459
|
+
"removed": [
|
|
1460
|
+
"global macOS no-drag exclusions for custom overlays"
|
|
1461
|
+
],
|
|
1462
|
+
"replacement": "Declare explicit window regions for custom Client overlays.",
|
|
1463
|
+
"targets": [],
|
|
1464
|
+
"detectable": false,
|
|
1465
|
+
"confidence": "documented",
|
|
1466
|
+
"ids": [
|
|
1467
|
+
"window-drag-regions"
|
|
1468
|
+
],
|
|
1469
|
+
"undetectableReason": "A missing window-region declaration only breaks drag behavior in the rendered macOS client; the declaration is runtime UI metadata, not a load-time contract."
|
|
360
1470
|
}
|
|
361
1471
|
],
|
|
362
1472
|
"capabilities": [
|
|
363
|
-
{
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
{
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
{
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
{
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
{
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
1473
|
+
{
|
|
1474
|
+
"id": "A1",
|
|
1475
|
+
"area": "Subagents",
|
|
1476
|
+
"introducedIn": "<=dsh-v0.1.0-rc.7",
|
|
1477
|
+
"anchor": "note 2026-06-21; continuable note 2026-07-28; control tools first commit 2026-08-02",
|
|
1478
|
+
"confidence": "documented"
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1481
|
+
"id": "A2",
|
|
1482
|
+
"area": "Agent Teams (experimental)",
|
|
1483
|
+
"introducedIn": "dsh-v0.1.0-rc.8",
|
|
1484
|
+
"anchor": "packages first commit 2026-08-19; profile bundle 2026-09-04 -> dsh-v0.1.3-alpha.1",
|
|
1485
|
+
"confidence": "documented"
|
|
1486
|
+
},
|
|
1487
|
+
{
|
|
1488
|
+
"id": "A3",
|
|
1489
|
+
"area": "Workflow orchestration",
|
|
1490
|
+
"introducedIn": "dsh-v0.1.6-alpha.1",
|
|
1491
|
+
"anchor": "tool-workflow 2026-07-05 and tool-ralph 2026-07-20 were earlier; workflow-ptc 2026-09-13 -> this release",
|
|
1492
|
+
"confidence": "documented"
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
"id": "A4",
|
|
1496
|
+
"area": "Background jobs",
|
|
1497
|
+
"introducedIn": "<=dsh-v0.1.0-rc.7",
|
|
1498
|
+
"anchor": "first commit 2026-08-13; consolidation note 2026-09-03",
|
|
1499
|
+
"confidence": "documented"
|
|
1500
|
+
},
|
|
1501
|
+
{
|
|
1502
|
+
"id": "A5",
|
|
1503
|
+
"area": "Scheduling and cron",
|
|
1504
|
+
"introducedIn": "dsh-v0.2.1-alpha.1",
|
|
1505
|
+
"anchor": "after 2026-08-05 and fixed-rate+cron 2026-08-06 were earlier; the tool package became preset-scoped 2026-09-24 -> this release",
|
|
1506
|
+
"confidence": "documented"
|
|
1507
|
+
},
|
|
1508
|
+
{
|
|
1509
|
+
"id": "A6",
|
|
1510
|
+
"area": "Goal tracking",
|
|
1511
|
+
"introducedIn": "<=dsh-v0.1.0-rc.7",
|
|
1512
|
+
"anchor": "2026-07-19",
|
|
1513
|
+
"confidence": "documented"
|
|
1514
|
+
},
|
|
1515
|
+
{
|
|
1516
|
+
"id": "A7",
|
|
1517
|
+
"area": "Plan mode",
|
|
1518
|
+
"introducedIn": "<=dsh-v0.1.0-rc.7",
|
|
1519
|
+
"anchor": "2026-07-22",
|
|
1520
|
+
"confidence": "documented"
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
"id": "A8",
|
|
1524
|
+
"area": "Todo list",
|
|
1525
|
+
"introducedIn": "<=dsh-v0.1.0-rc.7",
|
|
1526
|
+
"anchor": "2026-06-29",
|
|
1527
|
+
"confidence": "documented"
|
|
1528
|
+
},
|
|
1529
|
+
{
|
|
1530
|
+
"id": "A9",
|
|
1531
|
+
"area": "LSP navigation",
|
|
1532
|
+
"introducedIn": "dsh-v0.1.3-alpha.1",
|
|
1533
|
+
"anchor": "seam 2026-07-16; lsp-stdio 2026-08-13 was earlier; tool-lsp 2026-09-04 -> this release",
|
|
1534
|
+
"confidence": "documented"
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"id": "A10",
|
|
1538
|
+
"area": "Browser automation",
|
|
1539
|
+
"introducedIn": "dsh-v0.1.6-alpha.1",
|
|
1540
|
+
"anchor": "2026-09-12/13; seam is native, provider is experimental",
|
|
1541
|
+
"confidence": "documented"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"id": "A11",
|
|
1545
|
+
"area": "Computer use",
|
|
1546
|
+
"introducedIn": "dsh-v0.1.6-alpha.1",
|
|
1547
|
+
"anchor": "2026-09-12; seam is native, provider is experimental",
|
|
1548
|
+
"confidence": "documented"
|
|
1549
|
+
},
|
|
1550
|
+
{
|
|
1551
|
+
"id": "A12",
|
|
1552
|
+
"area": "MCP client",
|
|
1553
|
+
"introducedIn": "dsh-v0.1.3-alpha.1",
|
|
1554
|
+
"anchor": "client note 2026-07-07; group first tag 2026-09-04",
|
|
1555
|
+
"confidence": "documented"
|
|
1556
|
+
},
|
|
1557
|
+
{
|
|
1558
|
+
"id": "A13",
|
|
1559
|
+
"area": "Observability / OpenTelemetry",
|
|
1560
|
+
"introducedIn": "dsh-v0.2.0-rc.1",
|
|
1561
|
+
"anchor": "otel package 2026-09-25; product adapter 2026-09-21 -> 0.1.7-alpha.2; session adapter 2026-09-04 -> 0.1.3-alpha.1",
|
|
1562
|
+
"confidence": "documented"
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
"id": "A14",
|
|
1566
|
+
"area": "Deliverables, documents, attachments",
|
|
1567
|
+
"introducedIn": "dsh-v0.1.6-alpha.2",
|
|
1568
|
+
"anchor": "deliverables 2026-09-14; office-to-pdf 2026-09-16; attachment seam 2026-09-04 -> 0.1.3-alpha.1",
|
|
1569
|
+
"confidence": "documented"
|
|
1570
|
+
},
|
|
1571
|
+
{
|
|
1572
|
+
"id": "A15",
|
|
1573
|
+
"area": "Session store, checkpoints, search, fork/resume/export",
|
|
1574
|
+
"introducedIn": "dsh-v0.1.3-alpha.1",
|
|
1575
|
+
"anchor": "session/llm 2026-06-11; checkpoint policy 2026-08-09; session-query 2026-09-04; V4 format 2026-09-16",
|
|
1576
|
+
"confidence": "documented"
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
"id": "A16",
|
|
1580
|
+
"area": "Web access",
|
|
1581
|
+
"introducedIn": "dsh-v0.1.3-alpha.1",
|
|
1582
|
+
"anchor": "seam note 2026-06-24; group first tag 2026-09-04",
|
|
1583
|
+
"confidence": "documented"
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
"id": "A17",
|
|
1587
|
+
"area": "Outbound webhooks",
|
|
1588
|
+
"introducedIn": "dsh-v0.1.2-alpha.1",
|
|
1589
|
+
"anchor": "group 2026-08-23; GitHub adapter 2026-09-04 -> 0.1.3-alpha.1",
|
|
1590
|
+
"confidence": "documented"
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
"id": "A18",
|
|
1594
|
+
"area": "Terminal, SSH, shell",
|
|
1595
|
+
"introducedIn": "dsh-v0.1.6-alpha.1",
|
|
1596
|
+
"anchor": "shell/terminal 2026-08-13; SSH 2026-09-12 -> this release; terminal permission note 2026-09-16",
|
|
1597
|
+
"confidence": "documented"
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
"id": "A19",
|
|
1601
|
+
"area": "Permissions, approval, sandboxing",
|
|
1602
|
+
"introducedIn": "dsh-v0.1.3-alpha.1",
|
|
1603
|
+
"anchor": "sandbox/permission/user-approval/commands 2026-09-04; guards 2026-07-08",
|
|
1604
|
+
"confidence": "documented"
|
|
1605
|
+
},
|
|
1606
|
+
{
|
|
1607
|
+
"id": "A20",
|
|
1608
|
+
"area": "Extension points: skills, dynamic plugins, hooks, presets",
|
|
1609
|
+
"introducedIn": "dsh-v0.1.6-alpha.2",
|
|
1610
|
+
"anchor": "skill 2026-07-10 and hooks 2026-07-01 were earlier; plugin-manager tool 2026-09-14 -> this release; preset registry 2026-09-21 -> 0.1.7-alpha.2",
|
|
1611
|
+
"confidence": "documented"
|
|
1612
|
+
},
|
|
1613
|
+
{
|
|
1614
|
+
"id": "A21",
|
|
1615
|
+
"area": "Context management: compaction, spill, observation policy",
|
|
1616
|
+
"introducedIn": "dsh-v0.1.3-alpha.1",
|
|
1617
|
+
"anchor": "compaction seam 2026-06-18; spill group 2026-09-04 -> this release; image offload 2026-09-08 -> 0.1.6-alpha.1",
|
|
1618
|
+
"confidence": "documented"
|
|
1619
|
+
},
|
|
1620
|
+
{
|
|
1621
|
+
"id": "A22",
|
|
1622
|
+
"area": "Plugin and API surfaces: Remote controllers, Typert, SDK, ACP, bundles",
|
|
1623
|
+
"introducedIn": "dsh-v0.1.2-alpha.1",
|
|
1624
|
+
"anchor": "acp 2026-06-16, sdk 2026-07-15, api/typert 2026-07-29..08-07 were earlier; sdk-minimal 2026-08-24 -> this release",
|
|
1625
|
+
"confidence": "documented"
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
"id": "M1",
|
|
1629
|
+
"area": "ctx.hmr, ctx.pluginManager, ctx.profileContext",
|
|
1630
|
+
"introducedIn": "dsh-v0.1.6-alpha.2",
|
|
1631
|
+
"anchor": "three packages first appear in the same release",
|
|
1632
|
+
"confidence": "documented"
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
"id": "M2",
|
|
1636
|
+
"area": "peer compatibility runtime gate",
|
|
1637
|
+
"introducedIn": "dsh-v0.1.7-rc.1",
|
|
1638
|
+
"anchor": "plugin-compatibility.ts and two sibling files first appear",
|
|
1639
|
+
"confidence": "documented"
|
|
1640
|
+
},
|
|
1641
|
+
{
|
|
1642
|
+
"id": "M3",
|
|
1643
|
+
"area": "Session format V4",
|
|
1644
|
+
"introducedIn": "dsh-v0.1.7-alpha.1",
|
|
1645
|
+
"anchor": "SESSION_FORMAT_VERSION 3 -> 4",
|
|
1646
|
+
"confidence": "documented"
|
|
1647
|
+
},
|
|
1648
|
+
{
|
|
1649
|
+
"id": "M4",
|
|
1650
|
+
"area": "ctx.mcpResources, ctx.browserUse, ctx.computerUse, ctx.ssh, ctx.inspector, ctx.dynamicCordisRunner",
|
|
1651
|
+
"introducedIn": "dsh-v0.2.1-alpha.1",
|
|
1652
|
+
"anchor": "seam rows A10/A11/A12/A18/A20",
|
|
1653
|
+
"confidence": "documented"
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"id": "M5",
|
|
1657
|
+
"area": "conversation.input.permission and sidebar.right.tab.guide.entry slots",
|
|
1658
|
+
"introducedIn": "dsh-v0.2.1-alpha.1",
|
|
1659
|
+
"anchor": "official slot documentation",
|
|
1660
|
+
"confidence": "documented"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"id": "M6",
|
|
1664
|
+
"area": "webStartup replaces webRuntime",
|
|
1665
|
+
"introducedIn": "dsh-v0.2.1-alpha.2",
|
|
1666
|
+
"anchor": "L3",
|
|
1667
|
+
"confidence": "documented"
|
|
1668
|
+
},
|
|
1669
|
+
{
|
|
1670
|
+
"id": "M7",
|
|
1671
|
+
"area": "BundleInfo.official and BundleInfo.availability",
|
|
1672
|
+
"introducedIn": "dsh-v0.2.1-alpha.2",
|
|
1673
|
+
"anchor": "L11",
|
|
1674
|
+
"confidence": "documented"
|
|
1675
|
+
},
|
|
1676
|
+
{
|
|
1677
|
+
"id": "M8",
|
|
1678
|
+
"area": "working_directory tool and create_worktree",
|
|
1679
|
+
"introducedIn": "dsh-v0.2.1-alpha.2",
|
|
1680
|
+
"anchor": "tool catalog",
|
|
1681
|
+
"confidence": "inferred",
|
|
1682
|
+
"inferredFrom": "Present in the pinned tool catalog; the exact introducing release was not established by a first-tag search."
|
|
1683
|
+
},
|
|
1684
|
+
{
|
|
1685
|
+
"id": "M9",
|
|
1686
|
+
"area": "dsh-invariants removed",
|
|
1687
|
+
"introducedIn": "removed in dsh-v0.2.1-alpha.1",
|
|
1688
|
+
"anchor": "S3",
|
|
1689
|
+
"confidence": "documented"
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"id": "M10",
|
|
1693
|
+
"area": "dsh-experimental-schedule-bundle retired",
|
|
1694
|
+
"introducedIn": "retired in dsh-v0.2.0-rc.2",
|
|
1695
|
+
"anchor": "S5",
|
|
1696
|
+
"confidence": "documented"
|
|
1697
|
+
},
|
|
1698
|
+
{
|
|
1699
|
+
"id": "M11",
|
|
1700
|
+
"area": "subpath plugins stop reading their own package.json",
|
|
1701
|
+
"introducedIn": "removed in dsh-v0.2.1-alpha.1",
|
|
1702
|
+
"anchor": "S4",
|
|
1703
|
+
"confidence": "documented"
|
|
1704
|
+
}
|
|
1705
|
+
],
|
|
1706
|
+
"unreleased": [
|
|
1707
|
+
{
|
|
1708
|
+
"id": "U1",
|
|
1709
|
+
"title": "Client module metadata",
|
|
1710
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1711
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1712
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.md",
|
|
1713
|
+
"confidence": "documented",
|
|
1714
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"id": "U2",
|
|
1718
|
+
"title": "Token Provider and route admission migration",
|
|
1719
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1720
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1721
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.md",
|
|
1722
|
+
"confidence": "documented",
|
|
1723
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
"id": "U3",
|
|
1727
|
+
"title": "`ctx[Context.root]` replaces `ctx.root`, and service intercept metadata is renamed",
|
|
1728
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1729
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1730
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.md",
|
|
1731
|
+
"confidence": "documented",
|
|
1732
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1733
|
+
},
|
|
1734
|
+
{
|
|
1735
|
+
"id": "U4",
|
|
1736
|
+
"title": "CUA gives Agents without a preset `cua_run_code`",
|
|
1737
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1738
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1739
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.md",
|
|
1740
|
+
"confidence": "documented",
|
|
1741
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"id": "U5",
|
|
1745
|
+
"title": "macOS Computer Use provider name",
|
|
1746
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1747
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1748
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.md",
|
|
1749
|
+
"confidence": "documented",
|
|
1750
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1751
|
+
},
|
|
1752
|
+
{
|
|
1753
|
+
"id": "U6",
|
|
1754
|
+
"title": "macOS CUA isolates unavailable AX branches",
|
|
1755
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1756
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1757
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.md",
|
|
1758
|
+
"confidence": "documented",
|
|
1759
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
"id": "U7",
|
|
1763
|
+
"title": "DeepSeek image upload timeout",
|
|
1764
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1765
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1766
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.md",
|
|
1767
|
+
"confidence": "documented",
|
|
1768
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1769
|
+
},
|
|
1770
|
+
{
|
|
1771
|
+
"id": "U8",
|
|
1772
|
+
"title": "Experimental plugin failures carry error codes",
|
|
1773
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1774
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1775
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.md",
|
|
1776
|
+
"confidence": "documented",
|
|
1777
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
"id": "U9",
|
|
1781
|
+
"title": "Update removed package subpath imports",
|
|
1782
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1783
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1784
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.md",
|
|
1785
|
+
"confidence": "documented",
|
|
1786
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1787
|
+
},
|
|
1788
|
+
{
|
|
1789
|
+
"id": "U10",
|
|
1790
|
+
"title": "Python PTC removal",
|
|
1791
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1792
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1793
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.md",
|
|
1794
|
+
"confidence": "documented",
|
|
1795
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1796
|
+
},
|
|
1797
|
+
{
|
|
1798
|
+
"id": "U11",
|
|
1799
|
+
"title": "Session status moves to `@deepseek-ai/dsh-client-ui-session-status` and completion reminders follow Host reading records",
|
|
1800
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1801
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1802
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.md",
|
|
1803
|
+
"confidence": "documented",
|
|
1804
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1805
|
+
},
|
|
1806
|
+
{
|
|
1807
|
+
"id": "U12",
|
|
1808
|
+
"title": "Shared search filter replaces rankByName and searchMode",
|
|
1809
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1810
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1811
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.md",
|
|
1812
|
+
"confidence": "documented",
|
|
1813
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1814
|
+
},
|
|
1815
|
+
{
|
|
1816
|
+
"id": "U13",
|
|
1817
|
+
"title": "Shell and read_image failures use consolidated error codes",
|
|
1818
|
+
"authoredIn": "0.2.2-rc.2",
|
|
1819
|
+
"landing": "after 0.2.2-rc.3 (not part of the rc.3 release tag; next release)",
|
|
1820
|
+
"doc": "docs/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.md",
|
|
1821
|
+
"confidence": "documented",
|
|
1822
|
+
"note": "Authored at v0.2.2-rc.2 and merged to master after the rc.3 tag. Do not count it as an rc.3 change."
|
|
1823
|
+
}
|
|
396
1824
|
]
|
|
397
1825
|
}
|