Skip to content

War on Disease roadmap and treaty#64

Merged
mikepsinn merged 14 commits into
mainfrom
feature/war-on-disease-roadmap-docs
May 9, 2026
Merged

War on Disease roadmap and treaty#64
mikepsinn merged 14 commits into
mainfrom
feature/war-on-disease-roadmap-docs

Conversation

@mikepsinn
Copy link
Copy Markdown
Owner

@mikepsinn mikepsinn commented May 8, 2026

Summary

  • Record the War on Disease campaign as the active product focus until the 1% Treaty passes.
  • Align TODO.md, AGENTS.md, CLAUDE.md, README.md, and docs/ROADMAP.md around campaign-first prioritization.
  • Update the README focus and "What You Can Do Today" sections so humans see the treaty-vote funnel first, while clarifying that referendum votes do not require World ID.
  • Surface per-plaintiff demanded-recovery numbers on /plaintiffs using canonical parameter values, then add /plaintiffs to visual review coverage.
  • Move the shared decorative primitives BrutalCard, ArcadeTag, and SectionContainer toward the black-and-white treaty style without globally remapping the legacy brutal color tokens.

Validation

  • git diff --check
  • pnpm --filter @optimitron/web run typecheck:fast
  • Attempted full pnpm check; it timed out after 5 minutes with no useful output before the later web-focused check was run.
  • CI caught a real contrast regression from the global token remap; that remap was removed in b23da4ce and fresh CI is running for the latest pushed head.

UI

  • /plaintiffs changed and is now included in the PR visual review gallery.
  • Shared primitives changed: BrutalCard, ArcadeTag, and SectionContainer.
  • Review the updated GitHub Pages visual gallery before merging because this PR now includes UI styling changes.

Summary by CodeRabbit

  • New Features

    • Plaintiffs page now displays per-capita damages and recovery metrics.
  • Style

    • Campaign landing page redesigned to prioritize treaty vote action over status displays.
    • Refined UI component styling for improved visual consistency.
  • Documentation

    • Updated campaign strategy and roadmap to emphasize 1% Treaty and War on Disease priorities.

Copilot AI review requested due to automatic review settings May 8, 2026 23:41
@vercel
Copy link
Copy Markdown

vercel Bot commented May 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
optimitron-wishonia Ignored Ignored May 9, 2026 1:48am

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

Review Change Stack

Warning

Rate limit exceeded

@mikepsinn has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 17 minutes and 19 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c7f56a78-79e8-46ab-93f6-9a16e3b5eebd

📥 Commits

Reviewing files that changed from the base of the PR and between 85d783b and 85c5fa6.

📒 Files selected for processing (5)
  • README.md
  • packages/web/e2e/smoke.spec.ts
  • packages/web/e2e/utils/static-pages.ts
  • packages/web/src/content/referendum-sites/one-percent-treaty.test.ts
  • packages/web/src/content/referendum-sites/one-percent-treaty.ts
📝 Walkthrough

Walkthrough

This PR recenters documentation and the web frontend on the War on Disease / 1% Treaty campaign: strategic docs (README, ROADMAP, AGENTS, TODO) are rewritten for campaign-first priorities; the web app gains a plaintiffs visual route and plaintiffs-page content; the treaty landing page no longer shows the vote-counter; several UI components and local site-default logic were adjusted.

Changes

War on Disease Campaign Documentation Reorientation

