From ed5c4a477e08f422e622077ad7019136ad340f83 Mon Sep 17 00:00:00 2001 From: Ryan Dombrowski Date: Mon, 10 Aug 2026 18:33:32 -0400 Subject: [PATCH 1/2] build: dspack-gen ^0.4.0 across web/composer/agent (representability loop + think:false) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit emit ^0.7.0 bump follows once its npm publish (owner-gated trusted-publisher setup) completes — gen 0.4.0's range admits both, one emitter copy either way. Co-Authored-By: Claude Fable 5 --- apps/agent/package.json | 2 +- apps/composer/package.json | 2 +- apps/web/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/agent/package.json b/apps/agent/package.json index 5df2d7b..75363b5 100644 --- a/apps/agent/package.json +++ b/apps/agent/package.json @@ -15,7 +15,7 @@ "dependencies": { "@aestheticfunction/dspack-emit": "^0.6.0", "@aestheticfunction/dspack-export": "^0.5.0", - "@aestheticfunction/dspack-gen": "^0.3.2", + "@aestheticfunction/dspack-gen": "^0.4.0", "@aestheticfunction/dspack-spec": "^0.4.4", "@dspack-studio/agui-bridge": "workspace:*", "@dspack-studio/composer-core": "workspace:*", diff --git a/apps/composer/package.json b/apps/composer/package.json index 4a158f9..497ed53 100644 --- a/apps/composer/package.json +++ b/apps/composer/package.json @@ -11,7 +11,7 @@ "typecheck": "node scripts/demo-assets.mjs && tsc -p tsconfig.json" }, "dependencies": { - "@aestheticfunction/dspack-gen": "^0.3.2", + "@aestheticfunction/dspack-gen": "^0.4.0", "@aestheticfunction/dspack-spec": "^0.4.4", "@astryxdesign/core": "0.1.4", "@astryxdesign/theme-neutral": "0.1.4", diff --git a/apps/web/package.json b/apps/web/package.json index 2eb8165..6dddafe 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -12,7 +12,7 @@ "typecheck": "tsc -p tsconfig.json" }, "dependencies": { - "@aestheticfunction/dspack-gen": "^0.3.2", + "@aestheticfunction/dspack-gen": "^0.4.0", "@astryxdesign/core": "0.1.4", "@astryxdesign/theme-butter": "0.1.4", "@astryxdesign/theme-chocolate": "0.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3b984b..814c347 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: ^0.5.0 version: 0.5.0 '@aestheticfunction/dspack-gen': - specifier: ^0.3.2 - version: 0.3.2(zod@4.4.3) + specifier: ^0.4.0 + version: 0.4.0(zod@4.4.3) '@aestheticfunction/dspack-spec': specifier: ^0.4.4 version: 0.4.4 @@ -61,8 +61,8 @@ importers: apps/composer: dependencies: '@aestheticfunction/dspack-gen': - specifier: ^0.3.2 - version: 0.3.2(zod@4.4.3) + specifier: ^0.4.0 + version: 0.4.0(zod@4.4.3) '@aestheticfunction/dspack-spec': specifier: ^0.4.4 version: 0.4.4 @@ -122,8 +122,8 @@ importers: apps/web: dependencies: '@aestheticfunction/dspack-gen': - specifier: ^0.3.2 - version: 0.3.2(zod@4.4.3) + specifier: ^0.4.0 + version: 0.4.0(zod@4.4.3) '@astryxdesign/core': specifier: 0.1.4 version: 0.1.4(@stylexjs/stylex@0.18.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) @@ -442,8 +442,8 @@ packages: engines: {node: '>=22.0.0'} hasBin: true - '@aestheticfunction/dspack-gen@0.3.2': - resolution: {integrity: sha512-o4HfFl2sztT7+Mb7S1HAR1JaWhuxtM+gW61bf9+bDktbQeMqM4rpokvCTxPzm7cwlc0AKVZbcj1R5WrzWFKb5A==} + '@aestheticfunction/dspack-gen@0.4.0': + resolution: {integrity: sha512-DRruVG/m+Mu80t54Ml4qC9HqV72+Y7Y25mz8qKhQOJ+H4Xo3KQ4Up6Y3PQk47JGxwVK0PvHQw+h8/lDDsdg5Mw==} engines: {node: '>=20.0.0'} hasBin: true @@ -2356,7 +2356,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@aestheticfunction/dspack-gen@0.3.2(zod@4.4.3)': + '@aestheticfunction/dspack-gen@0.4.0(zod@4.4.3)': dependencies: '@aestheticfunction/dspack-emit': 0.6.0 '@anthropic-ai/sdk': 0.109.1(zod@4.4.3) From b54b60c9f5ce8cce7389a9df420a1ec179a7e5f6 Mon Sep 17 00:00:00 2001 From: Ryan Dombrowski Date: Mon, 10 Aug 2026 19:24:59 -0400 Subject: [PATCH 2/2] fix(exhibit): unsupported-component break scenario survives the repair loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gen 0.4.0 makes emitter refusals repairable, so the one-entry script exhausted into failed-adapter instead of the demonstrated terminal refusal. Three identical entries replay the unprojectable surface through both repairs — the demo now shows a declared casualty staying refused (verbatim reason) even WITH repair turns, which is the truer story. break.spec.ts 8/8 locally. Co-Authored-By: Claude Fable 5 --- apps/agent/src/scenarios/break-scripts.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/agent/src/scenarios/break-scripts.ts b/apps/agent/src/scenarios/break-scripts.ts index 03a59ea..ab091b2 100644 --- a/apps/agent/src/scenarios/break-scripts.ts +++ b/apps/agent/src/scenarios/break-scripts.ts @@ -53,6 +53,10 @@ const MALFORMED = { totally: "not-a-surface", widgets: [1, 2, 3] }; export const BREAK_SCRIPTS: Record = { "scripted:break:no-alertdialog": [{ output: NO_ALERTDIALOG }, { output: REPAIRED }], "scripted:break:ok-label": [{ output: OK_LABEL }, { output: REPAIRED }], - "scripted:break:unsupported-component": [{ output: UNSUPPORTED }], + // Three identical entries: since dspack-gen 0.4.0 an emitter refusal rides + // the repair loop, so the scenario replays the same unprojectable surface + // through both repairs — demonstrating that a declared casualty stays + // refused (verbatim reason, terminal failed-gate) even WITH repair turns. + "scripted:break:unsupported-component": [{ output: UNSUPPORTED }, { output: UNSUPPORTED }, { output: UNSUPPORTED }], "scripted:break:malformed": [{ output: MALFORMED }, { output: MALFORMED }, { output: MALFORMED }], };