Skip to content

Releases: aestheticfunction/dspack-emit

M2 — dspack-emit: second target + npm rename

Choose a tag to compare

@ryandmonk ryandmonk released this 03 Jul 16:54
49af78e

Milestone 2: dspack-to-a2ui became dspack-emit — the multi-target emitter (ADR-D2 taken).

  • json-render target (PR-9): dspack contract → generated catalog.ts (Zod defs) + registry.tsx; CSR → spec emitter; gates J1 (generated modules compile) / J2 (validateSpec) / J3 (catalog.validate) in an isolated pinned package (zod v3/v4 split). Thesis test: every governed CSR accepted by both emitters — no protocol-expressiveness-equivalence claim.
  • Emitter asymmetry finding (measured, n=2 emitters): the a2ui target needs a ~400-line hand-authored profile; the json-render profile is near-empty because its catalog is generated from the contract — lossiness lives in the pairing, not the CSR or engine.
  • npm rename cycle: published as @aestheticfunction/dspack-emit@0.3.0 (old package deprecated with pointer); consumers swapped.
  • Contract-copy drift check in CI (dspack-gen#7).

Companion M2 tags: ds-mcp@m2, dspack@m2, dspack-gen@m2.

M1 — dspack surface → A2UI emitter

Choose a tag to compare

@ryandmonk ryandmonk released this 02 Jul 22:12
b47a2cf

Milestone 1 of the AF governance layer. This tag marks dspack-to-a2ui as the pipeline's A2UI emitter:

  • Surface emission: dspack surface v0.1 → A2UI v0.9 messages (--emit-surface, emitSurface), projection knowledge as profile data (surfacePlan directives), every synthesis audited as a warning — nothing silent.
  • Emitter gates A1–A3 (schema-compile / catalog-shape / instance validation), the architecture-wide names for the existing ajv gates; the render demo hosts the governed Generate view driven by dspack-gen serve.
  • Library boundary: exports map + declarations, pack-and-install verified; consumed by dspack-gen as a git dependency pinned to this SHA (b47a2cf). npm publish is a deliberate open decision.
  • Input contract at dspack v0.3 (mirrors dspack@m1).

Companion M1 tags: dspack@m1, dspack-gen@m1.


Addendum: main has since advanced two commits past this tag (#8, a demo-only "scripted fixture replay" label — demo/ is outside the published package's files set). npm publish of 0.2.0 from main 101e925 therefore ships a tarball byte-equivalent to this tag's library content.


Rename note (2026-07-02): this repository was renamed dspack-to-a2uidspack-emit after the json-render target merged (ADR-D2; trigger fired on #9). The name above is the repo's name at tag time. The npm package remains @aestheticfunction/dspack-to-a2ui@0.2.0 until the next publish (then @aestheticfunction/dspack-emit, with the old package deprecated).