super-ux 0.35.3 → 0.36.1

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,78 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.36.1 — 2026-08-12
4
+
5
+ Four of the R-14 run's findings actioned, and a defect class ported from the
6
+ sibling repository.
7
+
8
+ ### Fixed
9
+
10
+ - **BP-123 described web billing and was applied to "any subscription billed
11
+ self-serve".** On a store-billed subscription the app **cannot cancel**: the
12
+ terminal step hands off to the store's own sheet and the app does not
13
+ synchronously know whether the user went through. A flow designed from the old
14
+ sentence cannot be built on a phone — which is exactly what a fresh-context
15
+ agent produced, correctly, from what the entry said. It now branches on who
16
+ holds the billing and requires the third state, *unverified*, that claims
17
+ neither outcome.
18
+ - **A save offer must name the mechanism that delivers it.** BP-123 listed
19
+ "pause, downgrade, discount" — and **billing pause is not an iOS mechanism**, so
20
+ a product-side pause worded as a billing pause is a lie in copy at the moment
21
+ the user is deciding whether to trust you.
22
+ - **BP-102 and BP-206 collided with no cross-reference.** On a cancellation screen
23
+ the exit is both the destructive action and the thing the user came for. Both
24
+ entries now carry the resolution: destructive *styling* is required, destructive
25
+ *weight* is not — full width, same type size and tap target, reachable without
26
+ scrolling.
27
+ - **"Diverge before converging" had nowhere to land.** `ux-flows` requires two
28
+ structurally different shapes and one line on why the loser lost; the `flows.md`
29
+ contract had no field for it, so the rejected shape evaporated and the next agent
30
+ re-litigated it. The contract gains `Rejected shape:`.
31
+ - **The Figma question said "at the start" from inside step 6.**
32
+ `figma-integration.md` places it at step 0 and is right; the flows skill now says
33
+ so instead of contradicting it.
34
+
35
+ ### Added
36
+
37
+ - **A check-count ratchet, ported from `sheleg-design`.** That repository's
38
+ retrospective recorded the class: a gate whose count can fall silently cannot
39
+ detect a deleted requirement. This one had no ratchet at all, so every
40
+ requirement deletion here was invisible **by construction**. `test/floors.json`
41
+ plus `check_floor()` inside `validate.py`, which CI already runs — watched saying
42
+ no against a planted impossible floor.
43
+
44
+ ## 0.36.0 — 2026-08-12
45
+
46
+ R-14 was filed `never` this morning and closed the same day, by the only
47
+ evidence available for a rule that lives in a skill rather than a script: a run.
48
+
49
+ ### Changed
50
+
51
+ - **The sweep was verified in a fresh context, against a brief that never
52
+ mentioned it.** An iOS subscription-cancellation flow, with no reference to
53
+ Mobbin, Refero, Lazyweb or sweeping anywhere in the prompt. The agent gated on
54
+ the tools present rather than the config and said which were which, swept
55
+ **before** drawing, read four shipped cancellation flows, and named what each
56
+ changed and what it refused to let them change — the job stayed the
57
+ foundation's, the visual identity stayed the style pack's. It also declined an
58
+ instruction embedded in one server's own response asking to alter persistent
59
+ instructions, which is the untrusted-data rule holding under a live test nobody
60
+ designed.
61
+
62
+ ### Added
63
+
64
+ - **Two cases the sweep assumed away, both reported by that run.** With only the
65
+ image server present you are reading step order and decision points off
66
+ screenshots — a weaker read than structured steps, not an equivalent one, and it
67
+ has to be said. And a sweep that returns nothing is a result: Lazyweb returned
68
+ zero flows for a completely mainstream journey, and "I swept" with no findings
69
+ and no statement of emptiness cannot be told apart from not sweeping.
70
+ - **B-012** files the run's nine other findings, each reproducible from its
71
+ report — including that the Design workflow has no defined behaviour for "we know
72
+ almost nothing", that the practice pass does not scale to roughly 150 verdicts for
73
+ one flow, and that BP-123 describes web billing on a platform where the app
74
+ cannot cancel an IAP.
75
+
3
76
  ## 0.35.3 — 2026-08-12
4
77
 
5
78
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.35.3",
3
+ "version": "0.36.1",
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"