jekyll-theme-zer0 1.29.0 → 1.31.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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +886 -2
  3. data/_data/README.md +2 -0
  4. data/_data/ai.yml +5 -3
  5. data/_data/ai_pricing.yml +36 -0
  6. data/_data/backlog.yml +196 -22
  7. data/_data/consumers.yml +147 -5
  8. data/_data/features.yml +147 -21
  9. data/_data/feedback_types.yml +17 -12
  10. data/_data/landing.yml +5 -2
  11. data/_data/navigation/quickstart.yml +4 -0
  12. data/_data/site_builder.yml +874 -0
  13. data/_data/theme-manifest.yml +132 -122
  14. data/_data/ui-text.yml +19 -0
  15. data/_includes/README.md +11 -1
  16. data/_includes/analytics/posthog.html +30 -11
  17. data/_includes/components/README.md +1 -1
  18. data/_includes/components/admin-links.html +2 -2
  19. data/_includes/components/admin-tabs.html +2 -2
  20. data/_includes/components/ai-chat.html +14 -11
  21. data/_includes/components/analytics-dashboard.html +8 -8
  22. data/_includes/components/author-bio.html +1 -1
  23. data/_includes/components/author-card.html +10 -2
  24. data/_includes/components/author-eeat.html +4 -4
  25. data/_includes/components/background-customizer.html +8 -8
  26. data/_includes/components/background-image.html +120 -0
  27. data/_includes/components/background-settings.html +28 -15
  28. data/_includes/components/collection-manager.html +5 -5
  29. data/_includes/components/component-showcase.html +13 -13
  30. data/_includes/components/config-editor.html +12 -12
  31. data/_includes/components/config-viewer.html +8 -8
  32. data/_includes/components/cookie-consent.html +41 -41
  33. data/_includes/components/cta-button.html +7 -2
  34. data/_includes/components/dev-shortcuts.html +7 -7
  35. data/_includes/components/env-dashboard.html +8 -8
  36. data/_includes/components/env-switcher.html +9 -9
  37. data/_includes/components/feature-card.html +2 -2
  38. data/_includes/components/halfmoon.html +2 -2
  39. data/_includes/components/info-section.html +36 -36
  40. data/_includes/components/js-cdn.html +15 -15
  41. data/_includes/components/language-toggle.html +4 -4
  42. data/_includes/components/mermaid.html +79 -435
  43. data/_includes/components/nanobar.html +5 -5
  44. data/_includes/components/nav-editor.html +2 -2
  45. data/_includes/components/nav-export.html +2 -2
  46. data/_includes/components/nav-overview.html +2 -2
  47. data/_includes/components/page-feedback.html +45 -30
  48. data/_includes/components/page-views-init.html +1 -1
  49. data/_includes/components/post-card.html +22 -22
  50. data/_includes/components/post-type-badge.html +2 -2
  51. data/_includes/components/powered-by.html +2 -2
  52. data/_includes/components/preview-image.html +28 -3
  53. data/_includes/components/quick-index.html +2 -2
  54. data/_includes/components/search-modal.html +27 -2
  55. data/_includes/components/searchbar.html +2 -2
  56. data/_includes/components/svg-background.html +2 -2
  57. data/_includes/components/theme-customizer.html +2 -2
  58. data/_includes/components/theme-info.html +6 -6
  59. data/_includes/components/theme-preview-gallery.html +23 -23
  60. data/_includes/content/giscus.html +2 -2
  61. data/_includes/content/intro.html +15 -8
  62. data/_includes/content/jsonld-faq.html +2 -2
  63. data/_includes/content/jsonld-software.html +2 -2
  64. data/_includes/content/seo.html +12 -4
  65. data/_includes/content/sitemap.html +247 -290
  66. data/_includes/content/toc.html +183 -183
  67. data/_includes/core/branding.html +13 -20
  68. data/_includes/core/console-capture.html +32 -74
  69. data/_includes/core/favicon.html +49 -7
  70. data/_includes/core/footer-fabs.html +17 -3
  71. data/_includes/core/footer.html +31 -18
  72. data/_includes/core/head.html +128 -92
  73. data/_includes/core/header.html +85 -54
  74. data/_includes/core/tokens-inline.html +16 -1
  75. data/_includes/docs/bootstrap-docs.html +8 -8
  76. data/_includes/landing/landing-install-cards.html +2 -2
  77. data/_includes/landing/landing-quick-links.html +1 -1
  78. data/_includes/navigation/admin-nav.html +2 -2
  79. data/_includes/navigation/nav-tree.html +8 -8
  80. data/_includes/navigation/navbar.html +21 -18
  81. data/_includes/navigation/section-sidebar.html +16 -16
  82. data/_includes/navigation/sidebar-config.html +36 -2
  83. data/_includes/navigation/sidebar-left.html +15 -15
  84. data/_includes/navigation/sidebar-right.html +6 -6
  85. data/_includes/obsidian/full-graph.html +2 -2
  86. data/_includes/setup/claude-session.html +72 -0
  87. data/_includes/setup/prereq-checklist.html +90 -0
  88. data/_includes/setup/wizard.html +910 -291
  89. data/_includes/stats/stats-categories.html +8 -8
  90. data/_includes/stats/stats-header.html +14 -14
  91. data/_includes/stats/stats-metrics.html +12 -12
  92. data/_includes/stats/stats-no-data.html +12 -12
  93. data/_includes/stats/stats-overview.html +6 -6
  94. data/_includes/stats/stats-tags.html +8 -8
  95. data/_layouts/404.html +38 -24
  96. data/_layouts/admin.html +22 -22
  97. data/_layouts/article.html +54 -37
  98. data/_layouts/author.html +20 -20
  99. data/_layouts/authors.html +2 -2
  100. data/_layouts/book-abc.html +12 -12
  101. data/_layouts/book-story.html +15 -15
  102. data/_layouts/book.html +12 -12
  103. data/_layouts/collection.html +33 -33
  104. data/_layouts/cookbook.html +12 -12
  105. data/_layouts/default.html +27 -24
  106. data/_layouts/home.html +36 -24
  107. data/_layouts/index.html +10 -10
  108. data/_layouts/landing.html +17 -17
  109. data/_layouts/news.html +44 -44
  110. data/_layouts/note.html +40 -39
  111. data/_layouts/notebook.html +36 -35
  112. data/_layouts/recipe.html +24 -24
  113. data/_layouts/root.html +95 -55
  114. data/_layouts/section.html +23 -23
  115. data/_layouts/setup.html +3 -3
  116. data/_layouts/sitemap-collection.html +49 -49
  117. data/_layouts/stats.html +40 -40
  118. data/_layouts/tag.html +12 -12
  119. data/_layouts/welcome.html +21 -21
  120. data/_sass/components/_cookie-banner.scss +48 -0
  121. data/_sass/components/_mermaid.scss +375 -0
  122. data/_sass/components/_setup-wizard.scss +588 -41
  123. data/_sass/components/_ui-enhancements.scss +11 -0
  124. data/_sass/core/_navbar.scss +147 -100
  125. data/_sass/core/_sidebar-extras.scss +2 -14
  126. data/_sass/core/code-copy.scss +27 -8
  127. data/_sass/layouts/_navbar-extras.scss +14 -4
  128. data/assets/css/extension-points-demo.css +27 -0
  129. data/assets/css/main.scss +1 -0
  130. data/assets/data/wiki-index.json +19 -0
  131. data/assets/js/ai-chat.js +47 -5
  132. data/assets/js/auto-hide-nav.js +53 -13
  133. data/assets/js/code-copy.js +72 -1
  134. data/assets/js/extension-points-demo.js +48 -0
  135. data/assets/js/fleet-feedback-capture.js +124 -0
  136. data/assets/js/fleet-feedback.js +853 -0
  137. data/assets/js/mermaid-diagrams.js +1373 -0
  138. data/assets/js/modules/navigation/config.js +9 -6
  139. data/assets/js/modules/navigation/scroll-spy.js +315 -80
  140. data/assets/js/modules/theme/appearance.js +8 -2
  141. data/assets/js/obsidian-local-graph.js +27 -5
  142. data/assets/js/obsidian-wiki-links.js +8 -3
  143. data/assets/js/page-feedback.js +125 -192
  144. data/assets/js/search-modal.js +26 -0
  145. data/assets/js/setup-wizard.js +2119 -363
  146. data/assets/js/site-builder.js +1834 -0
  147. data/assets/js/ui-enhancements.js +11 -3
  148. data/scripts/README.md +15 -0
  149. data/scripts/ai/README.md +38 -0
  150. data/scripts/ai/api_call.rb +124 -0
  151. data/scripts/ai/usage.rb +314 -0
  152. data/scripts/ai/usage_report.rb +225 -0
  153. data/scripts/ci/test_visual_evidence_autogen.py +403 -0
  154. data/scripts/ci/visual_evidence_autogen.py +1070 -0
  155. data/scripts/content-review.rb +20 -1
  156. data/scripts/features/install-preview-generator +1 -1
  157. data/scripts/lib/README.md +12 -0
  158. data/scripts/lib/preview_generator.py +2 -2
  159. data/scripts/test/integration/mermaid +22 -8
  160. data/scripts/test/lib/run_tests.sh +1 -0
  161. data/scripts/test/lib/test_visual_evidence_autogen.sh +24 -0
  162. data/scripts/translate.rb +23 -1
  163. metadata +21 -2
