mosaic-headless 1.13.0 → 1.14.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/README.ja.md CHANGED
@@ -65,7 +65,7 @@ URL に対応するテンプレなし HTTP 406、未ログインには空の b
65
65
  | **スタイル状態** | 53 状態のうち 52 を実ページに書き、テーブルが約束するセレクタと照合:**36 件が完全一致**、12 件 NO_HOST、3 件 SKIPPED、1 件 BROKE_PAGE。どの要素にも使えるグローバル 7 状態はすべて検証済み |
66
66
  | **インタラクション** | JS アニメーション経路を、ネガティブコントロール付きで保存行を読み戻しながら検証:`propertyMetas` は**受理され保存される**。プロパティ値は依然としてバインドされないが、その境界は厳密になった |
67
67
  | **入場アニメーション** | ページ読み込み後の 10 時点をサンプリングし 7 項目を断言 — 再生されること、アニメーションする `@property` カウンタが 100 に達すること、ベールがヒットテストから外れること、ビューポート内に opacity 0 のまま取り残された要素がないこと、実際のクリックが文書に届くこと、そして `prefers-reduced-motion` ではベールがそもそも存在しないこと |
68
- | **ブラウザ** | 配信されたページを Chromium の 3 つのビューポートで計算スタイル 3,637 件読み取り:2,725 件が一致、912 件は比較不能として明示、**上書き 0 件** |
68
+ | **ブラウザ** | 配信されたページを Chromium の 3 つのビューポートで計算スタイル 3,841 件読み取り:2,929 件が一致、912 件は比較不能として明示、**上書き 0 件** |
69
69
  | **デザイン監査** | コントラスト、フォントフォールバック、CJK の字送り、横溢れ、テキストの切れ、1 行の文字数 — ブラウザ上で実行、**指摘 0 件** |
70
70
  | **テーマの書き出し/読み込み** | 往復検証済み:テーマ全体を書き出し、コピーとして読み込み、そのコピーがバイト単位で同一のページを配信 |
71
71
  | **実測** | REST ルート 114、element class 151、条件サブジェクト 59、23 テーブル / 206 カラム |
package/README.ko.md CHANGED
@@ -65,7 +65,7 @@ URL에 맞는 템플릿 없음 HTTP 406, 로그인하지 않은 사용자
65
65
  | **스타일 상태** | 53개 상태 중 52개를 실제 페이지에 쓰고 표가 약속한 셀렉터와 대조: **36개가 정확히 일치**, 12개 NO_HOST, 3개 SKIPPED, 1개 BROKE_PAGE. 어떤 요소에나 쓸 수 있는 전역 7개 상태는 전부 검증됨 |
66
66
  | **인터랙션** | JS 애니메이션 경로를 음성 대조군과 함께, 저장된 행을 되읽으며 검증: `propertyMetas`는 **수용되고 저장된다**. 속성 값은 여전히 바인딩되지 않지만 그 경계는 이제 정확하다 |
67
67
  | **인트로 애니메이션** | 페이지 로드 후 10개 시점을 샘플링해 7가지를 단언 — 재생될 것, 애니메이션되는 `@property` 카운터가 100에 도달할 것, 베일이 히트 테스트에서 빠질 것, 뷰포트 안에 opacity 0으로 갇힌 요소가 없을 것, 실제 클릭이 문서에 닿을 것, 그리고 `prefers-reduced-motion`에서는 베일이 아예 존재하지 않을 것 |
68
- | **브라우저** | 전달된 페이지를 Chromium의 세 가지 뷰포트에서 계산 스타일 3,637건 판독: 2,725건 일치, 912건은 비교 불가로 명시, **덮어쓰기 0건** |
68
+ | **브라우저** | 전달된 페이지를 Chromium의 세 가지 뷰포트에서 계산 스타일 3,841건 판독: 2,929건 일치, 912건은 비교 불가로 명시, **덮어쓰기 0건** |
69
69
  | **디자인 감사** | 명암비, 폰트 폴백, CJK 자간, 가로 넘침, 텍스트 잘림, 한 줄 글자 수 — 브라우저에서 실행, **지적 0건** |
70
70
  | **테마 내보내기/가져오기** | 왕복 검증: 테마 전체를 내보내 사본으로 가져왔고, 사본이 바이트 단위로 동일한 페이지를 제공 |
71
71
  | **실측** | REST 라우트 114개, element class 151개, 조건 주체 59개, 23개 테이블 / 206개 컬럼 |
