8000 release: ease-design 0.6.0 — the polyglot release by jangtrinh · Pull Request #250 · jangtrinh/design-os · GitHub
[go: up one dir, main page]

Skip to content

release: ease-design 0.6.0 — the polyglot release - #250

Merged
jangtrinh merged 1 commit into
mainfrom
release/v0.6.0
Aug 30, 2026
Merged

jangtrinh merged 1 commit into
mainfrom
release/v0.6.0

Conversation

@jangtrinh
Copy link
Copy Markdown
Owner

Cuts ease-design@0.6.0 — the first release since 0.5.0 (2026-08-20), which is 17 commits behind main.

What reaches users

  • ui tell-lint — 43 design-tell rules over 8 extractors (HTML cascade, JSX/Tailwind, Vue/Svelte SFC, bare CSS, SwiftUI, Flutter, Figma nodes, rendered CDP). One DesignFacts IR, N readers, no rule edited per language.
  • tell joins ui gate as a sixth family — one call, one verdict.
  • Native macOS / iOS / iPadOS arms, each with its own craft knowledge and evidence contract.
  • Activation fails closed on an unsupported surface instead of routing it anyway.
  • The honesty instruments — adjudicated field corpus, fact census, thresholds pinned by executable boundary pairs, three metamorphic laws, nightly mutation audit.

Why 0.6.0 and not 1.0.0

tell in the gate is breaking-capable: three tell rules carry error severity, so a project that passed ui gate on 0.5.0 can fail on 0.6.0. Under 0.x a minor is the honest signal for that. 1.0.0 is a stability promise that cannot be made while the corpus exists precisely to find out whether the rules lie.

Defect this release process caught

ui gate --help listed five families while the gate ran six — a reader had no way to learn tell existed. Found by smoking a fresh clone before tagging, not by any test. The help list is now derived from GATE_FAMILIES, with a test that fails on drift in either direction: a family that runs but is undocumented, or one advertised that the gate cannot run. Both red-probed.

Pre-ship verification

Check Result
Tarball 206 files / 4.2 MB (0.5.0: 172 / 2.76 MB), no forbidden path ships
Confidential sweep clean — the name masked in #202 is absent; only hits were the intentional client-portal mask and sentences documenting the private corpus is excluded
Fresh clone of origin/main builds; binary runs standalone outside the source repo
Four gates typecheck · lint · build · 243 files / 4,260 tests — green after the last edit

The sweep is a Python script (macOS /usr/bin/grep is BSD and has no -P; POSIX ERE has no \b, which is how an earlier sweep for this same name returned a false clean).

Note for 0.5.0 users

The gate gained a family and three tell rules are error severity. A previously-passing project can now fail — that is the new family working, not a regression. Most tell findings are advisory and never affect the exit code.

After merge

Tag v0.6.0 triggers release.yml, which publishes via npm OIDC trusted publishing. Verification will query the registry JSON and watch the run whose headBranch equals the tag.

Ten weeks reaches npm. `ui tell-lint` reads an app in any language the registry
knows — HTML cascade, JSX/Tailwind, Vue/Svelte SFC, bare CSS, SwiftUI, Flutter,
Figma nodes, and a rendered CDP tier — judging all of them with 43 rules written
once over a single DesignFacts IR. `tell` joins `ui gate` as a sixth family.
Native macOS, iOS and iPadOS arms ship with their own craft and evidence
contracts, and activation now fails closed on an unsupported surface.

It also ships the instruments that keep those judgements honest: an adjudicated
field corpus of real pages, a fact census so `0 findings` can be read as
clean-or-blind, every threshold in one table pinned by an executable boundary
pair, three metamorphic laws, and a nightly mutation audit.

Also fixes a defect the pre-release fresh-clone smoke found: `ui gate --help`
listed five families while the gate ran six, so a reader had no way to learn
`tell` existed. The list is now derived from GATE_FAMILIES, with a test that
fails on drift in EITHER direction — an undocumented family, or an advertised
one the gate cannot run. Both directions red-probed.

0.5.0 users: the gate gained a family and three tell rules carry error severity,
so a project that passed on 0.5.0 can fail on 0.6.0. That is the new family
working, not a regression; most tell findings are advisory and never touch the
exit code.

Pre-ship verification: tarball is 206 files / 4.2 MB against 0.5.0's 172, no
forbidden path ships, and a content sweep for the confidential name masked in
0.4.0 (#202) is clean — the only hits were the intentional `client-portal` mask
itself and sentences documenting that the private corpus is excluded. A fresh
clone of origin/main builds and runs the binary standalone outside the repo.
@jangtrinh
jangtrinh merged commit f59c9b2 into main Aug 30, 2026
4 checks passed
jangtrinh added a commit that referenced this pull request Oct 29, 2026
Ten weeks reaches npm. `ui tell-lint` reads an app in any language the registry
knows — HTML cascade, JSX/Tailwind, Vue/Svelte SFC, bare CSS, SwiftUI, Flutter,
Figma nodes, and a rendered CDP tier — judging all of them with 43 rules written
once over a single DesignFacts IR. `tell` joins `ui gate` as a sixth family.
Native macOS, iOS and iPadOS arms ship with their own craft and evidence
contracts, and activation now fails closed on an unsupported surface.

It also ships the instruments that keep those judgements honest: an adjudicated
field corpus of real pages, a fact census so `0 findings` can be read as
clean-or-blind, every threshold in one table pinned by an executable boundary
pair, three metamorphic laws, and a nightly mutation audit.

Also fixes a defect the pre-release fresh-clone smoke found: `ui gate --help`
listed five families while the gate ran six, so a reader had no way to learn
`tell` existed. The list is now derived from GATE_FAMILIES, with a test that
fails on drift in EITHER direction — an undocumented family, or an advertised
one the gate cannot run. Both directions red-probed.

0.5.0 users: the gate gained a family and three tell rules carry error severity,
so a project that passed on 0.5.0 can fail on 0.6.0. That is the new family
working, not a regression; most tell findings are advisory and never touch the
exit code.

Pre-ship verification: tarball is 206 files / 4.2 MB against 0.5.0's 172, no
forbidden path ships, and a content sweep for the confidential name masked in
0.4.0 (#202) is clean — the only hits were the intentional `client-portal` mask
itself and sentences documenting that the private corpus is excluded. A fresh
clone of origin/main builds and runs the binary standalone outside the repo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0