stylegallery 0.1.9 → 0.1.10

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/log.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # StyleGallery Log
2
2
 
3
+ ## 2026-10-16
4
+
5
+ Understood as: release `stylegallery@0.1.10` with the Registrar, the Conservator, and the holy-grail and icon-frame doc fixes from PR #55.
6
+
7
+ - Bumped the package version from `0.1.9` to `0.1.10`. The release carries PR #55: `sg registrar` checks every claim record against 35 rules, `sg conservator` renders all 46 Layout pattern exhibits at 320, 768, and 1440 CSS pixels with negative controls, `holy-grail` stacks below 48rem, and the `icon-frame` sample has `role="img"`.
8
+ - The package `files` list already gained `scripts/registrar.mjs`, `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, `scripts/markdown-structure.mjs`, and `scripts/pattern-data.mjs` in PR #55. This release changes only the version, this log entry, the material registry for the log bytes, and the A2A and AG-UI caller inventories bound to `package.json` and the registry.
9
+
10
+ Consumer reference: not_applicable
11
+ Consumer reference reason: This change releases a package version and selects no consumer-reference profile or record.
12
+
13
+ Understood as: fix the two Layout doc defects the Conservator found, then measure both patterns without workarounds.
14
+
15
+ - `holy-grail` now has the breakpoint its `breakpointed` responsiveness promised. `scripts/pattern-data.mjs` adds `@media (max-width: 47.99rem) { .holy_grail { grid-template: "header" auto "left" auto "main" 1fr "right" auto "footer" auto / 1fr; } }`, so below 48rem the five regions stack in one column in DOM order and a 320px viewport no longer overflows by 96px. 1440px is unchanged. `scripts/generate-patterns.mjs` accepts an at-rule entry (`["@media ...", [[selector, declarations]], note]`), renders it as a nested block, counts its properties under Core Properties, and writes the change point and its note under Constraints And Change Points.
16
+ - The `icon-frame` sample adds `role="img"` to the labelled span, which clears axe-core's serious `aria-prohibited-attr`.
17
+ - The Conservator measures `holy-grail` at 320, 768, and 1440. Below 768px it checks the `holy-grail-stack` behavior: every region takes the full column width and follows the previous one with the 1rem gap, and the shared root-overflow check stays at 0. The negative control is unchanged (remove the base `grid-template`) and fails at 768 and 1440; at 320 the breakpoint overrides the removed declaration. The `icon-frame` exhibit imports the doc sample from `scripts/pattern-data.mjs` verbatim instead of adding its own `role`, and only a harness rule sizes the empty svg. Both `not_measured` entries and their claim-record notes (records 11 and 18) are removed. The package now ships `scripts/pattern-data.mjs` because the packaged exhibits import it.
18
+
19
+ Consumer reference: not_applicable
20
+ Consumer reference reason: This change corrects two Layout pattern docs and their render exhibits and selects no consumer-reference profile or record.
21
+
22
+ Understood as: rename the claim-record validator to the Registrar and the pattern render oracle to the Conservator, raise both to their widest useful coverage, and ship both as `sg` subcommands.
23
+
24
+ - Renamed `scripts/validate-claim-records.mjs` to `scripts/registrar.mjs` and `scripts/check-pattern-oracle.mjs` to `scripts/conservator.mjs`, with their tests, package scripts, and the `.github/workflows/registrar-conservator.yml` workflow (formerly `claim-records.yml`; jobs `registrar` and `conservator`). The names describe the gallery roles: the Registrar keeps the claim register and the provenance of each record, and the Conservator inspects each exhibit directly.
25
+ - The Registrar grows from 15 to 35 rules. New rules check every template field and the template itself, repeated fields, record numbering and title uniqueness, evidence-family names against `quality/evidence/families.md`, the consumer-reference shape, review dates that are in the future, out of order, or overdue (a warning), the source-revision format, a review date for claims bound to an external source, conflict refs that must name another record and be reciprocal, `sg://conservator/<pattern>` refs, `auto` verdicts that use human-outcome terms or lack the `validator` family, record-file indexing, and one record per Conservator exhibit. `sg registrar --stale` and `--unverified` list records that need review. Every rule has a failing fixture.
26
+ - The Conservator grows from one pattern to all 46 Layout patterns. Each exhibit renders the pattern doc's CSS block verbatim and measures that pattern's claimed geometry. Each negative control removes one declaration the doc lists as breaking and must fail on the named behavior. Claim Records 5 to 49 in `quality/claim-records/samples.md` bind each exhibit, and record 4 covers `scroll-body-shell`. Sample 4's evidence family `rendered` was not in the glossary and is now `validator`, `screenshot`, `accessibility`. The per-pattern records live in the existing samples file because the material corpus is sealed at 180 documents. The committed `tests/fixtures/pattern-oracle/` fixture is replaced by in-memory exhibits.
27
+ - Findings left for the Layout owner: the `icon-frame` doc sample puts `aria-label` on a span with no role, which axe-core reports as serious, so the exhibit adds `role="img"`. `holy-grail` is documented as breakpointed, but its CSS has no breakpoint and overflows a 320px viewport by 96px, so the exhibit is measured at 768 and 1440 only.
28
+ - Owner decision (2026-10-16): Playwright may be a required package dependency. `playwright` and `@axe-core/playwright` move to `dependencies` (about 22MB). Browsers are not downloaded at install. `sg conservator` reports `browser_missing` with the install command, accepts `--install-browser`, and accepts `--channel chrome` for an installed Chrome. The package now ships `scripts/registrar.mjs`, `scripts/conservator.mjs`, `scripts/conservator-exhibits.mjs`, and `scripts/markdown-structure.mjs`. In an installed package, evidence refs to repository-only files are warnings, not failures.
29
+
30
+ Consumer reference: not_applicable
31
+ Consumer reference reason: This change renames and extends repository quality checks and selects no consumer-reference profile or record.
32
+
3
33
  ## 2026-10-15