package/README.md CHANGED
@@ -66,7 +66,7 @@ factories, so Pro types register and render regardless.
66
66
  | **style states** | 52 of the 53 states written to a live page and matched against the selector the table promises: **36 compiled exactly**, 12 NO_HOST, 3 SKIPPED, 1 BROKE_PAGE. All seven globally usable states verified |
67
67
  | **interactions** | the JS animation path probed with negative controls and the row read back: `propertyMetas` **is** accepted and stored; the property values still do not bind, and the boundary is now exact |
68
68
  | **entrance animation** | the page-load sequence sampled at ten timestamps and asserted on seven counts — it plays, its animated `@property` counter reaches 100, the veil leaves hit-testing, nothing in the viewport is stranded at opacity 0, a real click reaches the document, and under `prefers-reduced-motion` the veil never exists at all |
69
- | **browser** | 3,637 computed-style readings on the delivered page in Chromium at three viewports: 2,725 compared and agreed, 912 not-comparable and labelled, **0 overridden** |
69
+ | **browser** | 3,841 computed-style readings on the delivered page in Chromium at three viewports: 2,929 compared and agreed, 912 not-comparable and labelled, **0 overridden** |
70
70
  | **design audit** | contrast, font fallback, CJK tracking, overflow, clipped text, line measure — run in the browser, **0 findings** |
71
71
  | **theme export/import** | round-tripped: a full theme exported, re-imported as a copy, and the copy served byte-identical pages |
72
72
  | **measured live** | 114 REST routes, 151 element classes, 59 condition subjects, 23 tables / 206 columns |
