Repository navigation
release: ease-design 0.6.0 — the polyglot release - #250
Merged
Merged
Conversation
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
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts
ease-design@0.6.0— the first release since 0.5.0 (2026-08-20), which is 17 commits behindmain.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.telljoinsui gateas a sixth family — one call, one verdict.Why 0.6.0 and not 1.0.0
tellin the gate is breaking-capable: three tell rules carryerrorseverity, so a project that passedui gateon 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 --helplisted five families while the gate ran six — a reader had no way to learntellexisted. Found by smoking a fresh clone before tagging, not by any test. The help list is now derived fromGATE_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
client-portalmask and sentences documenting the private corpus is excludedorigin/mainThe sweep is a Python script (macOS
/usr/bin/grepis 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
errorseverity. 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.0triggersrelease.yml, which publishes via npm OIDC trusted publishing. Verification will query the registry JSON and watch the run whoseheadBranchequals the tag.