Layer / File(s) Summary
Campaign North Star & Strategic Framing
docs/ROADMAP.md, CLAUDE.md, README.md, TODO.md
Reframes product and README/CLAUDE/ROADMAP around the War on Disease campaign and the 1% Treaty North Star; sets optimitron.com as the operating backend and updates campaign priority/order and UI/UX objectives.
Strategic Principles & Selection Criteria
docs/ROADMAP.md
Replaces principles with campaign-mode gating until treaty passage and explicit roadmap item selection criteria (vote conversion, referrals, endorsements, plaintiffs, leader pressure, indexing, trust).
Agent & Team Operational Rules
AGENTS.md, CLAUDE.md
Adds Mission Focus directives: prioritize the campaign, treat Optimitron as the backend OS for campaign workflows, park non-campaign work unless friction-reducing, and shift UI/UX optimization to voting/referral/endorsement behaviors.
User-Facing Product Actions
README.md
Updates user-facing framing and actions: centers warondisease.org, replaces prior game framing with vote/recruit/allocate steps, expands "What You Can Do Today" with campaign actions.
Plaintiffs Page & Visual Tests
packages/web/src/app/plaintiffs/page.tsx, packages/web/e2e/visual-regression.spec.ts
Adds a required plaintiffs visual route; plaintiffs page gains a "Demanded recovery per registered plaintiff" section and typographic adjustments.
Landing Page & Tests
packages/web/src/components/site/OnePercentTreatyLandingPage.tsx, ...test.ts
Removes VoteCounterSplit from the landing page rendering; tests updated to assert absence and include expanded landingData fixture metrics.
UI Component Style Updates
packages/web/src/components/ui/*
Simplifies ArcadeTag styles, makes BrutalCard shadowSize effectively no-op and simplifies hover/border, and reduces SectionContainer border thickness/color.
Local Site Defaulting & Tests
packages/web/src/lib/site.ts, packages/web/src/lib/__tests__/site.test.ts
Introduce LOCAL_DEFAULT_SITE_KEY = "warOnDisease" and make getSiteFromHeaders return warOnDisease for local hosts when no override present; tests updated accordingly.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • mikepsinn/optimitron#63: Overlapping changes to landing page vote-counter removal, plaintiffs route/page, and site defaulting behavior.
  • mikepsinn/optimitron#30: Modifies treaty/War-on-Disease UI and site configuration codepaths affecting landing components and site.ts.
  • mikepsinn/optimitron#47: Touches plaintiffs UI and site configuration; related at the code level.

Poem

A rabbit hops with treaty in hand,
Docs align and pages shift as planned,
Vote first, then refer, and gently implore,
UI trimmed, plaintiffs shown, the campaign's at the core—🐰✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.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.
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.
Title check ✅ Passed The PR title 'War on Disease roadmap and treaty' directly aligns with the main changes: documentation updates (AGENTS.md, CLAUDE.md, README.md, TODO.md, ROADMAP.md) and UI updates centered on recording War on Disease as the active product focus and aligning styling around the treaty campaign.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/war-on-disease-roadmap-docs

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 and usage tips.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the repository’s documentation to reflect “campaign mode” prioritization for the War on Disease / 1% Treaty effort, and aligns multiple planning/instruction docs around that focus.

Changes:

  • Adds an explicit campaign-first strategic frame and prioritization guidance across TODO/roadmap/agent instruction docs.
  • Updates README “Current Product Focus” and “What You Can Do Today” to put the treaty-vote funnel ahead of other product loops.
  • Normalizes wording across docs around War on Disease as the default public surface, with Optimitron positioned as the supporting OS/proof layer.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
TODO.md Adds a “Strategic Frame” section describing campaign mode priorities and review defaults.
README.md Reorients product focus toward War on Disease and updates the “What You Can Do Today” table to lead with treaty actions.
docs/ROADMAP.md Reframes the roadmap around campaign conversion/referral/org/plaintiff/leader-pressure priorities and parks non-campaign work.
CLAUDE.md Updates agent-facing description and priority order to align with campaign mode; fixes a spelling issue in the intro.
AGENTS.md Adds “Mission Focus” section defining campaign-mode default priorities and review guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Visual review

Start with the browser gallery for a quick before/after pass over every captured route. Use the visual diff link for changed-only review when Argos is available. The downloadable artifact is the fallback copy of packages/web/output/playwright/review/latest.html.

@claude
Copy link
Copy Markdown

claude Bot commented May 8, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@claude
Copy link
Copy Markdown

claude Bot commented May 8, 2026

test

@claude
Copy link
Copy Markdown

claude Bot commented May 8, 2026

Code review — CLAUDE.md conflicting directives

CLAUDE.md line 9 (new "Default priority order during campaign mode:" block) — conflicting top-level directives for agents

This new campaign-mode priority list makes treaty vote conversion priority #1 with no mention of the Earth Optimization Prize. However, the Treasury table further down in CLAUDE.md (line ~121 in this PR, unchanged) still says:

The most important feature on the site; every other page should funnel toward it.

(referring to the Earth Optimization Prize at /prize)

An agent reading CLAUDE.md will now find two contradictory absolute directives with no precedence rule:

  • This block: priority 1 is treaty vote conversion; the prize is not in the list
  • Treasury table: the prize is the most important feature and every other page should funnel toward it

Reference: CLAUDE.md Treasury section

Suggested fix: Either (a) remove the "most important feature; every other page should funnel toward it" claim from the Treasury table (since this PR's campaign framing supersedes it), or (b) add a note in the Treasury table scoping that claim to "during Phase 1 / pre-campaign mode" so both statements can coexist.

@mikepsinn
Copy link
Copy Markdown
Owner Author

Addressed the valid Claude priority conflict in 8cb5667 by scoping the Prize language under campaign mode and making treaty-vote conversion the precedence rule.

mikepsinn and others added 2 commits May 8, 2026 19:02
Adds the case-page-aligned damages headline ($10.6M NPV, $25.2M lifetime
cohort) above the registration form on /plaintiffs. Visitors landing
from the case-page CTA see what they are owed before being asked to
register; a registered family member adds another full claim, which is
the strongest recruitment hook the math supports.

Numbers come from canonical parameters
(CORPORATE_DAMAGES_FORWARD_SETTLEMENT_VALUE_PER_CAPITA and
LOST_PROSPERITY_LIFETIME_DAMAGES_PER_CAPITA) so any future reframe of
the manual's damages model flows here automatically — no hardcoded
values in the JSX.

Treaty-styled, semantic tokens only (bg-background, border-foreground,
text-muted-foreground). No BrutalCard / ArcadeTag / brutal-* / hardcoded
hex — the file was already clean; this surface keeps it clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mikepsinn mikepsinn changed the title Align roadmap with War on Disease campaign Align War on Disease campaign roadmap and plaintiff page May 9, 2026
mikepsinn and others added 3 commits May 8, 2026 19:13
Atomic visual migration via three shared primitives + the CSS-variable
layer that all consumers funnel through. Zero per-page edits; ~340
consuming surfaces update simultaneously.

globals.css: --brutal-pink, --brutal-cyan, --brutal-yellow (and their
foregrounds) redirected to var(--foreground) / var(--background) in
both light and dark mode. Because the existing @theme inline block
already remaps every Tailwind default color scale (pink/rose/fuchsia/
purple/violet/indigo → brutal-pink; blue/cyan/teal/sky → brutal-cyan;
amber/orange → brutal-yellow) to those CSS vars, every component
using bg-brutal-* OR raw bg-pink-*/bg-cyan-*/bg-yellow-*/etc. now
renders treaty-style. --brutal-red and --brutal-green stay vibrant —
they encode status semantics (error/harm vs verified/success) and
changing them would lose information.