package/README.zh-TW.md CHANGED
@@ -58,7 +58,7 @@ commit 時 PHP fatal HTTP 500 (122 種型別裡有 15 種,光放在 div
58
58
  | **樣式狀態** | 53 個狀態中的 52 個寫進真實頁面,對照表格承諾的選擇器逐一比對:**36 個完全吻合**、12 個 NO_HOST、3 個 SKIPPED、1 個 BROKE_PAGE。七個可用於任何元素的狀態全數驗證 |
59
59
  | **互動動畫** | 帶負對照組並讀回儲存列來探測 JS 動畫路徑:`propertyMetas` **確實**會被接受並儲存;屬性值仍然無法綁定,但界線現在很精確 |
60
60
  | **入口動畫** | 在載入後十個時間點取樣並做七項斷言——它有播、被動畫的 `@property` 計數器跑到 100、遮罩退出點擊判定、視窗內沒有任何內容卡在 opacity 0、真實點擊落在文件上,而在 `prefers-reduced-motion` 下遮罩根本不存在 |
61
- | **瀏覽器** | 在 Chromium 三個視窗寬度上對交付頁面做 3,637 次計算樣式讀取:2,725 條比對相符、912 條標為無法比對、**0 條被覆蓋** |
61
+ | **瀏覽器** | 在 Chromium 三個視窗寬度上對交付頁面做 3,841 次計算樣式讀取:2,929 條比對相符、912 條標為無法比對、**0 條被覆蓋** |
62
62
  | **設計稽核** | 對比度、字體回退、CJK 字距、水平溢出、文字裁切、每行字數——在瀏覽器裡跑,**0 項發現** |
63
63
  | **主題匯出/匯入** | 完整來回驗證:匯出整個主題、以副本身分匯入,副本送出的頁面逐位元組相同 |
64
64
  | **線上量測** | 114 條 REST 路由、151 個 element class、59 個條件主體、23 張表 / 206 個欄位 |
package/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: |
4
4
  Build and modify Mosaic Pro (Nextend) sites by writing the underlying data model directly - no visual editor, no DOM. Query the real surface with `mo.py`, which joins every source table to the live sweeps so a lookup leads with the measured verdict rather than the declaration (122 node types, 181 properties, 98 style properties with 20 structured value shapes pinned down, 53 style states, 151 element classes, 74 dynamic variables, 12 interaction triggers, 114 REST routes, 23 tables) instead of guessing, with every node type placed on a live site one at a time and asserted against the delivered HTML, the design-token and element-class layers verified against compiled CSS, the @VAR() dynamic language verified against rendered output, nine designed pages built through the tables themselves, and the delivered page re-read in Chromium at three viewports so a rule that is present, correct and still wrong cannot pass.
5
5
  license: "MIT"
6
6
  author: "moksa (https://moksaweb.com)"
7
- version: "1.13.0"
7
+ version: "1.14.0"
8
8
  ---
9
9
 
10
10
  # Headless Mosaic
@@ -150,7 +150,13 @@ STATES 52 of the 53 style states written to a live page and matched agains
150
150
  pseudo-classes are emitted UPPERCASE (`.M_EL9:HOVER`), so grepping a
151
151
  stylesheet for `:hover` finds nothing. data/style-state-verification.csv
152
152
 
153
- COMPONENTS the component system driven end to end, 8 of 8 checks: a component
153
+ COMPONENTS used on the example page: the service row is committed ONCE to the
154
+ theme and the page places four instances of it, each carrying only the
155
+ words that differ. A spec declares `"components": {...}` and a node
156
+ says `"component": "<name>"` with `"overrides"`; build_site creates or
157
+ refills the definition, resolves the name to an id, and writes the
158
+ overrides in a second pass - they cannot exist before the instance
159
+ does. Plus the system driven end to end, 8 of 8 checks: a component
154
160
  created under a category, its document healed, its tree filled through
155
161
  the WRITABLE instance, the read-only one refused the same write as a
156
162
  negative control, and two instances placed on a page rendering the one
@@ -175,9 +181,9 @@ INTRO the page-load sequence sampled at thirteen timestamps across its li
175
181
  EVENT; a page can pass all of them and be completely static the moment
176
182
  you stop scrolling. All pass. data/intro-verification.csv
177
183
 
178
- BROWSER 3,637 computed-style readings on the delivered page in Chromium, at
184
+ BROWSER 3,841 computed-style readings on the delivered page in Chromium, at
179
185
  three viewports: every declared property vs `getComputedStyle` on the
180
- node it targets. 2,725 compared and agreed, 912 not-comparable and
186
+ node it targets. 2,929 compared and agreed, 912 not-comparable and
181
187
  labelled as such, 0 overridden. Plus a design audit that only a browser
182
188
  can run - font fallback, tracking against script, text contrast,
183
189
  horizontal overflow, clipped text, line measure - currently 0 findings.
@@ -324,7 +330,7 @@ so the pattern is in the data, not just in this paragraph.
324
330
  | `data/node-property-verification.csv` | 181 | **swept live** — each property probed with a value shaped by its own validator chain, on a type that declares it |
325
331
  | `data/style-verification.csv` | 98 | **swept live** — every style property written to a page and checked against the compiled CSS, with its group beside the result |
326
332
  | `data/rwd-verification.csv` | 688 | **checked live** - every `_t`/`_m` declaration vs the served stylesheet, with status per row |
327
- | `data/browser-verification.csv` | 3637 | **computed in Chromium** - declared vs `getComputedStyle` at three viewports, `not-comparable` labelled per row |
333
+ | `data/browser-verification.csv` | 3841 | **computed in Chromium** - declared vs `getComputedStyle` at three viewports, `not-comparable` labelled per row |
328
334
  | `data/design-audit-acknowledged.csv` | 1 | reviewed findings that will not be fixed, each with a written reason. An acknowledgement without a reason is a suppression wearing a better name, and the release gate refuses one |
329
335
  | `data/design-audit.csv` | 24 | **computed in Chromium** - contrast, font fallback, CJK tracking, overflow, measure. Empty means it ran and found nothing |
330
336
  | `data/data-class-hierarchy.csv` | 121 | source - every data class and its parent, so a type's inherited properties can be resolved |
@@ -20,7 +20,7 @@
20
20
  "description": "Build and modify Mosaic Pro (Nextend) sites by writing the underlying data model directly - no visual editor, no DOM. Query the real surface (122 node types, 181 node properties, 98 style properties, 53 style states, 151 element classes, 74 dynamic variables, 114 REST routes, 23 tables) instead of guessing, with every node type placed on a live site one at a time and asserted against the delivered HTML, every style and node property swept against the compiled CSS and markup, and 569 responsive declarations checked against the stylesheet the site actually served.",
21
21
  "license": "MIT",
22
22
  "author": "moksa (https://moksaweb.com)",
23
- "version": "1.13.0"
23
+ "version": "1.14.0"
24
24
  },
25
25
  "loaderBehaviour": "Upload via Settings -> Skills -> Upload. Claude.ai parses SKILL.md frontmatter and surfaces the skill in your library. The extraction tool (extract-block-schema.php) needs a live WP-CLI connection and won't run in the sandbox; use it from a local terminal against your own site instead.",
26
26
  "uploadSteps": [
@@ -20,7 +20,7 @@
20
20
  "description": "Build and modify Mosaic Pro (Nextend) sites by writing the underlying data model directly - no visual editor, no DOM. Query the real surface (122 node types, 181 node properties, 98 style properties, 53 style states, 151 element classes, 74 dynamic variables, 114 REST routes, 23 tables) instead of guessing, with every node type placed on a live site one at a time and asserted against the delivered HTML, every style and node property swept against the compiled CSS and markup, and 569 responsive declarations checked against the stylesheet the site actually served.",
21
21
  "license": "MIT",
22
22
  "author": "moksa (https://moksaweb.com)",
23
- "version": "1.13.0"
23
+ "version": "1.14.0"
24
24
  },
