Skip to content

v0.8.0 — every value has a source, and the front door opens

Choose a tag to compare

@mossgreen mossgreen released this 31 Jul 08:01
· 8 commits to main since this release

Generation stops being labelled experimental. It is verified end-to-end on
spring-petclinic — a greenfield feature, then a variance
change over its own generated code, each to a green suite with zero hand
edits
(PR #1, PR #2). That is one repository: a real
result, not a general guarantee.

⚠️ If you already have the DisC plugin, upgrade with update

claude plugin update design-is-code@mossgreen-design-is-code

marketplace update followed by plugin install does not upgrade it —
install reports "already installed" and leaves the old version in place.
Earlier releases documented that sequence, so if you followed it you are still
on the plugin you had. v0.8.0 requires plugin v0.11.2+.

Every value has a source

The substance of this release is one defect class. A call arrow used to echo the
callee's declared parameter names instead of binding the caller's actual
values, so a design could fetch something and hand it to nobody — severed
variance that compiles, passes its tests, and does nothing. It was not merely
unnoticed: with no name on a produced value, it was unrepresentable.

  • data_pipe restored — arrows carry value bindings, and the sequencer is
    required to name every result.
  • Data-flow gate (DataflowLinter + POST /api/design/lint) runs right
    after composition and hands violations back to the sequencer to fix, so the
    model corrects itself before a reviewer sees the design. Rules: an argument
    nothing produces, a value produced and never used, and a method invoked on a
    reused type that the codebase scan says does not exist.
  • Decision-table sidecars are linted against the flow — a table targeting a
    call the design never makes, or mapping the same inputs to two outputs, is now
    refused.
  • Resolvers emit the real discriminator instead of a placeholder key that
    nothing in the flow produced.
  • Sign-off lists the decision-table defaults nobody chose — nulls, rounding,
    the exception type. Informational, never a gate.

Fixed: the front door

Two silent defects on the exact path a new user walks, both present since
v0.7.0:

  • The README's install command named a repo that does not exist
    (mossgreen/design-is-code, missing the -plugin suffix), so every fresh
    install failed at the plugin step.
  • The app suggested plugin install to upgrade an outdated plugin — a command
    that succeeds and changes nothing. It now suggests plugin update.

Tests

app.js was 6.4k lines with no test coverage, which is exactly where the
data_pipe defect lived. It now has tests that load the real file in a Node
vm — a copy would prove nothing. Plus SequencerEvalTest, which judges the raw
step JSON the prompt actually controls.

141 tests, 0 failures.


Install: download disc-studio-0.8.0.jar below and run java -jar disc-studio-0.8.0.jar, then open http://localhost:8080. Java 17+. Full changelog in CHANGELOG.md.