4
34
 
5
35
  Understood as: release `stylegallery@0.1.9` with the machine-verifiable claim records and the scroll-body-shell render oracle from PR #53.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stylegallery",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "A governed gallery of portable interface knowledge with knowledge CLIs, website compilation, and MCP servers.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -256,6 +256,11 @@
256
256
  "scripts/compiler/mcp.mjs",
257
257
  "scripts/compiler/operations.mjs",
258
258
  "scripts/compiler/runtime.mjs",
259
+ "scripts/conservator-exhibits.mjs",
260
+ "scripts/conservator.mjs",
261
+ "scripts/markdown-structure.mjs",
262
+ "scripts/pattern-data.mjs",
263
+ "scripts/registrar.mjs",
259
264
  "scripts/sg-entry.mjs",
260
265
  "scripts/sg-material-mcp.mjs",
261
266
  "scripts/sg-material.mjs",
@@ -304,6 +309,10 @@
304
309
  "validate": "node scripts/validate-reference-artifacts.mjs --manifest consumer-reference/generated/manifest.json --json",
305
310
  "validate:component-state": "node scripts/validate-component-state.mjs --json && node scripts/generate-consumer-reference-evidence.mjs --check --json",
306
311
  "test:state-management": "node --test scripts/test-state-management-examples.mjs",
312
+ "registrar": "node scripts/registrar.mjs",
313
+ "test:registrar": "node scripts/test-registrar.mjs",
314
+ "conservator": "node scripts/conservator.mjs",
315
+ "test:conservator": "node scripts/test-conservator.mjs",
307
316
  "test:showcase": "node scripts/check-showcase.mjs",
308
317
  "test:showcase:self": "node scripts/test-check-showcase.mjs",
309
318
  "showcase:serve": "node scripts/serve-showcase.mjs",
@@ -312,14 +321,15 @@
312
321
  "sg:mcp:v1": "node scripts/sg-mcp.mjs"
313
322
  },
314
323
  "devDependencies": {
315
- "@axe-core/playwright": "4.12.1",
316
324
  "@playwright/test": "1.61.0",
317
325
  "ajv": "8.20.0",
318
326
  "ajv-formats": "3.0.1"
319
327
  },
320
328
  "dependencies": {
329
+ "@axe-core/playwright": "4.12.1",
321
330
  "@chenglou/pretext": "0.0.8",
322
331
  "@modelcontextprotocol/sdk": "1.29.0",
332
+ "playwright": "1.61.0",
323
333
  "style-dictionary": "5.5.0",
324
334
  "zod": "4.4.3"
325
335
  },
@@ -27,7 +27,7 @@ Use this pattern when you need to keep an icon aligned inside a fixed square slo
27
27
  ## HTML
28
28
 
29
29
  ```html
30
- <span class="icon_frame" aria-label="Calendar">
30
+ <span class="icon_frame" role="img" aria-label="Calendar">
31
31
  <svg aria-hidden="true" viewBox="0 0 24 24"></svg>
32
32
  </span>
33
33
  ```
@@ -66,6 +66,12 @@ Use this pattern when you need to place header, footer, sidebars, and main conte
66
66
  .holy_grail_footer {
67
67
  grid-area: footer;
68
68
  }
69
+
70
+ @media (max-width: 47.99rem) {
71
+ .holy_grail {
72
+ grid-template: "header" auto "left" auto "main" 1fr "right" auto "footer" auto / 1fr;
73
+ }
74
+ }
69
75
  ```
70
76
 
71
77
  ## Core Properties
@@ -79,6 +85,7 @@ Use this pattern when you need to place header, footer, sidebars, and main conte
79
85
  ## Constraints And Change Points
80
86
 
81
87
  - breakpointed responsiveness is part of the contract; change sizing values only when the new minimum, maximum, or wrap point is documented with the pattern.
88
+ - Change point `@media (max-width: 47.99rem)` overrides `grid-template` on `.holy_grail`. Below 48rem the two 12rem side columns no longer fit beside main content, so all five regions stack in one column in DOM order: header, left, main, right, footer. At 48rem and wider the three-column shell applies.
82
89
  - Keep the HTML class hooks and CSS selectors in one-to-one agreement.
83
90
 
84
91
  ## Scroll Ownership