super-ux 0.39.0 → 0.40.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,76 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.40.0 — 2026-08-14
4
+
5
+ A 42-page practitioner guide on building web2app funnels was read against the
6
+ catalog, and most of what it teaches was already here: BP-001 on adapting rather
7
+ than copying, BP-005 on loading screens that sell, BP-010 and BP-029 on echoing
8
+ the stated goal, BP-116..123 on the surfaces, BP-124..129 on the web2app chain.
9
+ What was missing had one thing in common. **Every gap was something that fails
10
+ without changing what the funnel looks like.**
11
+
12
+ Five practices, `BP-211..215`, in a section named for that property:
13
+
14
+ - **BP-211 — personalize the wording, never the price.** The catalog said to
15
+ branch the offer on the quiz answer and never said where the branch stops.
16
+ Two rules: the product and its price are identical across every branch, and
17
+ the branch has a default, because the person who skips the question currently
18
+ meets an empty offer at the moment of highest intent.
19
+ - **BP-212 — publicly addressable before it takes money, instrumented before it
20
+ takes traffic.** Both orderings are forced rather than tidy. A provider
21
+ confirms a charge by calling a public address, so the whole post-payment path
22
+ is untestable on a laptop; and traffic bought before instrumentation cannot be
23
+ read afterwards, because the sessions are spent and the losing step was never
24
+ recorded.
25
+ - **BP-213 — a collected answer carries three decisions no screen shows:** who
26
+ may read the row, when the person was told, how they get it deleted. `[GDPR]`
27
+ Art. 13 fixes the timing at *the moment the data is obtained*, which is why
28
+ this is a design-time decision and not a launch-week chore, and Art. 17 is why
29
+ a funnel with no deletion route has promised something it cannot do.
30
+ - **BP-214 — the legal text is sourced, never generated.** A policy is a
31
+ statement about your own processing, so generated prose is a fabricated claim
32
+ about it: BP-194's failure with a regulator for a reader.
33
+ - **BP-215 — access after payment is a ladder, and the link carries a token
34
+ rather than a person.** Each rung above the first adds a service that fails
35
+ independently of the funnel, so the rung below stays reachable; and a URL is a
36
+ bearer credential, so what is encoded in it is readable by everyone it is
37
+ forwarded to.
38
+
39
+ **BP-118 gained the unit web funnels actually anchor on.** It stopped at the
40
+ monthly equivalent of an annual plan. The per-day figure is the same mechanism
41
+ one step further, and it ships beside the billed amount rather than instead of
42
+ it, because a price the buyer is never charged is the shape a dark pattern takes
43
+ here.
44
+
45
+ **`funnel-research.md` is new**, and it is a method rather than a practice:
46
+ `FR-01..FR-07`, from finding the funnels running in a category to landing each
47
+ finding in the chain. It leads with the constraint that makes it a method at
48
+ all — you cannot see anyone's revenue, so every signal is spend, and spend is
49
+ somebody else's judgement you cannot inspect. Its last section names the step
50
+ chain a corpus keeps producing and the practice specifying each step; its final
51
+ section is what the method **cannot** do. Carried by `ux-foundation` and
52
+ `ux-flows`, and by neither of the other five, because a link in a skill is a
53
+ shipping instruction.
54
+
55
+ **Two new gates, because a numbered set with nothing counting it is a promise.**
56
+
57
+ - `validate_reference_contents` — every `## Contents` anchor in a reference
58
+ resolves to a heading in that file. The Contents list is the one part of the
59
+ shelf that goes stale by somebody else's edit: rename a heading and the entry
60
+ above it still looks right. 150 checks over 21 files, and it recorded the
61
+ slug rule it needed to get right, because a checker that collapses the double
62
+ hyphen an em dash leaves behind reports 22 failures on a clean shelf.
63
+ - The `FR-01..NN` range check, in the form `PRN-01..NN` already had, so a step
64
+ added without updating its carriers goes red in all three of them.
65
+
66
+ Both were watched failing against planted defects, each isolated so only the
67
+ branch under test could fire it. Disarming the anchor loop drops the count from
68
+ 3500 to 3354, which the floor ratchet refuses on its own.
69
+
70
+ `docs/brand/facts.md` was recomputed rather than edited: `B030` went red on
71
+ `215` in the README before this run had touched the table, which is the sequence
72
+ the check exists for.
73
+
3
74
  ## 0.39.0 — 2026-08-14
4
75
 
5
76
  The em-dash reflex has been in `ai-tells.md` since the verbal identity layer
package/README.md CHANGED
@@ -231,8 +231,9 @@ The contracts every skill reads:
231
231
  | [ux_doctor.py](plugins/super-ux/scripts/ux_doctor.py) | Contract doctor. It reports mixed or stale contract versions across a project's artifacts, files the tooling cannot find under their contract names, and audits produced against a base that is not there. `/ux-lint` checks a chain against itself; this checks it against the contract. Installed as `docs/ux/doctor.py`, read-only unless `--fix` |
232
232
  | [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 |
233
233
  | [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..24, the improvement procedure, anti-patterns |
234
- | [best-practices.md](plugins/super-ux/skills/references/best-practices.md) | Living, tag-indexed catalog of 210 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 |
234
+ | [best-practices.md](plugins/super-ux/skills/references/best-practices.md) | Living, tag-indexed catalog of 215 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), web2app (paid handoff, deferred deep links, storefront rules) and the funnel wiring that fails invisibly (what a personalization branch may vary, stand-up order, the three decisions a stored answer carries, GDPR Art. 13/17 timing, the access ladder), 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 |
235
235
  | [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 |
236
+ | [funnel-research.md](plugins/super-ux/skills/references/funnel-research.md) | Reading a funnel market before designing one, `FR-01..FR-07`: where competitor funnels are visible, the four signals that survive when revenue is invisible, the fields that make a corpus comparable, which adjacent categories transfer, the stop before copying, and where each finding lands in the chain. Carried by `ux-foundation` and `ux-flows` |
236
237
  | [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 of Apple HIG, Material 3, W3C ARIA APG and GOV.UK |
237
238
  | [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 |
238
239
  | [figma-integration.md](plugins/super-ux/skills/references/figma-integration.md) · [figma-structure.md](plugins/super-ux/skills/references/figma-structure.md) | The optional Figma surface (on by default): when and how to mock up, and how to structure the file so frames named `SCR-NN/<Screen>/<state>` map 1:1 to `screens.md`, giving deterministic lookup and checkable drift |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.39.0",
3
+ "version": "0.40.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"