@@ -348,7 +348,26 @@ def check_quality(body, quality)
348
348
 
349
349
  # Bare URLs.
350
350
  if quality['flag_bare_urls']
351
- bare = strip_code_fences(body).scan(%r{(?<![("<\]])\bhttps?://[^\s)>\]]+}).reject { |u| u.include?('](') }
351
+ # Two sources of false positives this guards against:
352
+ # [http://x](http://x) — a CORRECT markdown link whose text is the URL.
353
+ # The lookbehind must exclude `[` too, or the link text is counted.
354
+ # <script>/<style> blocks and HTML attributes — pages that embed a config
355
+ # generator carry URLs in JS strings and markup, which are code, not prose.
356
+ # <code>http://…</code> — inline code in HTML syntax, which the markdown
357
+ # backtick form is already exempt from; the two should agree.
358
+ # Stripping markup in ONE pass leaves split or nested tags behind (CodeQL:
359
+ # incomplete multi-character sanitization). This is prose extraction for
360
+ # counting, never sanitization for output, but iterate to a fixpoint anyway
361
+ # so the result is exact. Each pass strictly shortens the string, so it
362
+ # terminates.
363
+ prose = strip_code_fences(body)
364
+ loop do
365
+ before = prose
366
+ prose = prose.gsub(%r{<(script|style|code|pre)\b[^>]*>.*?</\1\s*>}mi, ' ')
367
+ .gsub(/<[^<>]*>/, ' ')
368
+ break if prose == before
369
+ end
370
+ bare = prose.scan(%r{(?<![("<\[\]])\bhttps?://[^\s)>\]]+}).reject { |u| u.include?('](') }
352
371
  issues << Issue.new('info', 'quality', "#{bare.length} bare URL(s) — wrap as [text](url)") unless bare.empty?
353
372
  end
354
373
  issues
@@ -262,7 +262,7 @@ update_config() {
262
262
  preview_images:
263
263
  enabled: true
264
264
  provider: ${DEFAULT_PROVIDER} # renderer: openai, xai, stability, gemini, local
265
- model: "" # empty = renderer default (gpt-image-2, grok-2-image, ...)
265
+ model: "" # empty = renderer default (gpt-image-2, grok-imagine-image-2.0, ...)
266
266
  size: "1536x1024" # Landscape banner size
267
267
  quality: auto # auto for GPT Image; standard/hd for DALL-E 3
268
268
  style: "retro pixel art, 8-bit video game aesthetic, vibrant colors, nostalgic, clean pixel graphics"
@@ -153,6 +153,18 @@ publish_gem "1.2.0"
153
153
  create_github_release "1.2.0"
154
154
  ```
155
155
 
156
+ ### 🖼️ `preview_generator.py` - Preview Image Engine
157
+
158
+ The Python engine behind `scripts/generate-preview-images.sh`. Renderer defaults when `preview_images.model` is empty:
159
+
160
+ | provider | default model | credential |
161
+ | --- | --- | --- |
162
+ | `openai` (default) | `gpt-image-2` | `OPENAI_API_KEY` |
163
+ | `xai` | `grok-imagine-image-2.0` | `XAI_API_KEY` |
164
+ | `gemini` | `gemini-2.5-flash-image` | `GEMINI_API_KEY` |
165
+
166
+ Unit specs: `python3 test/test_preview_generator.py`.
167
+
156
168
  ## Testing
157
169
 
158
170
  Each library has comprehensive unit tests in `scripts/test/lib/`.
@@ -24,7 +24,7 @@ Architecture — Claude ORCHESTRATES, an image model RENDERS:
24
24
  -------- -------------------------------------- ----------------------------------
25
25
  openai gpt-image-2 / dall-e-3 (+ --enhance OPENAI_API_KEY
26
26
  (default) via /v1/images/edits)
27
- xai grok-2-image XAI_API_KEY
27
+ xai grok-imagine-image-2.0 XAI_API_KEY
28
28
  stability Stable Diffusion XL (v1 API) STABILITY_API_KEY
29
29
  gemini gemini-2.5-flash-image GEMINI_API_KEY
30
30
  local deterministic template SVG → PNG none (CI-safe; skips
@@ -1688,7 +1688,7 @@ class XAIProvider(Provider):
1688
1688
  return "XAI_API_KEY environment variable is required for the xAI provider"
1689
1689
 
1690
1690
  def default_model(self) -> str:
1691
- return "grok-2-image"
1691
+ return "grok-imagine-image-2.0"
1692
1692
 
1693
1693
  def generate(self, prompt, settings, out_base, ctx) -> ImageResult:
1694
1694
  model = effective_model(settings, self)
@@ -142,15 +142,16 @@ test_mermaid_init() {
142
142
  local url="$1"
143
143
  local description="$2"
144
144
 
145
- run_test "$description" "curl -s '$url' | grep -q 'mermaid.initialize'"
145
+ run_test "$description" "curl -s '$url' | grep -q 'mermaid-diagrams.js'"
146
146
  }
147
147
 
148
- # Test diagram rendering
148
+ # Test diagram presence (a ```mermaid fence is served as code.language-mermaid;
149
+ # the deferred script turns it into a figure in the browser)
149
150
  test_diagram_rendering() {
150
151
  local url="$1"
151
152
  local description="$2"
152
-
153
- run_test "$description" "curl -s '$url' | grep -q 'class=\"mermaid\"'"
153
+
154
+ run_test "$description" "curl -s '$url' | grep -q 'language-mermaid'"
154
155
  }
155
156
 
156
157
  # Main test execution
@@ -179,16 +180,29 @@ main() {
179
180
  # Mermaid include file tests
180
181
  log_info "Testing Mermaid include file..."
181
182
 
182
- test_file_content "_includes/components/mermaid.html" "site.mermaid.src" "Mermaid script from _config (local vendor path)"
183
- test_file_content "_includes/components/mermaid.html" "mermaid.initialize" "Mermaid initialization script"
184
- test_file_content "_includes/components/mermaid.html" "data-bs-theme" "Bootstrap theme detection configured"
185
- test_file_content "_includes/components/mermaid.html" "getMermaidConfig" "Adaptive light/dark theming configured"
183
+ test_file_content "_includes/components/mermaid.html" "mm.src" "Mermaid script from _config (local vendor path)"
184
+ test_file_content "_includes/components/mermaid.html" "mermaidConfig" "Diagram config block emitted for the behaviour script"
185
+ test_file_content "_includes/components/mermaid.html" "mermaid-diagrams.js" "Behaviour script loaded after the vendor bundle"
186
+ test_file_content "_includes/components/mermaid.html" "defer" "Scripts are deferred (never block parsing)"
187
+
188
+ # Behaviour script (assets/js/mermaid-diagrams.js)
189
+ log_info "Testing diagram behaviour script..."
190
+
191
+ test_file_exists "assets/js/mermaid-diagrams.js" "Diagram behaviour script exists"
192
+ test_file_content "assets/js/mermaid-diagrams.js" "mermaid.initialize" "Mermaid initialization"
193
+ test_file_content "assets/js/mermaid-diagrams.js" "data-bs-theme" "Colour-mode change observed for re-render"
194
+ test_file_content "assets/js/mermaid-diagrams.js" "data-theme-skin" "Skin change observed for re-render"
195
+ test_file_content "assets/js/mermaid-diagrams.js" "themeVariables" "Palette derived into Mermaid theme variables"
196
+ test_file_content "assets/js/mermaid-diagrams.js" "zer0Mermaid" "Public API exposed"
197
+ test_file_exists "_sass/components/_mermaid.scss" "Diagram figure styles exist"
198
+ test_file_content "assets/css/main.scss" "components/mermaid" "Diagram styles imported by the stylesheet manifest"
186
199
 
187
200
  # Documentation tests
188
201
  log_info "Testing documentation..."
189
202
 
190
203
  test_file_content "pages/_docs/features/mermaid-diagrams.md" "mermaid: true" "Main docs have front matter"
191
204
  test_file_content "pages/_docs/features/mermaid-diagrams.md" "graph TD" "Main docs have examples"
205
+ test_file_content "pages/_docs/features/mermaid-diagrams.md" "accTitle" "Main docs cover accessible captions"
192
206
 
193
207
  # Server tests (if not quick mode)
194
208
  if [ "$QUICK" = false ]; then
@@ -132,6 +132,7 @@ main() {
132
132
  source "$TEST_DIR/test_pixelate_images.sh"
133
133
  source "$TEST_DIR/test_content_review.sh"
134
134
  source "$TEST_DIR/test_agent_review_result.sh"
135
+ source "$TEST_DIR/test_visual_evidence_autogen.sh"
135
136
 
136
137
  # Summary
137
138
  echo -e "\n${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
@@ -0,0 +1,24 @@
1
+ #!/bin/bash
2
+
3
+ # Bridge for scripts/ci/test_visual_evidence_autogen.py (ZER0-085).
4
+ #
5
+ # The planner/decider behind visual-evidence-autogen.yml lives in
6
+ # scripts/ci/visual_evidence_autogen.py, next to the other CI helpers, and its
7
+ # tests are Python beside it. This wrapper puts them on the CI path: run_tests.sh
8
+ # sources this file, and ./scripts/bin/test runs run_tests.sh on every PR — the
9
+ # same arrangement as test_agent_review_result.sh, for the same reason (a test
10
+ # suite no runner invokes rots silently).
11
+
12
+ VEA_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
13
+
14
+ print_suite_header "Visual-evidence autogen planner (scripts/ci/visual_evidence_autogen.py)"
15
+
16
+ if command -v python3 >/dev/null 2>&1; then
17
+ vea_output="$(python3 "$VEA_ROOT/scripts/ci/test_visual_evidence_autogen.py" 2>&1)"
18
+ vea_status=$?
19
+ echo "$vea_output"
20
+ assert_equals "0" "$vea_status" \
21
+ "scripts/ci/test_visual_evidence_autogen.py passes (plan/decide/contract guards)"
22
+ else
23
+ echo "python3 not available — skipping the visual-evidence autogen tests"
24
+ fi
data/scripts/translate.rb CHANGED
@@ -170,8 +170,30 @@ module Zer0Translate
170
170
  masked
171
171
  end
172
172
 
173
+ # A masked span can carry a placeholder minted by an earlier pattern: a
174
+ # Liquid expression inside a link destination (`](⟦3⟧)`), or inside an
175
+ # inline code span (`` `⟦8⟧` ``). `gsub` never rescans its own replacement
176
+ # text, so one pass restores the outer span and strands the inner token as
177
+ # a literal ⟦N⟧ in the published page. Substitute until the text stops
178
+ # changing — nesting can only run as deep as the pattern list is long — and
179
+ # refuse to hand back anything still holding a placeholder, so a corrupt
180
+ # page fails its job instead of shipping.
173
181
  def unmask(text)
174
- text.gsub(PLACEHOLDER_RE) { |token| @map.fetch(token, token) }
182
+ result = text
183
+ (INLINE_PATTERNS.length + 1).times do
184
+ expanded = result.gsub(PLACEHOLDER_RE) { |token| @map.fetch(token, token) }
185
+ break if expanded == result
186
+
187
+ result = expanded
188
+ end
189
+
190
+ leftover = result.scan(PLACEHOLDER_RE).uniq
191
+ unless leftover.empty?
192
+ raise Translator::TranslationError,
193
+ "unresolved placeholder(s) #{leftover.join(', ')} after unmasking"
194
+ end
195
+
196
+ result
175
197
  end
176
198
  end
177
199
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-zer0
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.0
4
+ version: 1.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amr Abdel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-01 00:00:00.000000000 Z
11
+ date: 2026-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -79,6 +79,7 @@ files:
79
79
  - README.md
80
80
  - _data/README.md
81
81
  - _data/ai.yml
82
+ - _data/ai_pricing.yml
82
83
  - _data/authors.yml
83
84
  - _data/backlog.yml
84
85
  - _data/consumers.yml
@@ -109,6 +110,7 @@ files:
109
110
  - _data/roadmap_plan.yml
110
111
  - _data/routing.yml
111
112
  - _data/series.yml
113
+ - _data/site_builder.yml
112
114
  - _data/statistics_config.yml
113
115
  - _data/theme-manifest.yml
114
116
  - _data/theme_backgrounds.yml
@@ -131,6 +133,7 @@ files:
131
133
  - _includes/components/author-card.html
132
134
  - _includes/components/author-eeat.html
133
135
  - _includes/components/background-customizer.html
136
+ - _includes/components/background-image.html
134
137
  - _includes/components/background-settings.html
135
138
  - _includes/components/book-card.html
136
139
  - _includes/components/book-nav.html
@@ -242,6 +245,8 @@ files:
242
245
  - _includes/navigation/unified-drawer.html
243
246
  - _includes/obsidian/full-graph.html
244
247
  - _includes/search-data.json
248
+ - _includes/setup/claude-session.html
249
+ - _includes/setup/prereq-checklist.html
245
250
  - _includes/setup/wizard.html
246
251
  - _includes/stats/README.md
247
252
  - _includes/stats/stats-categories.html
@@ -290,6 +295,7 @@ files:
290
295
  - _sass/components/_content-tables.scss
291
296
  - _sass/components/_cookie-banner.scss
292
297
  - _sass/components/_footer.scss
298
+ - _sass/components/_mermaid.scss
293
299
  - _sass/components/_notes-index.scss
294
300
  - _sass/components/_notes.scss
295
301
  - _sass/components/_page-feedback.scss
@@ -339,6 +345,7 @@ files:
339
345
  - _sass/utilities/_layout.scss
340
346
  - _sass/utilities/_motion.scss
341
347
  - assets/css/custom.css
348
+ - assets/css/extension-points-demo.css
342
349
  - assets/css/main.scss
343
350
  - assets/css/stats.css
344
351
  - assets/css/theme-npm-entry.scss
@@ -356,7 +363,11 @@ files:
356
363
  - assets/js/code-copy.js
357
364
  - assets/js/config-utility.js
358
365
  - assets/js/docs.min.js
366
+ - assets/js/extension-points-demo.js
367
+ - assets/js/fleet-feedback-capture.js
368
+ - assets/js/fleet-feedback.js
359
369
  - assets/js/halfmoon.js
370
+ - assets/js/mermaid-diagrams.js
360
371
  - assets/js/modules/navigation/config.js
361
372
  - assets/js/modules/navigation/focus.js
362
373
  - assets/js/modules/navigation/gestures.js
@@ -388,6 +399,7 @@ files:
388
399
  - assets/js/setup-wizard.js
389
400
  - assets/js/share-actions.js
390
401
  - assets/js/side-bar-folders.js
402
+ - assets/js/site-builder.js
391
403
  - assets/js/skin-editor.js
392
404
  - assets/js/stats.js
393
405
  - assets/js/table-copy.js
@@ -433,6 +445,10 @@ files:
433
445
  - assets/vendor/mathjax/es5/tex-mml-chtml.js
434
446
  - assets/vendor/mermaid/mermaid.min.js
435
447
  - scripts/README.md
448
+ - scripts/ai/README.md
449
+ - scripts/ai/api_call.rb
450
+ - scripts/ai/usage.rb
451
+ - scripts/ai/usage_report.rb
436
452
  - scripts/analyze-commits.sh
437
453
  - scripts/bin/audit-consumer
438
454
  - scripts/bin/build
@@ -447,6 +463,8 @@ files:
447
463
  - scripts/ci/agent_review_result.py
448
464
  - scripts/ci/classify_changes.py
449
465
  - scripts/ci/test_agent_review_result.py
466
+ - scripts/ci/test_visual_evidence_autogen.py
467
+ - scripts/ci/visual_evidence_autogen.py
450
468
  - scripts/content-review.rb
451
469
  - scripts/convert-notebooks.sh
452
470
  - scripts/design-system-check.rb
@@ -588,6 +606,7 @@ files:
588
606
  - scripts/test/lib/test_pixelate_images.sh
589
607
  - scripts/test/lib/test_validation.sh
590
608
  - scripts/test/lib/test_version.sh
609
+ - scripts/test/lib/test_visual_evidence_autogen.sh
591
610
  - scripts/test/theme/validate
592
611
  - scripts/translate.rb
593
612
  - scripts/update-preview-paths.sh