super-ux 0.36.1 → 0.37.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.37.0 — 2026-08-12
4
+
5
+ The last five findings from the R-14 run — the ones that needed a **decision**
6
+ rather than a correction. In every case the fresh-context agent had already
7
+ improvised the right answer, said out loud that it was deviating, and explained
8
+ why. The answer was accepted rather than re-invented.
9
+
10
+ ### Added
11
+
12
+ - **A declared branch for "we know almost nothing".** The Design workflow read
13
+ *per story* and built its practice profile from `foundation.md`, while the
14
+ commonest real brief has neither — and nothing said what to do. Step 0 now
15
+ requires three things instead of silent improvisation: a **provisional
16
+ profile** where every dimension names its provenance (`brief` / `inferred` /
17
+ `assumed`, and an assumed dimension that decides the flow's shape is called
18
+ out), `Traces:` as an **unbacked provisional job** in the user's words, and an
19
+ **open decisions** list saying what each would change. A flow built this way is
20
+ honest input; built without the three blocks it is invented personas with a
21
+ diagram on top.
22
+ - **A granularity rule for the practice pass, because "every practice" does not
23
+ scale.** A mobile subscription product pulls roughly **150 practices for one
24
+ flow**; the worked example has four rows. Per-practice verdicts for the artifact
25
+ row and anything the artifact touches; **one band verdict, with its reason**,
26
+ per remaining set. A band with no reason is a silent skip wearing a table row.
27
+ - **`blocked` joins the screen status enum** — designed, complete, and unsafe to
28
+ build because a decision outside UX would change it. Name the decision and its
29
+ owner on the same line. That state used to live in prose, where no linter and no
30
+ next agent reliably finds it, and `designed` quietly read as ready.
31
+ - **A state is not a screen, with a test.** One `SCR-ID` per place the user can
32
+ be; split only when a variation owns distinct copy, distinct elements **and** its
33
+ own primary action. A confirm dialog with its own words is a screen; a table with
34
+ no rows is a state. Two agents given the same app produced incompatible
35
+ `screens.md` files for exactly this.
36
+ - **The platform-permits rule, generalised out of BP-123.** Where a step belongs
37
+ to the OS or a store — store billing, a permission prompt, a share sheet,
38
+ biometrics — two non-design questions decide the diagram: can the app perform
39
+ the action at all, and does it learn the outcome synchronously. A "no" to the
40
+ second is a **third branch**. Drawing only success and failure there ships a flow
41
+ that cannot be built.
42
+
3
43
  ## 0.36.1 — 2026-08-12
4
44
 
5
45
  Four of the R-14 run's findings actioned, and a defect class ported from the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.36.1",
3
+ "version": "0.37.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"