25
25
  "loaderBehaviour": "Auto-loads on session start when SKILL.md frontmatter parses successfully.",
26
26
  "verified": true,
@@ -20,7 +20,7 @@
20
20
  "description": "Build and modify Mosaic Pro (Nextend) sites by writing the underlying data model directly - no visual editor, no DOM. Query the real surface (122 node types, 181 node properties, 98 style properties, 53 style states, 151 element classes, 74 dynamic variables, 114 REST routes, 23 tables) instead of guessing, with every node type placed on a live site one at a time and asserted against the delivered HTML, every style and node property swept against the compiled CSS and markup, and 569 responsive declarations checked against the stylesheet the site actually served.",
21
21
  "license": "MIT",
22
22
  "author": "moksa (https://moksaweb.com)",
23
- "version": "1.13.0"
23
+ "version": "1.14.0"
24
24
  },
25
25
  "loaderBehaviour": "Confirmed (2026-07-11): Codex CLI natively supports the SKILL.md spec. Place SKILL.md under .codex/skills/<name>/ (project) or ~/.codex/skills/<name>/ (personal) and Codex loads the name+description at session start, then the full body on demand. A parallel, broader convention .agents/skills/ (searched from cwd up to repo root, then ~/.agents/skills/) also exists across multiple tools - if your Codex CLI version prioritizes that path instead, mirror the same SKILL.md there.",
26
26
  "verified": true,
@@ -20,7 +20,7 @@
20
20
  "description": "Build and modify Mosaic Pro (Nextend) sites by writing the underlying data model directly - no visual editor, no DOM. Query the real surface (122 node types, 181 node properties, 98 style properties, 53 style states, 151 element classes, 74 dynamic variables, 114 REST routes, 23 tables) instead of guessing, with every node type placed on a live site one at a time and asserted against the delivered HTML, every style and node property swept against the compiled CSS and markup, and 569 responsive declarations checked against the stylesheet the site actually served.",
21
21
  "license": "MIT",
22
22
  "author": "moksa (https://moksaweb.com)",
23
- "version": "1.13.0"
23
+ "version": "1.14.0"
24
24
  },
25
25
  "loaderBehaviour": "CHANGED as of 2026-07-11: GitHub Copilot added a proper '.github/skills/' Agent Skills directory (December 2025), alongside the older single-file .github/copilot-instructions.md convention. This config targets the new skills-directory form. If your Copilot version predates this (pre Dec 2025), use the instructions-append fallback instead (see fallback below).",
26
26
  "fallback": {
@@ -20,7 +20,7 @@
20
20
  "description": "Build and modify Mosaic Pro (Nextend) sites by writing the underlying data model directly - no visual editor, no DOM. Query the real surface (122 node types, 181 node properties, 98 style properties, 53 style states, 151 element classes, 74 dynamic variables, 114 REST routes, 23 tables) instead of guessing, with every node type placed on a live site one at a time and asserted against the delivered HTML, every style and node property swept against the compiled CSS and markup, and 569 responsive declarations checked against the stylesheet the site actually served.",
21
21
  "license": "MIT",
22
22
  "author": "moksa (https://moksaweb.com)",
23
- "version": "1.13.0"
23
+ "version": "1.14.0"
24
24
  },
25
25
  "loaderBehaviour": "CHANGED as of 2026-07-11: Gemini CLI now natively supports the same SKILL.md standard as Claude Code and Codex CLI - the same directory-based skill works unmodified. Gemini CLI discovers skills in this precedence order: built-in, extension skills, ~/.gemini/skills/ (personal), .gemini/skills/ (project, shared via version control). At session start Gemini injects each discovered skill's name+description into the system prompt and calls activate_skill when a task matches.",
26
26
  "verified": true,
@@ -79,7 +79,7 @@ const counts = {
79
79
  "data/style-verification.csv": 98,
80
80
  "data/node-property-verification.csv": 181,
81
81
  "data/rwd-verification.csv": 688,
82
- "data/browser-verification.csv": 3637,
82
+ "data/browser-verification.csv": 3841,
83
83
  "data/style-state-verification.csv": 52,
84
84
  "data/interaction-verification.csv": 7,
85
85
  "data/data-class-hierarchy.csv": 121,