@yugoo-design/dsh-design-studio 0.1.0-beta.3 → 0.1.2

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.md CHANGED
@@ -24,7 +24,22 @@ a retained resource root for the same pin.
24
24
 
25
25
  ## Validation
26
26
 
27
- `validateKit` and `validateBundle` capture the Design Core loader's content errors as bounded, locatable diagnostics so an author can see why a definition does not load; a valid definition reports an empty list and validation never degrades to a silently empty result.
27
+ `validateKit` and `validateBundle` capture the Design Core loader's content errors
28
+ as bounded, locatable diagnostics. `valid` means the definition actually loads
29
+ without errors, not that the diagnostic list is empty. An omitted diagnostic
30
+ severity retains its existing error meaning; `severity: "warning"` is advisory.
31
+
32
+ These entries and Kit-draft validation reuse Core's read-only knowledge-declaration
33
+ analysis. A direct single-target record selector is compared with the owning
34
+ schema's reference role and target. Warnings identify the Bundle, schema pointer,
35
+ Panel section, field and expected collection. Explicit metadata, multi-target
36
+ selectors, free-form/external references and unresolvable declarations do not
37
+ acquire guessed semantics. No field-name or Kit-name heuristics, schema rewriting,
38
+ Design File changes, new approval state or runtime loading gate are introduced.
39
+ Kit-draft confirmation still gates on `valid`, so warnings remain visible without
40
+ blocking a loadable working copy. Other error-only preview/read result contracts
41
+ are unchanged. A passing definition is not proof that its KAG relationships have
42
+ been indexed or accepted.
28
43
 
29
44
  ## Authoring and remaining boundaries
30
45
 
package/lib/index.d.ts CHANGED
@@ -33,12 +33,14 @@ interface StudioDiagnostic {
33
33
  readonly message: string;
34
34
  /** The Kit or Bundle the diagnostic is about, when known. */
35
35
  readonly subject?: string;
36
+ /** Omitted means error, preserving existing error-only consumers. */
37
+ readonly severity?: 'warning';
36
38
  }
37
39
  /** The outcome of validating one Kit or Bundle definition. */
38
40
  interface StudioValidationReport {
39
- /** True when the definition loaded with no diagnostics. */
41
+ /** True when the definition loads without errors; warnings do not block use. */
40
42
  readonly valid: boolean;
41
- /** Explicit diagnostics; empty exactly when {@link valid} is true. */
43
+ /** Definition errors or non-blocking authoring warnings. */
42
44
  readonly diagnostics: readonly StudioDiagnostic[];
43
45
  }
44
46
  /** Exact identity of one published Kit version. */
