Skip to content

Item 16: landing migration to the shuffle2 reference (dark base, gradient H1, 3-col mistakes, relocated sections) - #444

Merged
pftg merged 13 commits into
masterfrom
landing-item16
Aug 12, 2026
Merged

Item 16: landing migration to the shuffle2 reference (dark base, gradient H1, 3-col mistakes, relocated sections)#444
pftg merged 13 commits into
masterfrom
landing-item16

Conversation

@pftg

@pftg pftg commented Aug 12, 2026

Copy link
Copy Markdown
Member

Item 16 — Landing full-migration to the shuffle2 reference (40.28)

Brings the course landing (/course/tech-for-non-technical-founders-2026/) close to the shuffle2 reference and cuts it from ~2× the reference height (40.29) down to reference shape. One sprint, one PR, 11 commits.

Design panel (3 independent lenses — recorded)

Per Paul's design-call method (modern/flat, panel-decide, Paul taste gate at the render):

  • Fork A (dark-zone budget) → Option 2 + embedded CTA. Dark NOT-cover band, drop the endcap island, keep the bottom CTA inside the dark base. (2-1 split resolved by rationale: both Opt-1 votes were proxies for "a bottom CTA must exist," which Opt-2's embedded CTA satisfies — no light sliver, one confident dark base to footer.)
  • Fork B (compaction) → relocate all 4 off-reference sections (unanimous).
  • Section reorder → adopt reference order Hero → mistakes → module map → NOT-cover (taste + UX).

What shipped (per-commit)

Commit Task
74cb30f5 T1 relocate 4 sections (Take-if / Who-built / Going-further / Already-started) → how-this-course-works; router one-liner kept in hero; 5 inbound anchors repointed
fa96f539 Section reorder to reference order
2eab950b T3 mistakes grid 2→3 col
cf9ca3c8 T2 gradient second-line H1 (replaceRE, one semantic <h1>, frontmatter untouched)
10068925 T4 hero card labeled stat cells (Methodology / No-Code MVP · Validation Pace / 2-3 Weeks)
5c0433a2 T5 dark NOT-cover single full-bleed band + merged endcap (0px seam to footer) + 4 dead eyebrow selectors removed
b3deeb2b T6 chapter links body-color (ruby=hover), muted numbers, tighter cards
ee76ee0c 20%-slot bin/check-landing-parity (report-only) + 40.32 result render
2e4296f3, e904b7ea board snapshot, OKF maintain

⚠️ Needs your taste gate (T4)

The T4 stat-cell copy ("No-Code MVP" / "2-3 Weeks") is Paul-approval-gated — please eyeball on the render (40.32-item16-result-full.jpeg) alongside the 40.28 reference.

Gates

  • Constraint held (BLOCKING): all CSS in themes/beaver/assets/css/pages/course-list.css, template only layouts/course/list.html, no shared blog CSS / style.css / shared partials.
  • Host macOS (bin/test): green.
  • Honest Linux (bin/dtest from detached main): 8 reds, all expected — 7 are the known local-emulated-Docker codeblock env-flakes (green on native-amd64 CI, not touched here), 1 is desktop/course/landing (my T2/T4 hero change, macOS baseline committed; Linux baseline needs re-record via CI workflow_dispatch update-baselines). Below-fold T5/T6 produced zero Linux reds.
  • Rendered review at 1280×800 + 390×844 on every task (the real gate for below-fold changes the pixel suite can't see).
  • Self-review: both core-reviewer agents failed (Fable quota, then idle-without-report), so every blocking check was run directly with grep-verifiable evidence: constraint scoping ✓, anchor integrity ✓, canon (since 2011 / 5·25 / no "20 years") ✓, no fact lost ✓, div balance 32/32 ✓, parity gate catches a simulated 7-section regression ✓.

Do not merge until: your taste gate on the render + the CI Linux-baseline re-record.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Refreshed the course landing page with a gradient title, clearer methodology and validation statistics, improved module details, and updated card layouts.
    • Added a dark contrast section to better organize course scope, guidance, and supporting content.
    • Added audience-fit, course rationale, ownership guidance, and agency oversight information.
  • Bug Fixes
    • Corrected course navigation links to point to relevant sections and follow-on resources.
    • Improved heading validation across desktop and mobile layouts.
  • Documentation
    • Documented new report-only build checks and updated project progress records.

pftg and others added 11 commits August 12, 2026 20:10
…tem16 T1)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…panel 2/2)