BrutalCard: hard 8px offset shadows removed (shadowSize prop kept as
no-op so consumers don't need updates), border-4 border-primary →
border-2 border-foreground, hover translate animation → quiet
transition-colors hover:bg-muted.

ArcadeTag: dropped the Press Start 2P pixel font + text-brutal-pink.
Renders as a quiet small-caps muted-foreground line. Component +
ARCADE_LABELS dictionary kept so consumers don't need updates.

SectionContainer: thick novelty borders (border-t-4 border-primary /
border-b-4) replaced with thin treaty rules (border-t / border-b
border-foreground).

Per the strategy convo: visual fun moves out, voice fun stays — the
Wishonia copy still does the personality work; the visual is now
treaty-document austere. Aligns the recruitment surface with the
seriousness of the ask (international treaty, class-action plaintiff
registration). brutal-red/brutal-green semantic status colors
preserved for charts, harm chips, and verified-success markers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per Copilot review on PR #64: the README claimed referendum voting at
/agencies/dcongress/referendums has "World ID gating," implying World
ID is required to cast a vote. It isn't — the /api/referendums/[slug]/
vote route has zero World ID checks. Anyone signed in can cast a vote;
World ID is optional and marks the vote as verified-personhood, used
for sybil-resistant tallies and for VOTE token attribution on the
referral mechanic.

Reworded the bullet to reflect that. Other World ID mentions (sybil
resistance, VOTE token earning, referral verification) are accurate
and unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mikepsinn mikepsinn changed the title Align War on Disease campaign roadmap and plaintiff page Align War on Disease roadmap and treaty styling May 9, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
packages/web/src/app/plaintiffs/page.tsx (1)

183-233: ⚡ Quick win

Consider moving RepresentedPersonConversionForm above the "Demanded recovery" section.

The new section (lines 184–230) places monetary parameter values between the header and the primary conversion action. Per the coding guideline, the primary action should come before counters/explanation:

"Put the one primary action of a page before browsing, explanation, counters, filters, dashboards, FAQs, or legal framing"

Moving RepresentedPersonConversionForm immediately after the <header> block and keeping the demanded-recovery figures below it preserves the motivational context while satisfying the action-first layout.

♻️ Suggested reorder
       </header>

+      <RepresentedPersonConversionForm referendumSlug={referendumSlug} />
+
       <section
         aria-label="Demanded recovery per registered plaintiff"
         className="border-y-2 border-foreground bg-background py-8"
       >
         ...
       </section>

-      <RepresentedPersonConversionForm referendumSlug={referendumSlug} />

As per coding guidelines: packages/web/src/app/**/*.{ts,tsx} — "Put the one primary action of a page before browsing, explanation, counters, filters, dashboards, FAQs, or legal framing."

🤖 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 `@packages/web/src/app/plaintiffs/page.tsx` around lines 183 - 233, Move the
primary action RepresentedPersonConversionForm to appear immediately after the
page <header> (i.e., before the section with aria-label "Demanded recovery per
registered plaintiff") so the conversion form is the first interactive element;
specifically cut the <RepresentedPersonConversionForm
referendumSlug={referendumSlug} /> JSX and paste it above the <section
aria-label="Demanded recovery per registered plaintiff"> block, keeping existing
props and imports unchanged and leaving the ParameterValue blocks and the
humanityVGovernment link (ROUTES.humanityVGovernment / humanityVGovernmentLink)
below as explanatory/counter content.
packages/web/src/components/site/OnePercentTreatyLandingPage.tsx (1)

6-10: ⚡ Quick win

Remove the unused data prop from OnePercentTreatyLandingPage to eliminate unnecessary server-side fetching.

The parent page.tsx (line 67–82) fetches ReferendumSiteHomeData via getReferendumSiteHomeData() — a server call that includes paginated signers, program tasks, treaty markdown, and session data — only to pass it to this component, where it is ignored (_data). The prop is unused and the fetch is wasted.

Remove data from the Props interface and the function signature, then delete the getReferendumSiteHomeData() call and signersPage parameter handling in page.tsx.

🤖 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 `@packages/web/src/components/site/OnePercentTreatyLandingPage.tsx` around
lines 6 - 10, Remove the unused data prop from OnePercentTreatyLandingPage by
deleting data from the Props interface and removing the parameter from the
OnePercentTreatyLandingPage function signature (currently declared as { data:
_data }: Props); then update the parent page to stop fetching
ReferendumSiteHomeData and remove the getReferendumSiteHomeData() call and any
signersPage parameter handling that exists solely to pass that data (remove
signersPage prop/argument and any related wiring). Ensure all references to
Props, OnePercentTreatyLandingPage, getReferendumSiteHomeData, and signersPage
are updated/removed so the component no longer relies on fetched
ReferendumSiteHomeData.
packages/web/src/components/ui/arcade-tag.tsx (1)

12-12: ⚡ Quick win

Use cn() instead of a bare template literal for class merging.

Template literal concatenation doesn't de-duplicate conflicting Tailwind utilities. If a caller passes text-sm mb-4, the resulting string will contain both text-xs text-sm and both margins — Tailwind resolves by CSS order, not DOM order, so the consumer override may silently lose. cn() (clsx + tailwind-merge) is the idiomatic fix.

♻️ Proposed fix
+import { cn } from "@/lib/utils";
 
 export function ArcadeTag({ children, className = "mb-2" }: ArcadeTagProps) {
   return (
-    <p className={`text-xs font-black uppercase text-muted-foreground ${className}`}>
+    <p className={cn("text-xs font-black uppercase text-muted-foreground", className)}>
       {children}
     </p>
   );
 }
🤖 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 `@packages/web/src/components/ui/arcade-tag.tsx` at line 12, Replace the
template literal class concatenation on the paragraph element with the cn()
utility to merge and dedupe Tailwind classes: import and use cn(...) instead of
`\`text-xs font-black uppercase text-muted-foreground ${className}\`` (target
the component that renders the <p> using the className prop, e.g., ArcadeTag) so
callers' classes are merged via clsx + tailwind-merge rather than simple string
concat.
🤖 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 `@README.md`:
- Line 305: Update the stale route text that currently reads "/referendum" to
the canonical route "/agencies/dcongress/referendums" so it matches the other
tables; locate and replace the string "/referendum" in the README (the sentence
beginning "**Referendum infrastructure**") with
"/agencies/dcongress/referendums" to ensure consistency with the "What You Can
Do Today" and "The Web App" tables.
- Line 146: The README uses h4 (####) headings directly under an h2, which
violates MD001; either promote each flagged heading to h3 (change "#### Treaty
Campaign", "#### Optimized Governance Agencies", "#### Earth's Governments",
"#### Analysis", "#### You", "#### Futures", and "#### Meta" to "### ...") or
insert an appropriate h3 parent before those sections—apply the same change
consistently to all listed headings so the document hierarchy is correct.

---

Nitpick comments:
In `@packages/web/src/app/plaintiffs/page.tsx`:
- Around line 183-233: Move the primary action RepresentedPersonConversionForm
to appear immediately after the page <header> (i.e., before the section with
aria-label "Demanded recovery per registered plaintiff") so the conversion form
is the first interactive element; specifically cut the
<RepresentedPersonConversionForm referendumSlug={referendumSlug} /> JSX and
paste it above the <section aria-label="Demanded recovery per registered
plaintiff"> block, keeping existing props and imports unchanged and leaving the
ParameterValue blocks and the humanityVGovernment link
(ROUTES.humanityVGovernment / humanityVGovernmentLink) below as
explanatory/counter content.

In `@packages/web/src/components/site/OnePercentTreatyLandingPage.tsx`:
- Around line 6-10: Remove the unused data prop from OnePercentTreatyLandingPage
by deleting data from the Props interface and removing the parameter from the
OnePercentTreatyLandingPage function signature (currently declared as { data:
_data }: Props); then update the parent page to stop fetching
ReferendumSiteHomeData and remove the getReferendumSiteHomeData() call and any
signersPage parameter handling that exists solely to pass that data (remove
signersPage prop/argument and any related wiring). Ensure all references to
Props, OnePercentTreatyLandingPage, getReferendumSiteHomeData, and signersPage
are updated/removed so the component no longer relies on fetched
ReferendumSiteHomeData.

In `@packages/web/src/components/ui/arcade-tag.tsx`:
- Line 12: Replace the template literal class concatenation on the paragraph
element with the cn() utility to merge and dedupe Tailwind classes: import and
use cn(...) instead of `\`text-xs font-black uppercase text-muted-foreground
${className}\`` (target the component that renders the <p> using the className
prop, e.g., ArcadeTag) so callers' classes are merged via clsx + tailwind-merge
rather than simple string concat.
🪄 Autofix (Beta)

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

Run ID: af9ca556-0f0e-4f7e-965f-86d33a69aba3

📥 Commits

Reviewing files that changed from the base of the PR and between 5c3989f and 85d783b.

📒 Files selected for processing (13)
  • AGENTS.md
  • CLAUDE.md
  • README.md
  • packages/web/AGENTS.md
  • packages/web/e2e/visual-regression.spec.ts
  • packages/web/src/app/plaintiffs/page.tsx
  • packages/web/src/components/site/OnePercentTreatyLandingPage.test.ts
  • packages/web/src/components/site/OnePercentTreatyLandingPage.tsx
  • packages/web/src/components/ui/arcade-tag.tsx
  • packages/web/src/components/ui/brutal-card.tsx
  • packages/web/src/components/ui/section-container.tsx
  • packages/web/src/lib/__tests__/site.test.ts
  • packages/web/src/lib/site.ts
✅ Files skipped from review due to trivial changes (2)
  • packages/web/AGENTS.md
  • AGENTS.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • CLAUDE.md

Comment thread README.md Outdated
Comment thread README.md Outdated
@mikepsinn mikepsinn changed the title Align War on Disease roadmap and treaty styling War on Disease roadmap and treaty May 9, 2026
@mikepsinn mikepsinn merged commit 6983ce6 into main May 9, 2026
8 checks passed
@mikepsinn mikepsinn deleted the feature/war-on-disease-roadmap-docs branch May 9, 2026 02:00
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.

2 participants