@@ -145,7 +147,7 @@ declare function loadStudioKit(fs: StudioReadFs, kitRoot: string, options?: Stud
145
147
  * Validate one Kit definition at `kitRoot`.
146
148
  * @param fs - injected read file-ops port.
147
149
  * @param kitRoot - absolute directory holding the Kit.
148
- * @returns a report; empty diagnostics exactly when the Kit loads.
150
+ * @returns load validity plus any non-blocking declaration warnings.
149
151
  */
150
152
  declare function validateKit(fs: StudioReadFs, kitRoot: string): Promise<StudioValidationReport>;
151
153
  /**
@@ -156,7 +158,7 @@ declare function validateKit(fs: StudioReadFs, kitRoot: string): Promise<StudioV
156
158
  * @param fs - injected read file-ops port.
157
159
  * @param kitRoot - absolute directory of the containing Kit.
158
160
  * @param name - the Bundle id (its `skills/<name>/` directory).
159
- * @returns a report; empty diagnostics exactly when the Bundle loads as part of the Kit.
161
+ * @returns load validity plus warnings attributed to this Bundle, not its neighbors.
160
162
  */
161
163
  declare function validateBundle(fs: StudioReadFs, kitRoot: string, name: string): Promise<StudioValidationReport>;
162
164
  //#endregion
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { basename, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
2
- import { DesignBundleVersion, DesignKitVersion, compileSchema, loadDesignBundle, loadDesignKit } from "@yugoo-design/dsh-design-core";
2
+ import { DesignBundleVersion, DesignKitVersion, compileSchema, diagnoseKnowledgeDeclarations, loadDesignBundle, loadDesignKit } from "@yugoo-design/dsh-design-core";
3
3
  import { createHash } from "node:crypto";
4
4
  //#region src/types.ts
5
5
  /**
@@ -57,7 +57,7 @@ async function loadStudioKit(fs, kitRoot, options = {}) {
57
57
  * Unlike catalog enumeration (which fails loud on an illegal Kit), validation
58
58
  * captures the Design Core loader's known content errors and returns them as
59
59
  * bounded, locatable diagnostics so an author can repair a working copy. A valid
60
- * definition reports an empty diagnostic list; an invalid one never degrades
60
+ * definition may report non-blocking authoring warnings; an invalid one never degrades
61
61
  * to a silently empty result. This validates Bundle DEFINITIONS, not design
62
62
  * state instances (that is the runtime's `validateSkillDesign`).
63
63
  */
@@ -70,18 +70,26 @@ const REQUIRED_BUNDLE_SLOTS = [
70
70
  function errorMessage(error) {
71
71
  return error instanceof Error ? error.message : String(error);
72
72
  }
73
+ /** Adapt shared, read-only declaration advice into the existing authoring report. */
74
+ function knowledgeDeclarationWarnings(skills) {
75
+ return diagnoseKnowledgeDeclarations(skills).map(({ code, message, subject }) => ({
76
+ code,
77
+ message,
78
+ subject,
79
+ severity: "warning"
80
+ }));
81
+ }
73
82
  /**
74
83
  * Validate one Kit definition at `kitRoot`.
75
84
  * @param fs - injected read file-ops port.
76
85
  * @param kitRoot - absolute directory holding the Kit.
77
- * @returns a report; empty diagnostics exactly when the Kit loads.
86
+ * @returns load validity plus any non-blocking declaration warnings.
78
87
  */
79
88
  async function validateKit(fs, kitRoot) {
80
89
  try {
81
- await loadStudioKit(fs, kitRoot);
82
90
  return {
83
91
  valid: true,
84
- diagnostics: []
92
+ diagnostics: knowledgeDeclarationWarnings((await loadStudioKit(fs, kitRoot)).skills)
85
93
  };
86
94
  } catch (error) {
87
95
  return {
@@ -102,7 +110,7 @@ async function validateKit(fs, kitRoot) {
102
110
  * @param fs - injected read file-ops port.
103
111
  * @param kitRoot - absolute directory of the containing Kit.
104
112
  * @param name - the Bundle id (its `skills/<name>/` directory).
105
- * @returns a report; empty diagnostics exactly when the Bundle loads as part of the Kit.
113
+ * @returns load validity plus warnings attributed to this Bundle, not its neighbors.
106
114
  */
107
115
  async function validateBundle(fs, kitRoot, name) {
108
116
  const bundleRoot = join(kitRoot, "skills", name);
@@ -120,7 +128,8 @@ async function validateBundle(fs, kitRoot, name) {
120
128
  diagnostics: missing
121
129
  };
122
130
  try {
123
- if (!(await loadStudioKit(fs, kitRoot)).skills.some((skill) => skill.name === name)) return {
131
+ const kit = await loadStudioKit(fs, kitRoot);
132
+ if (!kit.skills.some((skill) => skill.name === name)) return {
124
133
  valid: false,
125
134
  diagnostics: [{
126
135
  code: "bundle.not_in_catalog",
@@ -130,7 +139,7 @@ async function validateBundle(fs, kitRoot, name) {
130
139
  };
131
140
  return {
132
141
  valid: true,
133
- diagnostics: []
142
+ diagnostics: knowledgeDeclarationWarnings(kit.skills).filter((diagnostic) => diagnostic.subject === name)
134
143
  };
135
144
  } catch (error) {
136
145
  return {
@@ -494,7 +503,7 @@ var StudioKitDraftService = class {
494
503
  const { candidate } = await this.compile(current);
495
504
  return {
496
505
  valid: true,
497
- diagnostics: [],
506
+ diagnostics: knowledgeDeclarationWarnings(candidate.skills),
498
507
  revision: current.revision,
499
508
  candidateKit: {
500
509
  name: candidate.name,
@@ -2,54 +2,366 @@
2
2
  "schemaVersion": 1,
3
3
  "package": "@yugoo-design/dsh-design-studio",
4
4
  "scope": "observed-current-dsh-output-and-selected-original-materials",
5
- "sourceArchiveObserved": "944cde5928a8dc9cea3ca89513618789ca26dcf93df85f2bff4e80c466933410",
5
+ "sourceArchiveObserved": null,
6
6
  "outputSha256": {
7
- "lib/index.js": "8e31b36e0a8c64006d2a52297e51dfd4db9aa9d3a461f1f799cac3d5ee196d5b"
7
+ "lib/index.js": "1f25e8e48f1e6ee5875ae07ae8378397b0ca2dee5cd9c906f3843511c805cbed"
8
8
  },
9
9
  "normalBuildMaps": [
10
10
  {
11
11
  "output": "lib/index.js",
12
- "mapSha256": "a596079e0ab421304f5536bd77f5f4fade5ddf8a906e1de3ca524a649b502d70",
13
- "sourceCount": 11,
12
+ "observation": "normal-build-done-module-membership",
13
+ "evidenceFile": "dsh-release-studio-0-output-modules.json",
14
+ "evidenceSha256": "d7da104dc4ab5b002731a53209f9e45f638bc974cb4e1b54fdcc6564061a58ed",
15
+ "normalOutputSha256": "331d79dc4fc8022357f7845ce4d3684090d4a7f2c7b5b02164c24e3938355656",
16
+ "packedOutputSha256": "1f25e8e48f1e6ee5875ae07ae8378397b0ca2dee5cd9c906f3843511c805cbed",
14
17
  "projectOwnedSources": [
15
- "packages/studio/src/types.ts",
16
- "packages/studio/src/snapshot.ts",
17
- "packages/studio/src/load.ts",
18
- "packages/studio/src/validate.ts",
19
- "packages/studio/src/panel-preview.ts",
20
- "packages/studio/src/panel-drafts.ts",
21
- "packages/studio/src/kit-drafts.ts",
22
- "packages/studio/src/content-archive.ts",
18
+ "packages/studio/src/bundle-source.ts",
23
19
  "packages/studio/src/composition.ts",
20
+ "packages/studio/src/content-archive.ts",
21
+ "packages/studio/src/kit-drafts.ts",
22
+ "packages/studio/src/load.ts",
24
23
  "packages/studio/src/management.ts",
25
- "packages/studio/src/bundle-source.ts"
26
- ],
27
- "projectOwnedMaterials": [
28
- "LICENSE",
29
- "NOTICE"
24
+ "packages/studio/src/panel-drafts.ts",
25
+ "packages/studio/src/panel-preview.ts",
26
+ "packages/studio/src/snapshot.ts",
27
+ "packages/studio/src/types.ts",
28
+ "packages/studio/src/validate.ts"
30
29
  ],
31
- "sourceContentsVerified": true,
32
- "normalOutputSha256": "be50ee1ab3123d61b65e53bada6061a6e0e123d295121d2bd76d507031de3256",
33
- "packedOutputSha256": "8e31b36e0a8c64006d2a52297e51dfd4db9aa9d3a461f1f799cac3d5ee196d5b",
34
- "diagnosticOutputEqualsNormalIgnoringMapLink": true,
30
+ "projectOwnedSourceSha256": {
31
+ "packages/studio/src/bundle-source.ts": "f877117fa40947596f6780e36a99036a16057ff20f6a91105fb00d254f866193",
32
+ "packages/studio/src/composition.ts": "9bf73c460608b5f491a471348292f7917159595a3d9fbff96f5637efefe309ce",
33
+ "packages/studio/src/content-archive.ts": "41df0e0d914943ae51995eb38c09b5e818e0c78114986da1d3c5ca36b79d1c80",
34
+ "packages/studio/src/kit-drafts.ts": "8dc4d9aa764e6df725e1befd91e01529cac3348f3b703863dcc2486723f7c3da",
35
+ "packages/studio/src/load.ts": "a2e334453a7efea7b7dd00e33dcd9b0d811fc100f919ee4f244662ce9ea835bf",
36
+ "packages/studio/src/management.ts": "81ead1c264f09ec82a1fff34ecfb96270081040175981f5d17188871f4570ad1",
37
+ "packages/studio/src/panel-drafts.ts": "d2c81b2422a7df1316f7824b56b6297558c17a7e0a662c90fa0ac55d6d094fdb",
38
+ "packages/studio/src/panel-preview.ts": "7da86d966c74291a2d31826414c70926a3619b9aaa60732ad7fc6f1f52bf4698",
39
+ "packages/studio/src/snapshot.ts": "377f9234d7696a26809199b417462bdf9e16f8286a9cb524a2d422648c37bc9d",
40
+ "packages/studio/src/types.ts": "7941c92f98810858297bee10048c64eb259c4748ba302c88032f32bd9f3fbadd",
41
+ "packages/studio/src/validate.ts": "38005e8858a678c75cbb27fe53e7b2d8bd068acbf205196a4acf82a87d0faa0a"
42
+ },
43
+ "sourceCount": 11,
44
+ "sourceContentsVerified": false,
45
+ "moduleInputsReadAndHashed": true,
35
46
  "actualArchiveOutputBindingVerified": false,
36
- "binding": "Fresh source-only diagnostic map verified against exact ordinary output and current source bytes; actual archive binding pending pack verification."
47
+ "limitations": "Bundler-reported membership and current input bytes; no complete retained-code, nested prebundle or license acceptance claim"
37
48
  }
38
49
  ],
50
+ "currentBuildAssociation": {
51
+ "historicalComponentsWithoutCurrentAssociation": [],
52
+ "unassociatedObservedModules": [
53
+ {
54
+ "output": "lib/index.js",
55
+ "path": "packages/studio/src/bundle-source.ts",
56
+ "sha256": "f877117fa40947596f6780e36a99036a16057ff20f6a91105fb00d254f866193",
57
+ "name": "dsh-design-studio",
58
+ "version": "0.0.0",
59
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
60
+ "firstParty": true,
61
+ "currentSourceIdentity": {
62
+ "manifestPath": "packages/studio/package.json",
63
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
64
+ "name": "dsh-design-studio",
65
+ "version": "0.0.0",
66
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
67
+ }
68
+ },
69
+ {
70
+ "output": "lib/index.js",
71
+ "path": "packages/studio/src/composition.ts",
72
+ "sha256": "9bf73c460608b5f491a471348292f7917159595a3d9fbff96f5637efefe309ce",
73
+ "name": "dsh-design-studio",
74
+ "version": "0.0.0",
75
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
76
+ "firstParty": true,
77
+ "currentSourceIdentity": {
78
+ "manifestPath": "packages/studio/package.json",
79
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
80
+ "name": "dsh-design-studio",
81
+ "version": "0.0.0",
82
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
83
+ }
84
+ },
85
+ {
86
+ "output": "lib/index.js",
87
+ "path": "packages/studio/src/content-archive.ts",
88
+ "sha256": "41df0e0d914943ae51995eb38c09b5e818e0c78114986da1d3c5ca36b79d1c80",
89
+ "name": "dsh-design-studio",
90
+ "version": "0.0.0",
91
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
92
+ "firstParty": true,
93
+ "currentSourceIdentity": {
94
+ "manifestPath": "packages/studio/package.json",
95
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
96
+ "name": "dsh-design-studio",
97
+ "version": "0.0.0",
98
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
99
+ }
100
+ },
101
+ {
102
+ "output": "lib/index.js",
103
+ "path": "packages/studio/src/kit-drafts.ts",
104
+ "sha256": "8dc4d9aa764e6df725e1befd91e01529cac3348f3b703863dcc2486723f7c3da",
105
+ "name": "dsh-design-studio",
106
+ "version": "0.0.0",
107
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
108
+ "firstParty": true,
109
+ "currentSourceIdentity": {
110
+ "manifestPath": "packages/studio/package.json",
111
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
112
+ "name": "dsh-design-studio",
113
+ "version": "0.0.0",
114
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
115
+ }
116
+ },
117
+ {
118
+ "output": "lib/index.js",
119
+ "path": "packages/studio/src/load.ts",
120
+ "sha256": "a2e334453a7efea7b7dd00e33dcd9b0d811fc100f919ee4f244662ce9ea835bf",
121
+ "name": "dsh-design-studio",
122
+ "version": "0.0.0",
123
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
124
+ "firstParty": true,
125
+ "currentSourceIdentity": {
126
+ "manifestPath": "packages/studio/package.json",
127
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
128
+ "name": "dsh-design-studio",
129
+ "version": "0.0.0",
130
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
131
+ }
132
+ },
133
+ {
134
+ "output": "lib/index.js",
135
+ "path": "packages/studio/src/management.ts",
136
+ "sha256": "81ead1c264f09ec82a1fff34ecfb96270081040175981f5d17188871f4570ad1",
137
+ "name": "dsh-design-studio",
138
+ "version": "0.0.0",
139
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
140
+ "firstParty": true,
141
+ "currentSourceIdentity": {
142
+ "manifestPath": "packages/studio/package.json",
143
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
144
+ "name": "dsh-design-studio",
145
+ "version": "0.0.0",
146
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
147
+ }
148
+ },
149
+ {
150
+ "output": "lib/index.js",
151
+ "path": "packages/studio/src/panel-drafts.ts",
152
+ "sha256": "d2c81b2422a7df1316f7824b56b6297558c17a7e0a662c90fa0ac55d6d094fdb",
153
+ "name": "dsh-design-studio",
154
+ "version": "0.0.0",
155
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
156
+ "firstParty": true,
157
+ "currentSourceIdentity": {
158
+ "manifestPath": "packages/studio/package.json",
159
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
160
+ "name": "dsh-design-studio",
161
+ "version": "0.0.0",
162
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
163
+ }
164
+ },
165
+ {
166
+ "output": "lib/index.js",
167
+ "path": "packages/studio/src/panel-preview.ts",
168
+ "sha256": "7da86d966c74291a2d31826414c70926a3619b9aaa60732ad7fc6f1f52bf4698",
169
+ "name": "dsh-design-studio",
170
+ "version": "0.0.0",
171
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
172
+ "firstParty": true,
173
+ "currentSourceIdentity": {
174
+ "manifestPath": "packages/studio/package.json",
175
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
176
+ "name": "dsh-design-studio",
177
+ "version": "0.0.0",
178
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
179
+ }
180
+ },
181
+ {
182
+ "output": "lib/index.js",
183
+ "path": "packages/studio/src/snapshot.ts",
184
+ "sha256": "377f9234d7696a26809199b417462bdf9e16f8286a9cb524a2d422648c37bc9d",
185
+ "name": "dsh-design-studio",
186
+ "version": "0.0.0",
187
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
188
+ "firstParty": true,
189
+ "currentSourceIdentity": {
190
+ "manifestPath": "packages/studio/package.json",
191
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
192
+ "name": "dsh-design-studio",
193
+ "version": "0.0.0",
194
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
195
+ }
196
+ },
197
+ {
198
+ "output": "lib/index.js",
199
+ "path": "packages/studio/src/types.ts",
200
+ "sha256": "7941c92f98810858297bee10048c64eb259c4748ba302c88032f32bd9f3fbadd",
201
+ "name": "dsh-design-studio",
202
+ "version": "0.0.0",
203
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
204
+ "firstParty": true,
205
+ "currentSourceIdentity": {
206
+ "manifestPath": "packages/studio/package.json",
207
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
208
+ "name": "dsh-design-studio",
209
+ "version": "0.0.0",
210
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
211
+ }
212
+ },
213
+ {
214
+ "output": "lib/index.js",
215
+ "path": "packages/studio/src/validate.ts",
216
+ "sha256": "38005e8858a678c75cbb27fe53e7b2d8bd068acbf205196a4acf82a87d0faa0a",
217
+ "name": "dsh-design-studio",
218
+ "version": "0.0.0",
219
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38",
220
+ "firstParty": true,
221
+ "currentSourceIdentity": {
222
+ "manifestPath": "packages/studio/package.json",
223
+ "sourceCommit": "de29f7e30b85e89cf0dd8c3fd8f4ab2c2f9b3884",
224
+ "name": "dsh-design-studio",
225
+ "version": "0.0.0",
226
+ "packageMetadataSha256": "107adc9901a11e06bcc7e17787acfdc376b7967fd2d5c6e01cd38f359b196a38"
227
+ }
228
+ }
229
+ ],
230
+ "historicalObservation": {
231
+ "observedArchiveSha256": null,
232
+ "normalBuildMaps": [
233
+ {
234
+ "output": "lib/index.js",
235
+ "observation": "normal-emitted-source-regions",
236
+ "sourceCount": 11,
237
+ "projectOwnedSources": [
238
+ "packages/studio/src/bundle-source.ts",
239
+ "packages/studio/src/composition.ts",
240
+ "packages/studio/src/content-archive.ts",
241
+ "packages/studio/src/kit-drafts.ts",
242
+ "packages/studio/src/load.ts",
243
+ "packages/studio/src/management.ts",
244
+ "packages/studio/src/panel-drafts.ts",
245
+ "packages/studio/src/panel-preview.ts",
246
+ "packages/studio/src/snapshot.ts",
247
+ "packages/studio/src/types.ts",
248
+ "packages/studio/src/validate.ts"
249
+ ],
250
+ "projectOwnedSourceSha256": {
251
+ "packages/studio/src/types.ts": "7941c92f98810858297bee10048c64eb259c4748ba302c88032f32bd9f3fbadd",
252
+ "packages/studio/src/snapshot.ts": "377f9234d7696a26809199b417462bdf9e16f8286a9cb524a2d422648c37bc9d",
253
+ "packages/studio/src/load.ts": "a2e334453a7efea7b7dd00e33dcd9b0d811fc100f919ee4f244662ce9ea835bf",
254
+ "packages/studio/src/validate.ts": "38005e8858a678c75cbb27fe53e7b2d8bd068acbf205196a4acf82a87d0faa0a",
255
+ "packages/studio/src/panel-preview.ts": "7da86d966c74291a2d31826414c70926a3619b9aaa60732ad7fc6f1f52bf4698",
256
+ "packages/studio/src/panel-drafts.ts": "d2c81b2422a7df1316f7824b56b6297558c17a7e0a662c90fa0ac55d6d094fdb",
257
+ "packages/studio/src/kit-drafts.ts": "8dc4d9aa764e6df725e1befd91e01529cac3348f3b703863dcc2486723f7c3da",
258
+ "packages/studio/src/content-archive.ts": "41df0e0d914943ae51995eb38c09b5e818e0c78114986da1d3c5ca36b79d1c80",
259
+ "packages/studio/src/composition.ts": "9bf73c460608b5f491a471348292f7917159595a3d9fbff96f5637efefe309ce",
260
+ "packages/studio/src/management.ts": "81ead1c264f09ec82a1fff34ecfb96270081040175981f5d17188871f4570ad1",
261
+ "packages/studio/src/bundle-source.ts": "f877117fa40947596f6780e36a99036a16057ff20f6a91105fb00d254f866193"
262
+ },
263
+ "projectOwnedMaterials": [
264
+ "LICENSE",
265
+ "NOTICE"
266
+ ],
267
+ "sourceContentsVerified": true,
268
+ "normalOutputSha256": "331d79dc4fc8022357f7845ce4d3684090d4a7f2c7b5b02164c24e3938355656",
269
+ "packedOutputSha256": "1f25e8e48f1e6ee5875ae07ae8378397b0ca2dee5cd9c906f3843511c805cbed",
270
+ "actualArchiveOutputBindingVerified": false,
271
+ "binding": "Current ordinary output bytes and the existing identity projection are bound by these hashes; assembly must reject any missing, changed or stale correspondence. Final archive member verification is recorded externally after packing. Historical map/region/module evidence is retained separately; no runtime or complete-inventory acceptance."
272
+ }
273
+ ],
274
+ "observedOutputSha256": {
275
+ "lib/index.js": "1f25e8e48f1e6ee5875ae07ae8378397b0ca2dee5cd9c906f3843511c805cbed"
276
+ },
277
+ "components": [],
278
+ "materials": [],
279
+ "fonts": [],
280
+ "externalDependencies": {},
281
+ "externalPeers": {
282
+ "@yugoo-design/dsh-design-core": "0.1.0-r2mac.6"
283
+ },
284
+ "limitations": [
285
+ "This component list is scoped to retained maps whose output was compared to actual adapted archive bytes, and emitted source-region IDs; no complete coverage claim for generated/unmapped code.",
286
+ "External npm dependencies and peer host services are separate artifacts, even where other modules from that package are embedded.",
287
+ "Shared Radix/upstream attribution records keep their original historical-source limitations.",
288
+ "Existing embedded/font/native source obligations and rendering checks remain distinct from delivery of original license text.",
289
+ "Current observations bind fixed 0e4184db ordinary builds and the local 0.1.0-r2mac.2 identity projection. Experimental own-package versions are not published versions. Old archive hashes/maps/external values are historicalObservation only; observedArchiveSha256 is null and current archive binding is false until independently verified by the external new-archive receipt.",
290
+ "Controlled 0.1.0-r2mac.3 trial: only four packages change exact DSH Host peer declarations to 0.2.1-rc.3 after actual official rc3 rejected the unchanged rc2 declarations. Runtime outputs remain the fixed 0e4184db build against the unchanged rc2 development SDK; existing npm identity projection changes package names only, so output/material/font/map bytes remain unchanged. Own dependency versions project to .3. This is permission for actual API testing, not established rc3 API compatibility, installation or release acceptance. The prior .2 observation and archives remain separately sealed.",
291
+ "Controlled .4 trial integrates accepted ce8b4aeb GRA API adaptation as 73bbd8fd: Core rebuilt normally, unchanged other outputs and original materials reused by hash, exact own versions project to .4. RC3 public Agent factory has no Subagent Runtime catalog/history/manager start-end events/concurrency pool; no such records are fabricated. Actual installed GRA remains to be tested after normal update; original .3 package-graph peer failure is retained separately.",
292
+ "Controlled .5 trial integrates accepted Grounding dd778798 and KAG final74d29d74 including51fff1dc; Core and Knowledge rebuilt normally once; other five packages reuse 214 outputs by hash. Original .3 peer-graph failure, .4 update failure and installed native mode difference remain separate. Original Mac GRA completion and KAG restore after normal update remain pending; no installed hotpatch or fabricated runtime events.",
293
+ "Controlled .6 trial uses accepted fixed99dc12a0 Core normal outputs and reuses unchanged other outputs, with actual current client/map hashes and exact own .6 versions. 32KiB bounds only initial model KAG projection, not the complete model request or later tool results. Actual RC3 scripted SDK acceptance and Linux built-native checks are separate from installed .6 exact-review query and real Grounding. Original .5 model abort, peer graph exit1 and installed native mode difference remain retained."
294
+ ],
295
+ "embeddedBpmnFonts": [],
296
+ "unresolvedEmbeddedFonts": [],
297
+ "historicalObservation": {
298
+ "scope": "412cea5 sidebar/title/Studio Select/Kit-read hotfix: final archive members bound to completed ordinary builds and reused original texts, including StudioDSH own page closure; no new independent test or license review, complete SBOM or runtime acceptance claim",
299
+ "observedArchiveSha256": "84e074224f490a086f8f5d9a97323602f28b0d8fb306d2d738b4ea38f7001542",
300
+ "observedOutputSha256": {
301
+ "lib/index.js": "8e31b36e0a8c64006d2a52297e51dfd4db9aa9d3a461f1f799cac3d5ee196d5b"
302
+ },
303
+ "normalBuildMaps": [
304
+ {
305
+ "output": "lib/index.js",
306
+ "mapSha256": "a596079e0ab421304f5536bd77f5f4fade5ddf8a906e1de3ca524a649b502d70",
307
+ "sourceCount": 11,
308
+ "projectOwnedSources": [
309
+ "packages/studio/src/types.ts",
310
+ "packages/studio/src/snapshot.ts",
311
+ "packages/studio/src/load.ts",
312
+ "packages/studio/src/validate.ts",
313
+ "packages/studio/src/panel-preview.ts",
314
+ "packages/studio/src/panel-drafts.ts",
315
+ "packages/studio/src/kit-drafts.ts",
316
+ "packages/studio/src/content-archive.ts",
317
+ "packages/studio/src/composition.ts",
318
+ "packages/studio/src/management.ts",
319
+ "packages/studio/src/bundle-source.ts"
320
+ ],
321
+ "projectOwnedMaterials": [
322
+ "LICENSE",
323
+ "NOTICE"
324
+ ],
325
+ "sourceContentsVerified": true,
326
+ "normalOutputSha256": "be50ee1ab3123d61b65e53bada6061a6e0e123d295121d2bd76d507031de3256",
327
+ "packedOutputSha256": "8e31b36e0a8c64006d2a52297e51dfd4db9aa9d3a461f1f799cac3d5ee196d5b",
328
+ "diagnosticOutputEqualsNormalIgnoringMapLink": true,
329
+ "actualArchiveOutputBindingVerified": true,
330
+ "binding": "Recorded projected output verified against the final local hotfix archive members. Existing normal or source-only diagnostic map provenance is retained; metadata-only packages reuse the prior published compiled bytes. Runtime and release acceptance remain separate."
331
+ }
332
+ ],
333
+ "externalDependencies": {},
334
+ "externalPeers": {
335
+ "@yugoo-design/dsh-design-core": "0.1.0-beta.3"
336
+ },
337
+ "embeddedBpmnFonts": [],
338
+ "unresolvedEmbeddedFonts": [],
339
+ "currentArtifactAssociationVerified": false
340
+ },
341
+ "normalSourceRevision": "0e4184db8590e99a971c45c777830018d7d9ac24",
342
+ "normalBuildEvidenceNotPackaged": []
343
+ },
344
+ "limitation": "Unassociated prior components remain historical only. Current module observations are bounded; complete inventory and license acceptance remain false."
345
+ },
39
346
  "components": [],
40
347
  "fonts": [],
41
348
  "embeddedBpmnFonts": [],
42
349
  "unresolvedEmbeddedFonts": [],
43
350
  "externalDependencies": {},
44
351
  "externalPeers": {
45
- "@yugoo-design/dsh-design-core": "0.1.0-beta.3"
352
+ "@yugoo-design/dsh-design-core": "0.1.0-r2mac.6"
46
353
  },
47
354
  "copiedMaterials": {},
48
355
  "limitations": [
49
356
  "This component list is scoped to retained maps whose output was compared to actual adapted archive bytes, and emitted source-region IDs; no complete coverage claim for generated/unmapped code.",
50
357
  "External npm dependencies and peer host services are separate artifacts, even where other modules from that package are embedded.",
51
358
  "Shared Radix/upstream attribution records keep their original historical-source limitations.",
52
- "Existing embedded/font/native source obligations and rendering checks remain distinct from delivery of original license text."
359
+ "Existing embedded/font/native source obligations and rendering checks remain distinct from delivery of original license text.",
360
+ "Current observations bind fixed 0e4184db ordinary builds and the local 0.1.0-r2mac.2 identity projection. Experimental own-package versions are not published versions. Old archive hashes/maps/external values are historicalObservation only; observedArchiveSha256 is null and current archive binding is false until independently verified by the external new-archive receipt.",
361
+ "Controlled 0.1.0-r2mac.3 trial: only four packages change exact DSH Host peer declarations to 0.2.1-rc.3 after actual official rc3 rejected the unchanged rc2 declarations. Runtime outputs remain the fixed 0e4184db build against the unchanged rc2 development SDK; existing npm identity projection changes package names only, so output/material/font/map bytes remain unchanged. Own dependency versions project to .3. This is permission for actual API testing, not established rc3 API compatibility, installation or release acceptance. The prior .2 observation and archives remain separately sealed.",
362
+ "Controlled .4 trial integrates accepted ce8b4aeb GRA API adaptation as 73bbd8fd: Core rebuilt normally, unchanged other outputs and original materials reused by hash, exact own versions project to .4. RC3 public Agent factory has no Subagent Runtime catalog/history/manager start-end events/concurrency pool; no such records are fabricated. Actual installed GRA remains to be tested after normal update; original .3 package-graph peer failure is retained separately.",
363
+ "Controlled .5 trial integrates accepted Grounding dd778798 and KAG final74d29d74 including51fff1dc; Core and Knowledge rebuilt normally once; other five packages reuse 214 outputs by hash. Original .3 peer-graph failure, .4 update failure and installed native mode difference remain separate. Original Mac GRA completion and KAG restore after normal update remain pending; no installed hotpatch or fabricated runtime events.",
364
+ "Controlled .6 trial uses accepted fixed99dc12a0 Core normal outputs and reuses unchanged other outputs, with actual current client/map hashes and exact own .6 versions. 32KiB bounds only initial model KAG projection, not the complete model request or later tool results. Actual RC3 scripted SDK acceptance and Linux built-native checks are separate from installed .6 exact-review query and real Grounding. Original .5 model abort, peer graph exit1 and installed native mode difference remain retained."
53
365
  ],
54
366
  "completeBundledInventoryVerified": false,
55
367
  "releaseLicenseAcceptance": false
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
+ "repository": {
3
+ "type": "git",
4
+ "url": "git+https://github.com/alibaba-damo-academy/yugoo-design.git",
5
+ "directory": "packages/studio"
6
+ },
2
7
  "name": "@yugoo-design/dsh-design-studio",
3
- "version": "0.1.0-beta.3",
8
+ "version": "0.1.2",
4
9
  "license": "Apache-2.0",
5
10
  "type": "module",
6
11
  "description": "Host-neutral read-only Design Studio domain: catalog workspace, exact Kit source workspaces, and real Bundle source inspection over injected ports. No Agent Host, Cordis, or filesystem coupling.",
@@ -21,7 +26,7 @@
21
26
  "test": "node tests/studio.test.mjs && node tests/composition.test.mjs && node tests/management.test.mjs && node tests/kit-workspace.test.mjs && node tests/bundle-workspace.test.mjs && node tests/panel-preview.test.mjs && node --test tests/legacy-exact-version.test.mjs"
22
27
  },
23
28
  "peerDependencies": {
24
- "@yugoo-design/dsh-design-core": "0.1.0-beta.3"
29
+ "@yugoo-design/dsh-design-core": "0.1.2"
25
30
  },
26
31
  "files": [
27
32
  "lib/**/*.js",