super-ux 0.27.1 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,68 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.28.0 — 2026-08-05
4
+
5
+ Closes the carry-over ledger the 0.27 audit opened. Twenty-three practices,
6
+ five principles, three optional contract fields, a prototype step, and an
7
+ index over a catalog that had grown past the point of being read whole.
8
+
9
+ ### Added
10
+ - **Motion craft — BP-157..164.** BP-130 said durations and easings should be
11
+ tokens and stopped there. These make the decisions it does not: whether the
12
+ element animates at all (frequency decides — a hundred times a day means
13
+ never), what the durations actually are, why `ease-in` is wrong on
14
+ interface motion, entering from a visible state rather than `scale(0)`,
15
+ anchored surfaces growing from their trigger, asymmetric enter/exit,
16
+ interruptibility for anything retriggerable, and hover gated behind a
17
+ hover-capable pointer.
18
+ - **Perceived quality — BP-165..168.** Why a technically correct interface
19
+ still reads as unfinished: mixed icon families and stroke weights, emoji
20
+ used as structural icons, pressed states that reflow their neighbours, and
21
+ a scrim too weak to separate the layers it exists to separate. None of
22
+ these fail an automated check, which is why they survive audits that only
23
+ measure.
24
+ - **Generated-default tells — BP-169..172.** super-ux is a tool agents build
25
+ interfaces with, so it should know the signature of its own defaults: fake
26
+ product screenshots built from markup, implausible placeholder data, the
27
+ three-equal-cards row that means nobody decided the hierarchy, and the
28
+ cluster (`#000000`, two accents, `100vh`, no max-width) that marks a
29
+ question never asked.
30
+ - **Interface state, platform surfaces and locale — BP-173..179**, from the
31
+ Web Interface Guidelines: state in the URL, undo for reversible actions
32
+ instead of a confirmation nobody reads, unsaved work that survives,
33
+ dark mode covering the surfaces the browser draws, localization as a
34
+ design constraint rather than a translation step, scroll containment and
35
+ touch defaults in overlays, and lists virtualized before they ship long.
36
+ - **Motivation principles — PRN-17..21.** Goal-gradient, Zeigarnik, IKEA,
37
+ endowment, zero-price. Each carries a fourth column naming where it turns
38
+ coercive, and a rule that any of them recorded as `applied` says which side
39
+ of that line it is on. They are motivation mechanisms; the same levers
40
+ aimed at the product's interest are dark patterns.
41
+ - **`Telemetry` on a scenario (optional).** The bridge the chain was missing:
42
+ BP-139, BP-140 and BP-129 all assume events exist, and nothing tied a named
43
+ event to the behavior it measures — so renaming a step silently re-pointed
44
+ a dashboard. `object_action`, snake_case, verb last.
45
+ - **`Kill criteria` on a story (optional).** `dropped` has been a valid
46
+ status since v1 with nothing defining when it applies, so it was only ever
47
+ reached by someone losing interest.
48
+ - **A verdict on audit reports — REFINE / REDESIGN / NEW.** Findings alone
49
+ read as a to-do list, and a surface that should be rebuilt gets patched
50
+ indefinitely, one true finding at a time.
51
+ - **A prototype step in `ux-flows`** for the question documents cannot
52
+ settle, plus *diverge before converging*: two genuinely different shapes
53
+ before picking one, and a line on why the loser lost.
54
+ - **`best-practices-index.md`**, generated by
55
+ `plugins/super-ux/scripts/bp_index.py` — 274 lines of tag → ids over a
56
+ catalog that is now 1400+. The validator fails when it drifts.
57
+
58
+ ### Changed
59
+ - Taxonomy gains `i18n`; source keys gain `[EmilK]` and `[WIG]`.
60
+ - `PRN-01..16` becomes `PRN-01..21` everywhere it is referenced.
61
+
62
+ The contract stays **v4**. All three new fields are optional and additive, on
63
+ the same precedent as 0.26.1 — no existing `docs/ux` file changes shape and
64
+ there is nothing to migrate.
65
+
3
66
  ## 0.27.1 — 2026-08-05
4
67
 
5
68
  Re-cut of 0.27.0 on the correct base. The 0.27.0 tag was pushed from a tree
package/README.md CHANGED
@@ -185,8 +185,9 @@ The contracts every skill reads:
185
185
  |---|---|
186
186
  | [scenario-format.md](plugins/super-ux/skills/references/scenario-format.md) | **The contract (ux-contract v4).** File layout, every field name, stable IDs (`P` `JTBD` `JRN` `ST` `FLW` `SCR` `SCN`), completeness checklists, the `draft → validated → implemented` lifecycle, audit verdicts and severities, the UX-plan format |
187
187
  | [system-map.md](plugins/super-ux/skills/references/system-map.md) | The whole system on one page — pipeline, files, skills, companions, and the four sync rules; every skill points here |
