jekyll-theme-zer0 1.25.0 → 1.26.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ffe866835e858107f670f29086f904914d21bf1159d8c6eb3cbd138f79caf64
4
- data.tar.gz: d26f27d6460136cc9f2da67da26523721b52b0e7525e0811498910215e2f29e2
3
+ metadata.gz: af7de9769f05880ab652483a7ff6109e79d04ff6404c71163822ce4cecac3d23
4
+ data.tar.gz: 7c968f45cbba4655ad0eb5aa25a55e7b5f178957d65036d47236ba7809592733
5
5
  SHA512:
6
- metadata.gz: 50038606f12260b1382fceee13299e6f8a9ca0b08b00ba18e285ed88ee762fd425e853d6fde39e8c9f72f8b345f841b04b29a3e4b095a89c36f01dc4d267d036
7
- data.tar.gz: e2e2764ca02d2d10250c768beb66ca7b7ba44c60b22e1852f3993f245080b5b2d3ad532245b33e394a078ae912cc60b28b33ee9fb23403194a1e75183841d925
6
+ metadata.gz: 3ec2a5423346be22b17120fc586396501218877b70373eae7df03395b4b91211e8d03cf45d79ec71ad717344eae248b967dd5e810092cbf045f0d796ffad1c61
7
+ data.tar.gz: 55ec85fa55c7ca9c918413e16c86d3a275301a0282a989039face47fad9b9e3dc27f5fcda6ff7eb5e74faf0a557e8307c43a059e2e2bd1ebf8df011e46e82b9c
data/CHANGELOG.md CHANGED
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.26.0](https://github.com/bamr87/zer0-mistakes/compare/v1.25.0...v1.26.0) (2026-07-07)
9
+
10
+
11
+ ### Features
12
+
13
+ * **feedback:** runtime "Improve this page" capture → GitHub issue (logs + AI triage) ([#286](https://github.com/bamr87/zer0-mistakes/issues/286)) ([f7fb20d](https://github.com/bamr87/zer0-mistakes/commit/f7fb20df74c22df7eb823344121c60617f06c7b6))
14
+
15
+ ## [Unreleased]
16
+
17
+ ### Changed
18
+
19
+ - **CI test tiering** — the PR-blocking Playwright gate is now the new
20
+ `critical` project (118 `@critical`-tagged, user-facing tests: navigation,
21
+ search, mobile survival, theming baseline, security) instead of the full
22
+ 331-test `smoke` tier; the full smoke tier, the complete shell-suite
23
+ matrix, and the 9-skin pixel snapshots moved to a nightly workflow
24
+ (`nightly-extended.yml`) that files a sticky issue on failure instead of
25
+ blocking PRs. Install/deploy/site-generation shell suites run on PRs only
26
+ when install-related paths change (always nightly).
27
+
28
+ ### Added
29
+
30
+ - **Weekly agentic UI/UX audit** (`ui-audit.yml`) — a deterministic
31
+ Playwright sweep (`test/ui-audit/sweep.mjs`: screenshots, axe WCAG 2.1 AA,
32
+ console errors, overflow, broken internal links across critical routes ×
33
+ 3 viewports) interpreted by a read-only Claude Code agent
34
+ (`.claude/agents/ui-auditor.md`) against the component contract in
35
+ `docs/architecture/ui-components.md`; findings are filed as a
36
+ `source:ui-audit` issue feeding the continuous-evolution loop.
37
+
8
38
  ## [1.25.0](https://github.com/bamr87/zer0-mistakes/compare/v1.24.0...v1.25.0) (2026-07-03)
9
39
 
10
40
 
data/README.md CHANGED
@@ -655,7 +655,7 @@ git commit -m "feat: add new component"
655
655
  # Docker-specific tests
656
656
  ./test/test_deployment.sh
657
657
 
658
- # Frontend smoke tests (Playwright; starts Jekyll on :4011 unless BASE_URL is set)
658
+ # Frontend smoke tests (Playwright; starts Jekyll on :4000 unless BASE_URL is set)
659
659
  npm run test:smoke
660
660
  # Pixel regression (skin homepage screenshots; baselines committed for Linux)
661
661
  npm run test:snapshots
data/_data/backlog.yml CHANGED
@@ -63,7 +63,7 @@
63
63
  meta:
64
64
  title: "zer0-mistakes Backlog"
65
65
  updated: 2026-06-29
66
- next_id: 33
66
+ next_id: 34
67
67
 
68
68
  tasks:
69
69
  # --- Housekeeping (seeded so the loop has work on day one) ------------------
@@ -863,3 +863,28 @@ tasks:
863
863
  links: { issue: 241, pr: 253, roadmap: null }
864
864
  created: 2026-06-29
865
865
  updated: 2026-06-29
866
+
867
+ - id: T-033
868
+ title: "Retire legacy test_installation.sh after equivalence audit against the installer harness"
869
+ status: open
870
+ priority: P2
871
+ area: tests
872
+ risk: standard
873
+ effort: M
874
+ source: user
875
+ route: test-author
876
+ summary: >-
877
+ test_installation.sh (~1,000 lines, "legacy install.sh CLI args") predates the
878
+ modern test_installer.sh + test_install_*.sh harness and largely overlaps it.
879
+ Audit each of its scenarios against the harness, port anything genuinely
880
+ uncovered into test_install_*.sh, then delete the legacy suite and remove the
881
+ `installation` routing from test_runner.sh, ci.yml, and nightly-extended.yml.
882
+ Until then it runs nightly and on install-path PRs only (2026-07 CI tiering).
883
+ acceptance:
884
+ - "Every test_installation.sh scenario is mapped to a harness equivalent or ported."
885
+ - "test_installation.sh deleted; test_runner.sh no longer routes an `installation` suite."
886
+ - "ci.yml and nightly-extended.yml suite lists updated; docs (test/README.md) updated."
887
+ - "Nightly extended run green after removal."
888
+ links: { issue: null, pr: null, roadmap: null }
889
+ created: 2026-07-06
890
+ updated: 2026-07-06
data/_data/features.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  # zer0-mistakes Theme Features Registry
2
2
  # Comprehensive feature tracking for the zer0-mistakes Jekyll theme
3
- # Version: 1.24.0
4
- # Last Updated: 2026-06-30
3
+ # Version: 1.25.0
4
+ # Last Updated: 2026-07-03
5
5
 
6
6
  features:
7
7
  # ============================================================================
@@ -23,8 +23,8 @@ features:
23
23
  commit: "a8426a5"
24
24
  issue: null
25
25
  tests:
26
- - "test/visual/component-showcase.spec.js"
27
- - "test/visual/styling.spec.js"
26
+ - "test/visual/features/component-showcase.spec.js"
27
+ - "test/visual/core/styling.spec.js"
28
28
  references:
29
29
  layouts: ["_layouts/root.html", "_layouts/default.html"]
30
30
  includes: ["_includes/core/head.html"]
@@ -216,7 +216,7 @@ features:
216
216
  issue: null
217
217
  tests:
218
218
  - "test/test_quality.sh"
219
- - "test/visual/security.spec.js"
219
+ - "test/visual/core/security.spec.js"
220
220
  references:
221
221
  include: "_includes/analytics/posthog.html"
222
222
  config: "_config.yml"
@@ -277,7 +277,7 @@ features:
277
277
  commit: "0ea51c6"
278
278
  issue: null
279
279
  tests:
280
- - "test/visual/interactions.spec.js"
280
+ - "test/visual/features/sidebar-navigation.spec.js"
281
281
  references:
282
282
  javascript:
283
283
  - "assets/js/modules/navigation/sidebar-state.js"
@@ -317,8 +317,8 @@ features:
317
317
  commit: "0ea51c6"
318
318
  issue: null
319
319
  tests:
320
- - "test/visual/feature-coverage.spec.js"
321
- - "test/visual/accessibility.spec.js"
320
+ - "test/visual/features/layouts.spec.js"
321
+ - "test/visual/core/accessibility.spec.js"
322
322
  references:
323
323
  javascript:
324
324
  - "assets/js/modules/navigation/keyboard.js"
@@ -351,8 +351,7 @@ features:
351
351
  commit: "0ea51c6"
352
352
  issue: null
353
353
  tests:
354
- - "test/visual/feature-coverage.spec.js"
355
- - "test/visual/ui-refresh.spec.js"
354
+ - "test/visual/features/content-enhancements.spec.js"
356
355
  references:
357
356
  include: "_includes/navigation/sidebar-right.html"
358
357
  styles: "_sass/custom.scss"
@@ -379,7 +378,7 @@ features:
379
378
  commit: "0ea51c6"
380
379
  issue: null
381
380
  tests:
382
- - "test/visual/accessibility.spec.js"
381
+ - "test/visual/core/accessibility.spec.js"
383
382
  references:
384
383
  include: "_includes/core/header.html"
385
384
  styles: "_sass/custom.scss"
@@ -621,7 +620,7 @@ features:
621
620
  commit: "a8426a5"
622
621
  issue: null
623
622
  tests:
624
- - "test/visual/layouts.spec.js"
623
+ - "test/visual/features/layouts.spec.js"
625
624
  references:
626
625
  layouts:
627
626
  - "_layouts/root.html"
@@ -667,7 +666,7 @@ features:
667
666
  commit: "a8426a5"
668
667
  issue: null
669
668
  tests:
670
- - "test/visual/component-showcase.spec.js"
669
+ - "test/visual/features/component-showcase.spec.js"
671
670
  references:
672
671
  includes:
673
672
  - "_includes/core/"
@@ -932,7 +931,7 @@ features:
932
931
  commit: "a8426a5"
933
932
  issue: null
934
933
  tests:
935
- - "test/visual/feature-coverage.spec.js"
934
+ - "test/visual/features/content-enhancements.spec.js"
936
935
  references:
937
936
  scripts:
938
937
  - "assets/js/back-to-top.js"
@@ -957,7 +956,7 @@ features:
957
956
  commit: "a8426a5"
958
957
  issue: null
959
958
  tests:
960
- - "test/visual/feature-coverage.spec.js"
959
+ - "test/visual/features/content-enhancements.spec.js"
961
960
  references:
962
961
  scripts:
963
962
  - "assets/js/code-copy.js"
@@ -983,7 +982,7 @@ features:
983
982
  commit: "55bee97"
984
983
  issue: null
985
984
  tests:
986
- - "test/visual/color-mode-default.spec.js"
985
+ - "test/visual/features/appearance.spec.js"
987
986
  references:
988
987
  scripts:
989
988
  - "assets/js/modules/theme/appearance.js"
@@ -1015,8 +1014,7 @@ features:
1015
1014
  commit: "21eb458"
1016
1015
  issue: null
1017
1016
  tests:
1018
- - "test/visual/search.spec.js"
1019
- - "test/visual/search-degradation.spec.js"
1017
+ - "test/visual/features/search.spec.js"
1020
1018
  references:
1021
1019
  scripts:
1022
1020
  - "assets/js/search-modal.js"
@@ -1048,7 +1046,7 @@ features:
1048
1046
  commit: "a8426a5"
1049
1047
  issue: null
1050
1048
  tests:
1051
- - "test/visual/feature-coverage.spec.js"
1049
+ - "test/visual/features/navbar.spec.js"
1052
1050
  references:
1053
1051
  scripts:
1054
1052
  - "assets/js/auto-hide-nav.js"
@@ -1073,7 +1071,7 @@ features:
1073
1071
  commit: "a8426a5"
1074
1072
  issue: null
1075
1073
  tests:
1076
- - "test/visual/backgrounds.spec.js"
1074
+ - "test/visual/features/appearance.spec.js"
1077
1075
  references:
1078
1076
  scripts:
1079
1077
  - "assets/js/particles.js"
@@ -1105,7 +1103,7 @@ features:
1105
1103
  commit: "a8426a5"
1106
1104
  issue: null
1107
1105
  tests:
1108
- - "test/visual/giscus-comments.spec.js"
1106
+ - "test/visual/features/comments.spec.js"
1109
1107
  references:
1110
1108
  includes:
1111
1109
  - "_includes/content/giscus.html"
@@ -1140,7 +1138,7 @@ features:
1140
1138
  commit: "31f827e"
1141
1139
  issue: null
1142
1140
  tests:
1143
- - "test/visual/feature-coverage.spec.js"
1141
+ - "test/visual/features/content-enhancements.spec.js"
1144
1142
  references:
1145
1143
  docs:
1146
1144
  - "pages/_docs/features/mathjax-math.md"
@@ -1165,8 +1163,7 @@ features:
1165
1163
  commit: "a8426a5"
1166
1164
  issue: null
1167
1165
  tests:
1168
- - "test/visual/feature-coverage.spec.js"
1169
- - "test/visual/ui-refresh.spec.js"
1166
+ - "test/visual/features/content-enhancements.spec.js"
1170
1167
  references:
1171
1168
  includes:
1172
1169
  - "_includes/content/toc.html"
@@ -1251,8 +1248,8 @@ features:
1251
1248
  commit: "a8426a5"
1252
1249
  issue: null
1253
1250
  tests:
1254
- - "test/visual/layouts.spec.js"
1255
- - "test/visual/authors-breadcrumb-degradation.spec.js"
1251
+ - "test/visual/features/layouts.spec.js"
1252
+ - "test/visual/features/authors.spec.js"
1256
1253
  references:
1257
1254
  includes:
1258
1255
  - "_includes/navigation/breadcrumbs.html"
@@ -1421,7 +1418,7 @@ features:
1421
1418
  issue: null
1422
1419
  tests:
1423
1420
  - "test/test_obsidian.sh"
1424
- - "test/visual/obsidian-callouts.spec.js"
1421
+ - "test/visual/features/obsidian-callouts.spec.js"
1425
1422
  references:
1426
1423
  includes:
1427
1424
  - "_includes/obsidian/full-graph.html"
@@ -1471,7 +1468,7 @@ features:
1471
1468
  issue: null
1472
1469
  tests:
1473
1470
  - "test/test_core.sh"
1474
- - "test/visual/layouts.spec.js"
1471
+ - "test/visual/features/layouts.spec.js"
1475
1472
  references:
1476
1473
  page: "404.html"
1477
1474
  docs: "pages/_docs/features/smart-404.md"
@@ -1512,8 +1509,7 @@ features:
1512
1509
  commit: "a8426a5"
1513
1510
  issue: null
1514
1511
  tests:
1515
- - "test/visual/ui-refresh.spec.js"
1516
- - "test/visual/navbar-responsive.spec.js"
1512
+ - "test/visual/features/navbar.spec.js"
1517
1513
  references:
1518
1514
  includes:
1519
1515
  - "_includes/navigation/navbar.html"
@@ -1533,8 +1529,7 @@ features:
1533
1529
  commit: "27550da"
1534
1530
  issue: null
1535
1531
  tests:
1536
- - "test/visual/admin-layout.spec.js"
1537
- - "test/visual/admin-nav.spec.js"
1532
+ - "test/visual/features/admin.spec.js"
1538
1533
  references:
1539
1534
  layout: "_layouts/admin.html"
1540
1535
  includes:
@@ -1645,8 +1640,7 @@ features:
1645
1640
  commit: "5533f34"
1646
1641
  issue: null
1647
1642
  tests:
1648
- - "test/visual/navbar-responsive.spec.js"
1649
- - "test/visual/ui-refresh.spec.js"
1643
+ - "test/visual/features/navbar.spec.js"
1650
1644
  references:
1651
1645
  scripts:
1652
1646
  - "assets/js/modules/"
@@ -1753,7 +1747,7 @@ features:
1753
1747
  commit: "341cc67"
1754
1748
  issue: null
1755
1749
  tests:
1756
- - "test/visual/ai-chat.spec.js"
1750
+ - "test/visual/features/ai-chat.spec.js"
1757
1751
  references:
1758
1752
  includes: ["_includes/components/ai-chat.html"]
1759
1753
  layouts: ["_layouts/root.html"]
@@ -1780,7 +1774,7 @@ features:
1780
1774
  commit: "a6db3042"
1781
1775
  issue: null
1782
1776
  tests:
1783
- - "test/visual/authors-breadcrumb-degradation.spec.js"
1777
+ - "test/visual/features/authors.spec.js"
1784
1778
  references:
1785
1779
  plugin: "_plugins/author_pages_generator.rb"
1786
1780
  layouts:
@@ -1805,7 +1799,7 @@ features:
1805
1799
  commit: "53132416"
1806
1800
  issue: null
1807
1801
  tests:
1808
- - "test/visual/layouts.spec.js"
1802
+ - "test/visual/features/layouts.spec.js"
1809
1803
  references:
1810
1804
  layout: "_layouts/news.html"
1811
1805
 
@@ -1824,8 +1818,8 @@ features:
1824
1818
  commit: "06691f93"
1825
1819
  issue: null
1826
1820
  tests:
1827
- - "test/visual/section-sidebar-tags-gate.spec.js"
1828
- - "test/visual/layouts.spec.js"
1821
+ - "test/visual/features/sidebar-navigation.spec.js"
1822
+ - "test/visual/features/layouts.spec.js"
1829
1823
  references:
1830
1824
  layout: "_layouts/section.html"
1831
1825
 
@@ -1844,7 +1838,7 @@ features:
1844
1838
  commit: "06691f93"
1845
1839
  issue: null
1846
1840
  tests:
1847
- - "test/visual/layouts.spec.js"
1841
+ - "test/visual/features/layouts.spec.js"
1848
1842
  references:
1849
1843
  layout: "_layouts/article.html"
1850
1844
  include: "_includes/components/post-type-badge.html"
@@ -1864,9 +1858,8 @@ features:
1864
1858
  commit: "27550dac"
1865
1859
  issue: null
1866
1860
  tests:
1867
- - "test/visual/skins.spec.js"
1868
- - "test/visual/backgrounds.spec.js"
1869
- - "test/visual/theme-colors.spec.js"
1861
+ - "test/visual/features/appearance.spec.js"
1862
+ - "test/visual/features/appearance-snapshot.spec.js"
1870
1863
  references:
1871
1864
  scripts:
1872
1865
  - "assets/js/background-customizer.js"
@@ -1999,7 +1992,7 @@ features:
1999
1992
  commit: "7ba0f834"
2000
1993
  issue: null
2001
1994
  tests:
2002
- - "test/visual/component-showcase.spec.js"
1995
+ - "test/visual/features/component-showcase.spec.js"
2003
1996
  references:
2004
1997
  include: "_includes/components/component-showcase.html"
2005
1998
 
@@ -2125,7 +2118,7 @@ features:
2125
2118
  commit: "3b951604"
2126
2119
  issue: null
2127
2120
  tests:
2128
- - "test/visual/settings-panel.spec.js"
2121
+ - "test/visual/features/settings-panel.spec.js"
2129
2122
  references:
2130
2123
  includes:
2131
2124
  - "_includes/components/info-section.html"
@@ -0,0 +1,148 @@
1
+ # _data/feedback_types.yml
2
+ #
3
+ # Request types for the page-feedback capture widget:
4
+ # _includes/components/page-feedback.html + assets/js/page-feedback.js
5
+ #
6
+ # This REPLACES the build-time "Copilot Agent" dropdown that baked
7
+ # _data/prompts.yml into every <a href> at build time. The widget now injects
8
+ # this list as JSON and assembles the GitHub issue at RUNTIME, so it can also
9
+ # attach live page context and a captured console-log buffer — things a
10
+ # build-time Liquid link can never see.
11
+ #
12
+ # ─── Schema (per entry) ──────────────────────────────────────────────────────
13
+ # id unique slug — used in the issue title tag ([id]) and analytics
14
+ # label short text shown in the type selector
15
+ # icon Bootstrap Icons class (https://icons.getbootstrap.com/)
16
+ # group section header in the selector ("This page" | "The site")
17
+ # scope page | site — targets this page, or the theme as a whole
18
+ # description one-line helper shown under the label
19
+ # labels GitHub labels applied to the issue. MUST already exist in the
20
+ # repo: GitHub SILENTLY DROPS unknown labels from a prefilled URL
21
+ # (this was the old feature's `labels=ai-agent` bug). Verify with
22
+ # `gh label list`. The marker label from
23
+ # site.page_feedback.default_labels is added on top of these.
24
+ # agent true → assign @copilot and attach `directive` for autonomous work
25
+ # false → human triage only (no assignee, no directive)
26
+ # directive compact agent instruction. Kept SHORT on purpose — it rides in
27
+ # the prefilled issue URL, and long bodies blow the URL-length
28
+ # budget. The full context table + logs are added by the widget.
29
+ # placeholder textarea placeholder tailored to this request type
30
+ # ─────────────────────────────────────────────────────────────────────────────
31
+
32
+ # ─── This page — scoped to the page the widget was opened from ───────────────
33
+
34
+ - id: fix-page
35
+ label: Report a problem
36
+ icon: bi-bug
37
+ group: This page
38
+ scope: page
39
+ description: A typo, broken link, wrong information, or something rendering badly
40
+ labels: [bug]
41
+ agent: true
42
+ directive: >-
43
+ Reproduce and fix the reported defect on the page identified in Page
44
+ Context. Keep the change minimal and surgical; verify with a Jekyll build.
45
+ placeholder: What is wrong, where on the page, and what did you expect instead?
46
+
47
+ - id: improve-page
48
+ label: Improve this page
49
+ icon: bi-stars
50
+ group: This page
51
+ scope: page
52
+ description: Polish the copy, structure, or presentation
53
+ labels: [enhancement, "area:docs"]
54
+ agent: true
55
+ directive: >-
56
+ Act as a content editor for the page in Page Context. Tighten copy, fix
57
+ grammar, improve heading hierarchy and visual rhythm — without changing the
58
+ core message or breaking links.
59
+ placeholder: What would make this page clearer, tighter, or more useful?
60
+
61
+ - id: expand-page
62
+ label: Add missing detail
63
+ icon: bi-arrows-angle-expand
64
+ group: This page
65
+ scope: page
66
+ description: Add depth, examples, or a section a reader would expect
67
+ labels: [enhancement, "area:docs"]
68
+ agent: true
69
+ directive: >-
70
+ Expand the page in Page Context with concrete examples, prerequisites, and
71
+ any expected-but-missing sections. Preserve tone and front matter.
72
+ placeholder: What is missing? Which examples or sections would help?
73
+
74
+ - id: update-page
75
+ label: Flag outdated content
76
+ icon: bi-arrow-clockwise
77
+ group: This page
78
+ scope: page
79
+ description: Stale versions, dead links, or old screenshots
80
+ labels: [documentation, "area:docs"]
81
+ agent: true
82
+ directive: >-
83
+ Audit the page in Page Context for stale versions, dead links, and outdated
84
+ screenshots; refresh them and bump `lastmod`.
85
+ placeholder: What is out of date? Paste the stale value or link if you can.
86
+
87
+ - id: accessibility
88
+ label: Accessibility issue
89
+ icon: bi-universal-access
90
+ group: This page
91
+ scope: page
92
+ description: Contrast, keyboard, screen-reader, or focus problems
93
+ labels: ["area:a11y"]
94
+ agent: true
95
+ directive: >-
96
+ Audit the page in Page Context against WCAG 2.1 AA for the reported barrier
97
+ (contrast, keyboard, focus, ARIA, alt text) and propose concrete fixes.
98
+ placeholder: What barrier did you hit? Which assistive tech or input method?
99
+
100
+ # ─── The site — theme-wide UI, components, features, performance ──────────────
101
+
102
+ - id: ui-ux
103
+ label: UI / UX improvement
104
+ icon: bi-palette
105
+ group: The site
106
+ scope: site
107
+ description: A design or usability refinement for the theme
108
+ labels: [enhancement, "area:feat"]
109
+ agent: true
110
+ directive: >-
111
+ Propose a Bootstrap-first UI/UX refinement, using the page in Page Context
112
+ as the starting example. Cover responsive behaviour, dark mode, and a11y.
113
+ placeholder: What feels off, and how might it look or behave instead?
114
+
115
+ - id: performance
116
+ label: Performance
117
+ icon: bi-speedometer2
118
+ group: The site
119
+ scope: site
120
+ description: Slow load, layout shift, or heavy assets
121
+ labels: ["area:perf"]
122
+ agent: true
123
+ directive: >-
124
+ Profile the page in Page Context (LCP, CLS, INP), identify the bottleneck,
125
+ and propose GitHub Pages-safe fixes.
126
+ placeholder: What felt slow? On what device / connection?
127
+
128
+ - id: feature
129
+ label: Feature request
130
+ icon: bi-lightbulb
131
+ group: The site
132
+ scope: site
133
+ description: Propose a new site-wide capability
134
+ labels: [enhancement, "area:feat"]
135
+ agent: false
136
+ directive: ""
137
+ placeholder: What should it do, and who benefits?
138
+
139
+ - id: question
140
+ label: Ask a question
141
+ icon: bi-question-circle
142
+ group: The site
143
+ scope: site
144
+ description: Something unclear — not necessarily a bug
145
+ labels: [question]
146
+ agent: false
147
+ directive: ""
148
+ placeholder: What are you trying to do, and where did you get stuck?
@@ -74,7 +74,7 @@
74
74
  # - The theme also clips stray horizontal page overflow at the root, so an
75
75
  # over-stuffed nav or wide content can never make the fixed navbar look "cut
76
76
  # off". Wide tables/code keep their own local scroll. Regression-guarded by
77
- # test/visual/navbar-responsive.spec.js.
77
+ # test/visual/features/navbar.spec.js.
78
78
  #
79
79
  # ## Schema Validation
80
80
  #
@@ -91,6 +91,7 @@ If a component needs a token that doesn't exist yet, propose it in `_sass/tokens
91
91
  | `info-section.html` | Settings offcanvas — Appearance / Site / Developer. |
92
92
  | `js-cdn.html` | Body-end script bundle. |
93
93
  | `search-modal.html` | Global search modal. |
94
+ | `page-feedback.html` | "Improve this page" capture widget — request type + live page context + captured console logs → GitHub issue (base prefill + optional AI enrichment). Pairs with `assets/js/page-feedback.js` and `core/console-capture.html`; types from `_data/feedback_types.yml`. |
94
95
 
95
96
  ## Adding a new component
96
97