super-ux 0.52.4 → 0.53.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 +53 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,56 @@
1
+ ## 0.53.0 — a coverage metric is a check, and its matching rule is where the assumptions hide
2
+
3
+ Closes `ssheleg/sshlg-skills#96`.
4
+
5
+ A metric is built to end an argument about coverage. Then **the rule that decides what a
6
+ document is ABOUT** turns out to be one line of string handling, and the number reports work
7
+ that exists as work that is missing — and the number now generates work that is fictional.
8
+
9
+ Measured: a screen inventory decided a screen was documented when a scenario named its path
10
+ as the primary entry point, taking the first backticked path from `Entry point:` **whole**.
11
+ Two scenarios name their subject with a query string — `/reset-password?token=…` and
12
+ `/account/billing/return?invoice=&status=` — so both matched no route, and **two screens
13
+ that had always been documented were published as having no scenario at all.** The board row
14
+ that followed named nine screens needing scenarios: two needed nothing, and a third was one
15
+ component at two addresses, which the rule can only ever name one of. **Three of nine rows
16
+ were fiction, in a number whose whole purpose was to stop people arguing about coverage from
17
+ memory.**
18
+
19
+ `ux-audit` now carries three rules for any metric over these documents:
20
+
21
+ - **the aboutness rule is a named, exported function with a table of synthetic inputs,
22
+ including the negative cases** — query strings, fragments, several paths in one field,
23
+ prose with no backticks. It was untestable while it was an inline regex, which is exactly
24
+ why it was never tested;
25
+ - **a metric that cannot express a real state says so beside the number** rather than
26
+ counting that state as a failure. One screen at two addresses is one screen, and the
27
+ matrix carries a derived *alias routes* line instead of silently ranking the second
28
+ address undocumented;
29
+ - **a deliberate, hard-won rule is a reason to test it, not to trust it.** This one had
30
+ already replaced a looser rule twice, each time after a screen was reported covered on a
31
+ mention rather than on a subject — and a rule with that history is the last one anybody
32
+ re-reads.
33
+
34
+ ## 0.52.5 — the card the umbrella renders, and the half of the role that was copywriting's
35
+
36
+ The committed social preview is now the umbrella's own render, byte for byte
37
+ (`node test/site_test.js` → `PASS: site — 42 checks`). Nothing about this pack changed;
38
+ the string it is rendered from did.
39
+
40
+ **`super-ux`'s role cell said *"what the interface must do and how it sounds"*** in the
41
+ routing map — the block's first content and its highest-salience surface — while the
42
+ precedence table 362 lines below gave *"how it sounds"* to `copywriting`, and this pack's
43
+ own router text says the same split. A reader who stopped at the first table routed copy
44
+ work to `/ux`, on the one router pair the block works hardest elsewhere to separate. The
45
+ cell is now *"what the interface must do"*, which is exactly what the precedence table
46
+ already said.
47
+
48
+ The umbrella carries the fixture that keeps it: no member's role may contain another
49
+ router's answer, with one declared exemption. Watched refusing the old string —
50
+ `super-ux's role answers copywriting's question: "how it sounds"`.
51
+
52
+ Board: `B-131`.
53
+
1
54
  # Changelog
2
55
 
3
56
  ## 0.52.4 — the registry card stopped being four releases stale
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.52.4",
3
+ "version": "0.53.0",
4
4
  "scripts": {
5
5
  "test": "python3 test/validate.py && python3 test/brand_lint_test.py && python3 test/ux_lint_test.py && python3 docs/ux/lint.py && python3 docs/brand/lint.py && node test/installer_test.js"
6
6
  },