Hero → mistakes → module map → NOT-cover. Pure block move (25/25 lines),
zero text changes. Panel verdict: exclusions read as confident scoping
AFTER the offer; dark NOT-cover (T5) needs to land against the footer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reference-faithful 3x2: 5 numbered cards + dark CTA cell. Verified
1280 (3 cols, no overflow) + 390 (1 col). qtest green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
'First Paying Customer' renders as its own line with a ruby→purple
gradient (reference-faithful, JetVelocity tokens). replaceRE on .Title -
frontmatter untouched, one semantic h1, degrades to plain title if the
phrase is absent. Title assertions get normalize_ws (span is
display:block, Capybara sees a newline; words unchanged). macOS
hero baseline updated in the same commit (intentional 18% hero diff);
linux baseline rides the dtest leg at PR prep.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Meta line '5 modules · 25 lessons' becomes two labeled stat cells
(Methodology / No-Code MVP · Validation Pace / 2-3 Weeks) with a thin
top rule; the counts fold into the leave-with line so no info is lost.
Cell copy is Paul-approval-gated at the PR taste gate. macOS hero
baseline updated in-commit (3% diff, region = hero card only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ase (item16 T5)

Executes the design panel's Fork-A ruling (Option 2 + embedded CTA):
- NOT-cover becomes the page's single full-bleed contrast band (dark
  #0d1117, dark scope-cards) - modules move back to white so there is
  ONE full-bleed band (taste guardrail #2).
- The endcap stops being a rounded island: full-bleed, flush above
  (0px seam to the dark band) and below (wrapper bottom padding zeroed
  so the dark base meets the footer) - no light sliver, one confident
  dark bottom into the global footer. Start Lesson 1.1 CTA + share
  preserved.
- Dead-selector cleanup (flagged by T1): removed the 4 eyebrow rules for
  sections relocated off the landing (take-this-course-if, who-built-this,
  going-further, already-started-building).

Below-fold, so the hero-fold pixel test does not cover it; verified by
rendered review at 1280x800 + 390x844 (dark base continuous, 0px
endcap-footer gap, scope grid 3→1 col mobile, no overflow). qtest green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…item16 T6)

Reference-density pass on the module rail (now on white after T5):
- Chapter titles recolored to body-dark #1f2937 (ruby → hover only) and
  the 1.1/1.2 numbers muted to gray - cards read as a syllabus, not a
  wall of links (taste guardrail #1). !important beats the global
  a:not(.btn)... link rule, same pattern the module headings use.
- Tighter card padding 28/30 → 24/26, head + chapter-row spacing
  trimmed. Deliverable glossaries KEPT - they are ICP first-mention
  glosses (course policy > the 'trim glossaries' nit).

Below-fold; verified by rendered review at 1280 + 390 (denser cards,
body-color titles, no overflow). qtest 13 screenshots green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t render (20%-slot)

Guards the landing against section-count drift: the shuffle2 reference
is a 4-section page, item16 cut ~2x-height bloat by relocating 4
off-reference sections. This is the build-time net that stops them
creeping back (the visual suite is hero-fold-scoped and can't see
below-fold section growth). Report-only like check-svg-floor /
check-course-paths; LANDING_PARITY_BLOCK=1 to block; has --self-test.
Current: 3 body sections <= 4 budget.

40.32 = full-page result render for the reference side-by-side (vs 40.28).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…comments

TASK-TRACKER item 16 → executed/PR-prep with the panel verdict, the 8
shipped commits, and the remaining merge gates (reviewer, visual pair,
Linux baseline re-record via CI). Hyphens in the 2 new item16 code
comments (gate + T5 CSS); the 17 pre-existing em-dash comments in
course-list.css are the file's own convention, left untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…em16)

test-gates.md gains the check-svg-floor / check-course-paths /
check-landing-parity family (standalone, --self-test, env-flag to flip
blocking) + the below-fold coverage-gap note confirmed by item16's
zero-Linux-red below-fold changes. Log entry dated.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The course landing page now uses revised content placement, navigation anchors, hero markup, statistics, card layouts, dark bands, chapter links, and footer styling. System tests normalize heading whitespace. Build-gate documentation and migration tracking were updated.

Changes

Course landing migration

Layer / File(s) Summary
Course content and navigation
content/course/tech-for-non-technical-founders-2026/...
Course audience, scope, building-status, author, and rationale content were revised. Related lesson links now target local or operating-kit anchors.
Course rendering and styling
layouts/course/list.html, themes/beaver/assets/css/pages/course-list.css, test/system/*_site_test.rb
The landing page now renders a gradient title and labeled statistics. CSS updates revise bands, cards, chapter links, spacing, eyebrow labels, and the full-width endcap. Heading tests normalize whitespace.
Validation and migration tracking
.okf/build/test-gates.md, .okf/log.md, docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md
Documentation records the report-only SVG and course-path gates, their flags and exit behavior, the removed landing-parity variant, and the migration validation status.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main landing-page migration and identifies its key visual and structural changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch landing-item16

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

pftg and others added 2 commits August 12, 2026 22:34
A report-only gate nobody wires into hugo-build/CI doesn't earn its keep
unless it guards an active backlog the way check-svg-floor /
check-course-paths do. Removed the script; trimmed its OKF/board/log
references to explanatory notes; kept the durable below-fold coverage-gap
learning and the 40.32 result render.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pftg
pftg merged commit 902686f into master Aug 12, 2026
@pftg
pftg deleted the landing-item16 branch August 12, 2026 20:53

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md`:
- Line 13: Update the tracker header’s “Last Updated” date to August 12, 2026 so
it matches the current PR `#444` entry and the migration date recorded in
.okf/log.md; leave the status details unchanged.

In `@themes/beaver/assets/css/pages/course-list.css`:
- Around line 22-29: Re-record the intentional course-landing visual baseline on
CI-native Linux so the expected failure count matches the seven documented
mobile code-block renders, then update both Linux and the corresponding platform
baseline artifacts. Verify the refreshed baselines cover the course-title
gradient change represented by .blog h1.course-title .course-title__grad and all
referenced course-landing states.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b10cdd51-a1b5-4535-b818-bc60810654eb

📥 Commits

Reviewing files that changed from the base of the PR and between bd38e93 and 57d8734.

⛔ Files ignored due to path filters (42)
  • docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.32-item16-result-full.jpeg is excluded by !**/*.jpeg
  • test/fixtures/screenshots/linux/desktop/404.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/about_page/_missions.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/blog/index.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/blog/index/_pagination.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/blog/special/codeblocks/text.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/blog/special/inline_style_post.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/careers.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/careers/junior-ruby-on-rails-developer.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/clients/_testimonials.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/clients/single-full.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/course/chapter.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/course/landing.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/free_consultation.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/homepage/_services.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/privacy-policy.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/services/app_web_development.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/services/fractional-cto/_overview.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/services/fractional_cto.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/desktop/use-cases/_overview.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/about_page/achievements.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/about_page/values.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/about_us.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/blog/index.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/blog/index/_pagination.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/blog/post.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/blog/special/code_highlight_post.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/blog/special/codeblocks/text.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/careers.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/careers/junior-ruby-on-rails-developer.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/clients/single-full.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/contact_us.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/course/chapter.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/course/landing.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/free_consultation.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/nav/hamburger_menu/services.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/services.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/services/fractional_cto.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/use_cases.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/use_cases/startup-mvp-prototyping-development.png is excluded by !**/*.png
  • test/fixtures/screenshots/linux/mobile/vibe_code_rescue.png is excluded by !**/*.png
  • test/fixtures/screenshots/macos/desktop/course/landing.png is excluded by !**/*.png
📒 Files selected for processing (13)
  • .okf/build/test-gates.md
  • .okf/log.md
  • content/course/tech-for-non-technical-founders-2026/_index.md
  • content/course/tech-for-non-technical-founders-2026/customers-leaving-churn-triage-not-acquisition/index.md
  • content/course/tech-for-non-technical-founders-2026/github-aws-database-ownership-checklist/index.md
  • content/course/tech-for-non-technical-founders-2026/how-this-course-works/index.md
  • content/course/tech-for-non-technical-founders-2026/module-5-walkthrough-mia/index.md
  • content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md
  • docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md
  • layouts/course/list.html
  • test/system/desktop_site_test.rb
  • test/system/mobile_site_test.rb
  • themes/beaver/assets/css/pages/course-list.css

## Open queue (in execution order)

1. **Item 16 — Landing full-migration to the shuffle2 reference. RUNS NEXT** (unfrozen by Paul 2026-08-02, no Aug-14 wait). Six-gap punch-list groomed and re-audited @662744c3 — full scope in the archive @L476: (1) RELOCATE "Take this course if" + "Who built this" (+ "Going further", "Already started building?") off the landing to how-this-course-works/FAQ — biggest height cut, mind the `#already-started-building` + `#module-map` inbound anchors; (2) module map → compact summaries + chapter counts; (3) gradient second-line H1 — needs `layouts/course/list.html` (TEMPLATE = post-Aug-14 safe only); (4) mistakes grid 2→3-col; (5) hero card labeled stat cells; (6) NOT-cover dark band (dark-zone-budget rebalance). Skills: /impeccable + stitch-design + ux-principles; side-by-side vs 40.28 reference + Paul taste gate at the PR render. Landing-owned files now; the title-render template change waits for Aug-14.
1. **Item 16 — Landing full-migration to the shuffle2 reference. ✅ PR #444 OPEN** (branch `landing-item16`). **Blocked on merge by: (a) Paul's taste gate on the render (esp. T4 stat-cell copy), (b) CI `workflow_dispatch update-baselines` for the Linux `desktop/course/landing` baseline** (T2/T4 changed the hero-fold; macOS committed, Linux stale — the only real Linux red; the other 7 dtest reds are known local-Docker codeblock env-flakes, green on CI). Host `bin/test` green; both reviewer agents failed on Fable quota so all blocking checks were run directly with evidence (constraint scoping, anchors, canon, fact-loss, div balance, parity-gate regression sim — all pass). Design panel (3 lenses: conversion/taste/UX) decided: Fork A = Option 2 + embedded CTA (dark NOT-cover, drop the endcap island, keep the bottom CTA inside the dark base); Fork B = relocate all 4 off-reference sections; section reorder = adopt reference order. Shipped: **T1** relocate 4 sections → how-this-course-works (5 inbound anchors repointed, router one-liner kept in hero); **reorder** Hero → mistakes → module map → NOT-cover; **T2** gradient second-line H1 (`list.html` replaceRE, one semantic h1); **T3** mistakes 2→3-col; **T4** hero stat cells (Methodology/No-Code MVP · Validation Pace/2-3 Weeks — copy Paul-gated); **T5** dark NOT-cover single full-bleed band + merged endcap (0px seam to footer) + 4 dead eyebrow selectors removed; **T6** chapter links body-color + muted numbers + tighter cards. 20%-slot dropped (a `bin/check-landing-parity` gate was tried and removed as redundant per Paul, YAGNI). Result render: `40-49-review/40.32-item16-result-full.jpeg`. **Remaining before merge:** core-reviewer verdict, full visual pair (`bin/test` host + honest `bin/dtest` from main), **Linux hero baseline re-record via CI `workflow_dispatch update-baselines`** (T2/T4 changed the hero-fold; macOS baseline committed, Linux stale), ONE PR + Paul taste gate on the render (T4 copy). Constraints held: all CSS in `course-list.css`, template only `list.html`, no shared CSS/partials.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Update the tracker timestamp.

Line 13 records current PR #444 status, but the header still says
Last Updated: 2026-08-08. .okf/log.md dates this migration
August 12, 2026. Update the header if this entry is current.

The supplied tracker and log dates show this mismatch.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md` at line
13, Update the tracker header’s “Last Updated” date to August 12, 2026 so it
matches the current PR `#444` entry and the migration date recorded in
.okf/log.md; leave the status details unchanged.

Comment on lines +22 to +29
/* item16 T2: reference-style gradient second line (ruby → purple) */
.blog h1.course-title .course-title__grad {
display: block;
background: linear-gradient(90deg, #cc342d, #a855f7);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Resolve the Linux course-landing baseline failure before merge.

The PR reports eight expected Linux failures. The documented exception has only
seven mobile code-block renders. Re-record the intentional course landing
baseline on CI-native Linux. Update both platform baselines in this PR.

As per coding guidelines, “Treat failures as blockers and update both platform
baselines when an intentional change is accepted.”

Also applies to: 47-68, 102-102, 149-157, 206-231, 542-563, 624-648

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@themes/beaver/assets/css/pages/course-list.css` around lines 22 - 29,
Re-record the intentional course-landing visual baseline on CI-native Linux so
the expected failure count matches the seven documented mobile code-block
renders, then update both Linux and the corresponding platform baseline
artifacts. Verify the refreshed baselines cover the course-title gradient change
represented by .blog h1.course-title .course-title__grad and all referenced
course-landing states.

Source: Coding guidelines

pftg added a commit that referenced this pull request Aug 12, 2026
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant