super-ux 0.52.0 → 0.52.2

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 +51 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.52.2 — the evals stop being a promise, and 0.52.1's stowaways get their record
4
+
5
+ - **The eval suite has dated rows instead of a vacant table** (SUX-04, family audit
6
+ 2026-08-29). 28 blind trigger probes — one fresh subagent per query per model
7
+ (`haiku`, `sonnet`), each shown only the query and the 28 installed family skill
8
+ descriptions — scored 14/14 on both models (train 8/8, validation 6/6), with every
9
+ raw answer recorded. Three scenario runs in fresh scratch workspaces scored 12/12
10
+ expected-behavior lines, each re-verified by running the pack's own linters over
11
+ the agents' outputs (s01 design chain: `ux_lint.py` 0 errors; s03 rewritten copy:
12
+ `brand pack is clean`). `test/evals/RESULTS.md` carries the per-query receipts,
13
+ the scenario evidence, and a Method section that states the limits — single
14
+ repetition per query against a README that asks for three, model aliases rather
15
+ than snapshot ids, and the one non-hermetic call the s02 audit itself disclosed.
16
+ - **Two changes shipped inside v0.52.1 without a line of record, and this is that
17
+ line.** The 0.52.1 commit was cut by a concurrent session from this working tree
18
+ while this run's edits sat uncommitted in it, so they rode along:
19
+ **`compatibility:` front matter in all seven skills** (SUX-02) — per-skill rather
20
+ than one blanket string: the five UX skills name python3 3.9+ (stdlib only) for
21
+ the linter this pack seeds, `ux-flows` names its optional MCPs (Figma for
22
+ mockups, Refero/Mobbin/Lazyweb for reference screens) and what happens when they
23
+ are absent, `ux-audit` states which half of the Figma check survives without the
24
+ MCP, and the two brand skills name `docs/brand/lint.py` — and **`$schema` in both
25
+ manifests** (SUX-05), the two schemastore spellings that resolve (the family also
26
+ carries a `claude-code-plugin.json` variant, which 404s and was not copied);
27
+ `claude plugin validate --strict` passes on both. Every `compatibility` value is
28
+ a one-line YAML plain scalar with no colon-space sequence, parsed with
29
+ `yaml.safe_load` before it ever reached a commit — the family shipped that exact
30
+ defect twice this week (sheleg-design 1.37.4 and 1.58.0), and a planted
31
+ colon-space here was caught by the same `mapping values are not allowed here`.
32
+ Budgets measured: 153–358 chars against the standard's 500; the pinned house
33
+ auditor returns 0 GAP on all seven. The class — a repo gate that parses shipped
34
+ front matter as YAML — is filed as `B-033` rather than claimed, because this
35
+ run's check was manual.
36
+
37
+ ## 0.52.1 — a ledger row that machine-read as something else
38
+
39
+ - **`B-029`'s board row carried an unescaped `|` inside a backticked span**
40
+ (`` `Kind: copy \| layout` ``), and markdown splits a table row on the pipe before any
41
+ inline parsing happens, so the code fence does not protect it. Every column after the
42
+ break shifted by one and `Status` read as whatever landed in its place: a `resolved` row
43
+ that a machine reads as something else, in one of the two files this pipeline treats as
44
+ its record. Escaped.
45
+ - **Found by the family umbrella's validator on this repository's own v0.52.0 tag**, while
46
+ bumping the pin — not by anything here. `validate_ledger_table_shape` now asks the same
47
+ question of both ledgers, and it is escape-aware because the first version was not: it
48
+ counted `\|` as a separator and reported fourteen broken rows in files that had one,
49
+ which is a detector nobody would have kept. Watched on the exact defect, and its limit
50
+ measured and written down — `backlog.md` carries its header twice, so the guard catches
51
+ a header that vanished entirely while a partial loss falls to the ratchet, which moved
52
+ 4488 to 4475 on that plant.
53
+
3
54
  ## 0.52.0 — the dash rule stops checking the glyph, humanization stops being a mode, and the pack learns to assemble a product
4
55
 
5
56
  - **`B062` judges the dash's role rather than its codepoint.** `DASH` was the single
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-ux",
3
- "version": "0.52.0",
3
+ "version": "0.52.2",
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
  },