188
- | [ux-design-principles.md](plugins/super-ux/skills/references/ux-design-principles.md) | How the agent thinks: the design pipeline (forward and backwards), task analysis, flow rules, heuristics PRN-01..16, the improvement procedure, anti-patterns |
189
- | [best-practices.md](plugins/super-ux/skills/references/best-practices.md) | Living, tag-indexed catalog of 156 proven practices — subscription-app laws, mobile/web/voice guidance (Apple HIG 2025, M3 Expressive, NN/g, Baymard, WCAG 2.2), monetization economics (RevenueCat/PLG 2025 benchmarks, ASO, freemium boundaries), web funnels end to end (landing, pricing, checkout, dunning, cancel) and web2app (paid handoff, deferred deep links, storefront rules), motion and page weight (HTTP Archive field data, W3C sustainability), accessibility as it actually fails (WebAIM Million, EAA/ADA exposure), frustration telemetry, gamification and trend governance, growth loops and referral mechanics, empty states, authentication (NIST SP 800-63B rev 4) and form recovery, visual craft, Figma structure |
188
+ | [best-practices-index.md](plugins/super-ux/skills/references/best-practices-index.md) | Generated tag index over the catalog tag ids, id title. Read it to decide which entries to open; regenerated by `plugins/super-ux/scripts/bp_index.py` and checked for drift by the validator |
189
+ | [ux-design-principles.md](plugins/super-ux/skills/references/ux-design-principles.md) | How the agent thinks: the design pipeline (forward and backwards), task analysis, flow rules, heuristics PRN-01..21, the improvement procedure, anti-patterns |
190
+ | [best-practices.md](plugins/super-ux/skills/references/best-practices.md) | Living, tag-indexed catalog of 179 proven practices — subscription-app laws, mobile/web/voice guidance (Apple HIG 2025, M3 Expressive, NN/g, Baymard, WCAG 2.2), monetization economics (RevenueCat/PLG 2025 benchmarks, ASO, freemium boundaries), web funnels end to end (landing, pricing, checkout, dunning, cancel) and web2app (paid handoff, deferred deep links, storefront rules), motion and page weight (HTTP Archive field data, W3C sustainability), accessibility as it actually fails (WebAIM Million, EAA/ADA exposure), frustration telemetry, gamification and trend governance, growth loops and referral mechanics, empty states, authentication (NIST SP 800-63B rev 4) and form recovery, motion craft and perceived quality, the defaults that make an interface read as generated, interface state, locale and platform surfaces (Web Interface Guidelines), visual craft, Figma structure |
190
191
  | [practice-selection.md](plugins/super-ux/skills/references/practice-selection.md) | The deterministic bridge: product profile → mandatory consideration sets → per-artifact checklists → a compliance table where every pulled practice gets a verdict. No silent skips, no cargo cult |
191
192
  | [component-guidelines.md](plugins/super-ux/skills/references/component-guidelines.md) | Which control for which job (radios/select/switch, sheet/alert, modal/disclosure, combobox, nav bar/rail, FAB, dates, toasts) and the platform rules — Apple HIG, Material 3, W3C ARIA APG, GOV.UK |
192
193
  | [visual-identity.md](plugins/super-ux/skills/references/visual-identity.md) | The visual layer and its owner: one style pack for the whole product, where it's recorded, how it meets Figma and code, and the division of labor with the craft floors |
@@ -18,6 +18,11 @@ covered, what was left out and why, what could not be verified, and what the
18
18
  code cannot answer. An audit reads a slice; absence from the report never
19
19
  means PASS.
20
20
 
21
+ **Verdict (required):** REFINE — fix the findings; REDESIGN — they cluster on
22
+ a structure patching will not converge on, name it; NEW — the chain does not
23
+ describe what was built, start upstream. Findings without a verdict read as a
24
+ to-do list, and the surface that needs rebuilding gets patched forever.
25
+
21
26
  ## Loop
22
27
 
23
28
  1. Read the base (and foundation/flows/screens when they exist); scope =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.27.1",
3
+ "version": "0.28.0",
4
4
  "description": "Scenario-driven UI development for AI agents (Claude Code, Cursor, 70+ agents): a versioned design chain in docs/ux/, a scenario-first hard rule, a deterministic drift linter, and evidence-backed UX audits. This package is the installer CLI.",
5
5
  "bin": {
6
6
  "super-ux": "bin/super-ux.js"
@@ -39,6 +39,10 @@ report never means PASS. -->
39
39
  - **Could not verify:**
40
40
  - **Open questions:**
41
41
 
42
+ ## Verdict
43
+
44
+ <REFINE | REDESIGN | NEW> — <one line of reasoning, and the scope it covers>
45
+
42
46
  ## Practice compliance (deep audits)
43
47
 
44
48
  | Practice | Verdict | How / why not |
@@ -65,5 +65,6 @@ this section just records the on/off choice and the file location.
65
65
  - **Acceptance criteria:**
66
66
  - Given <precondition>, when <action>, then <observable result>.
67
67
  - **Priority:** must | should | could
68
+ - **Kill criteria:** <metric below threshold by date -> drop | iterate, or omit>
68
69
  - **Status:** proposed
69
70
  -->
@@ -32,6 +32,7 @@ action per step paired with the observable system response:
32
32
  - **UI elements:** <every button, field, link, dialog, toast involved>
33
33
  - **States covered:** <loading | empty | error | success>
34
34
  - **Errors & recovery:** <each failure: what the user sees, how they recover>
35
+ - **Telemetry:** <`object_action` event + params, or omit if none>
35
36
  - **Status:** draft
36
37
  - **Coverage:** none yet
37
38
  -->