jekyll-theme-zer0 1.16.0 → 1.17.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 (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +4 -4
  4. data/_data/backlog.yml +58 -5
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49187abf985e8ec9fce7a3d4bbdd3be26153932217cb8359c0d90233ca94c416
4
- data.tar.gz: c19e92aea1e7f31c195608836d85c0047f1f756419d88d14100ee77e63410244
3
+ metadata.gz: addc113b917ada3a80a134299c5a37cf05109133f628a4195fac8fdbb402102d
4
+ data.tar.gz: b07960a50b9812125d083310ba4afbf8f4d670d2fe69e901b4e3fca33010260a
5
5
  SHA512:
6
- metadata.gz: 81f3a6252f7ed42e555accdcea8821bb4f3817c046075594e218d36198a56a7aec296acbceb06042b257522c143c044ac597ba49e9ac0a662a35befa3046d396
7
- data.tar.gz: e14cf47293a8470118158e5a3dbc9d26f8173532780cfac70eff4a315fa4c63fa268411782799a5295742bf948a2060bde989f7e4ddbc784f225b0892ef81776
6
+ metadata.gz: 0a37703e0433fc6bdceb50b35fdcfe37157d9b863bc62eff91190948881eb4c092476376d4c76b5807b0faec54334ebf3028249f004df7d4bbe3ce72019f2af3
7
+ data.tar.gz: 2a57166a4b747c174111c778822d65e0fcc4a955480add45118fb449f54ca37a113ca2995490d7e90e4bdb0028c227ea5377a6447b735cbe1d8784d936edcb54
data/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ 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.17.0] - 2026-06-12
9
+
10
+ ### Changed
11
+ - Version bump: minor release
12
+
13
+ ### Commits in this release
14
+ - ac36e1a3 feat(tests): plugin unit specs and coverage baseline — T-011, T-005 (#145)
15
+
16
+ ### Added
17
+ - **Plugin unit specs (T-011)**: 19 Minitest specs for the previously-untested `preview_image_generator.rb`, `content_statistics_generator.rb`, and `admin_page_urls.rb` plugins (config merge, path normalization, index dedupe by relative path, hook output, edge cases); wired into the core suite as "Plugin Unit Specs"
18
+ - **Coverage baseline (T-005)**: structural survey recorded at `docs/development/coverage-baseline.md` — 10/10 suites green; the two remaining zero-coverage subsystems filed as T-019 (migrate.sh + theme_version.rb) and T-020 (installer wizard/upgrade)
19
+
8
20
  ## [1.16.0] - 2026-06-12
9
21
 
10
22
  ### Changed
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  title: zer0-mistakes
3
3
  sub-title: AI-Native Jekyll Theme
4
4
  description: AI-native Jekyll theme for GitHub Pages — Docker-first development, AI-powered installation, multi-agent integration (Copilot, Codex, Cursor, Claude), AI preview-image generation, and AIEO content optimization with Bootstrap 5.3.
5
- version: 1.16.0
5
+ version: 1.17.0
6
6
  layout: landing
7
7
  tags:
8
8
  - jekyll
@@ -20,7 +20,7 @@ categories:
20
20
  - bootstrap
21
21
  - ai-tooling
22
22
  created: 2024-02-10T23:51:11.480Z
23
- lastmod: 2026-06-12T19:28:47.000Z
23
+ lastmod: 2026-06-12T20:08:02.000Z
24
24
  draft: false
25
25
  permalink: /
26
26
  slug: zer0
@@ -911,7 +911,7 @@ git push origin feature/awesome-feature
911
911
 
912
912
  | Metric | Value |
913
913
  |--------|-------|
914
- | **Current Version** | 1.16.0 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
914
+ | **Current Version** | 1.17.0 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
915
915
  | **Documented Features** | 43 ([Feature Registry](https://github.com/bamr87/zer0-mistakes/blob/main/_data/features.yml)) |
916
916
  | **Setup Time** | 2-5 minutes ([install.sh benchmarks](https://github.com/bamr87/zer0-mistakes/blob/main/install.sh)) |
917
917
  | **Documentation Pages** | 70+ ([browse docs](https://zer0-mistakes.com/pages/)) |
@@ -966,6 +966,6 @@ And these AI partners that make zer0-mistakes truly AI-native:
966
966
 
967
967
  **Built with ❤️ — and a little help from our AI partners — for the Jekyll community**
968
968
 
969
- **v1.16.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
969
+ **v1.17.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
970
970
 
971
971
 
data/_data/backlog.yml CHANGED
@@ -56,7 +56,7 @@
56
56
  meta:
57
57
  title: "zer0-mistakes Backlog"
58
58
  updated: 2026-06-12
59
- next_id: 19
59
+ next_id: 21
60
60
 
61
61
  tasks:
62
62
  # --- Housekeeping (seeded so the loop has work on day one) ------------------
@@ -155,7 +155,7 @@ tasks:
155
155
 
156
156
  - id: T-005
157
157
  title: "Coverage baseline: identify the lowest-covered subsystems toward the 90% goal"
158
- status: open
158
+ status: done
159
159
  priority: P1
160
160
  area: tests
161
161
  risk: standard
@@ -166,13 +166,17 @@ tasks:
166
166
  Zer0-Mistake Quality Framework starts with knowing where coverage stands.
167
167
  Produce a coverage baseline and file follow-up tasks for the lowest-covered
168
168
  areas (start with the modular installer and the Obsidian resolver paths).
169
+ Done 2026-06-12: baseline recorded at docs/development/coverage-baseline.md
170
+ (refreshed from the closed PR #122 survey against the current tree);
171
+ remaining gaps filed as T-019 (migrate.sh + theme_version.rb) and
172
+ T-020 (installer wizard/upgrade CI coverage).
169
173
  acceptance:
170
174
  - "A coverage baseline is recorded (test/coverage or a docs note)."
171
175
  - "The 2–3 lowest-covered subsystems are identified and filed as new backlog tasks."
172
176
  - "No reduction in existing passing tests (`./scripts/bin/test` stays green)."
173
177
  links: { issue: null, pr: null, roadmap: "1.13" }
174
178
  created: 2026-05-31
175
- updated: 2026-06-10
179
+ updated: 2026-06-12
176
180
 
177
181
  # --- 2026-06-01 audit -------------------------------------------------------
178
182
 
@@ -273,7 +277,7 @@ tasks:
273
277
 
274
278
  - id: T-011
275
279
  title: "Add Ruby unit tests for uncovered _plugins/ generators"
276
- status: open
280
+ status: done
277
281
  priority: P2
278
282
  area: tests
279
283
  risk: standard
@@ -285,6 +289,11 @@ tasks:
285
289
  URL-pattern checks (`test_preview_image_urls`) but no specs that exercise the
286
290
  generator logic in isolation. This is a concrete gap on the path to the
287
291
  3.0-milestone 90% coverage target.
292
+ Done 2026-06-12: test/test_plugins.rb — 19 Minitest specs covering all
293
+ three plugins (config merge, path normalization, index dedupe by
294
+ relative_path, filename sanitization, hook output/filtering/sorting,
295
+ script discovery with theme fallback); wired into test_core.sh as the
296
+ "Plugin Unit Specs" unit test; runs standalone without a Jekyll server.
288
297
  acceptance:
289
298
  - "`test/test_ruby_converter.rb`-style RSpec or Minitest specs exist for all three plugins."
290
299
  - "Each spec runs independently without a running Jekyll server (`bundle exec ruby -Itest`)."
@@ -292,7 +301,7 @@ tasks:
292
301
  - "Edge cases covered: empty collections, missing front-matter keys, and duplicate slug detection."
293
302
  links: { issue: null, pr: null, roadmap: "3.0" }
294
303
  created: 2026-06-01
295
- updated: 2026-06-01
304
+ updated: 2026-06-12
296
305
 
297
306
  # --- 2026-06-10 Zer0-Mistake Quality Framework (roadmap v1.13) --------------
298
307
  #
@@ -477,3 +486,47 @@ tasks:
477
486
  links: { issue: null, pr: null, roadmap: "1.13" }
478
487
  created: 2026-06-11
479
488
  updated: 2026-06-11
489
+
490
+ - id: T-019
491
+ title: "Unit tests for migrate.sh and theme_version.rb (coverage rank #1)"
492
+ status: open
493
+ priority: P2
494
+ area: tests
495
+ risk: standard
496
+ effort: M
497
+ source: audit
498
+ summary: >-
499
+ The 2026-06-12 coverage baseline (docs/development/coverage-baseline.md,
500
+ T-005) ranks scripts/lib/migrate.sh (265 lines, 5 functions: site
501
+ detection, theme connection, admin-page install/verify, version-gap
502
+ detection) plus _plugins/theme_version.rb (88 lines) as the largest
503
+ remaining zero-coverage surface (353 lines).
504
+ acceptance:
505
+ - "scripts/test/lib/test_migrate.sh exercises detect_jekyll_site, validate_theme_connection, and detect_version_gap against fixture directories."
506
+ - "test/test_plugins.rb (or a sibling spec) covers theme_version.rb's version resolution."
507
+ - "./scripts/bin/test stays green with the new specs included."
508
+ links: { issue: null, pr: null, roadmap: "1.14" }
509
+ created: 2026-06-12
510
+ updated: 2026-06-12
511
+
512
+ - id: T-020
513
+ title: "CI coverage for installer interactive wizard and upgrade path (coverage rank #2)"
514
+ status: open
515
+ priority: P2
516
+ area: tests
517
+ risk: standard
518
+ effort: M
519
+ source: audit
520
+ summary: >-
521
+ Per the T-005 baseline, scripts/lib/install/wizard_interactive.sh (189
522
+ lines — prompt helpers need a TTY) and scripts/lib/install/upgrade.sh
523
+ (184 lines) have effectively no CI coverage. Drive the wizard with
524
+ scripted stdin (the suite pattern in test_install_legacy_flags.sh) and
525
+ add an upgrade-path fixture (old-version site → upgrade → assert state).
526
+ acceptance:
527
+ - "Wizard prompt helpers exercised non-interactively (piped answers) in a test_install_* suite."
528
+ - "An upgrade fixture covers detect→migrate→verify for at least one version gap."
529
+ - "Suites run in CI via the standard installer e2e discovery (test_install_*.sh)."
530
+ links: { issue: null, pr: null, roadmap: "1.14" }
531
+ created: 2026-06-12
532
+ updated: 2026-06-12
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-zer0
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 1.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amr Abdel