Skip to content

Feature/maturity attribution - #115

Open
meganrm wants to merge 29 commits into
mainfrom
feature/maturity-attribution
Open

Feature/maturity attribution#115
meganrm wants to merge 29 commits into
mainfrom
feature/maturity-attribution

Conversation

@meganrm

@meganrm meganrm commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Problem

We've gotten feedback that people feel uncomfortable posting ideas that aren't fully fleshed out, or that if they do, people will take them more seriously than they should.

Solution

Add a maturity label (with @jessicasyu )

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)

Steps to Verify:

  1. npm start
  2. see maturity labels
  3. look at admin site, see drop down

Screenshots (optional):

Screenshot 2026-08-12 at 5 34 46 PM Screenshot 2026-08-12 at 5 34 53 PM

meganrm and others added 29 commits June 4, 2026 12:16
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Added maturity: String field to the IdeaPost GraphQL type definition,
positioned alphabetically between introduction and nextSteps.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@netlify

netlify Bot commented Aug 13, 2026

Copy link
Copy Markdown

Deploy Preview for project-idea-board ready!

Name Link
🔨 Latest commit d1f7978
🔍 Latest deploy log https://app.netlify.com/projects/project-idea-board/deploys/6a7d114f37469e00089e3f2e
😎 Deploy Preview https://deploy-preview-115--project-idea-board.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@meganrm
meganrm requested review from interim17 and a lite review from Copilot August 13, 2026 00:35

Copilot AI 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.

Pull request overview

Adds a maturity attribution field to idea posts so authors can signal how “baked” an idea is, and displays that maturity in both list and detail views. This fits the Idea Board’s content model by extending idea frontmatter and Gatsby’s GraphQL layer, while keeping Decap CMS authoring straightforward.

Changes:

  • Add maturity to the CMS schema + Gatsby GraphQL schema/resolvers (defaulting to "speculative" when absent).
  • Introduce MaturityBadge + CSS module styling and wire it into the idea list and idea detail template.
  • Backfill maturity frontmatter on a few existing idea markdown files and add unit tests for resolver + maturity config.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
static/admin/config.yml Adds required maturity select field for ideas (and expands type options).
src/templates/idea-post.tsx Queries and renders maturity in the post metadata strip via MaturityBadge.
src/style/maturity-badge.module.css New CSS module for maturity badge color ramp + inline variant styling.
src/style/idea-roll.module.css Layout tweaks for title row + spacing to accommodate maturity badge.
src/style/idea-post.module.css Minor cursor styling adjustment for tag UI.
src/pages/ideas/dev-example.md Adds maturity frontmatter to an example idea.
src/pages/ideas/2026-02-06-simulations-of-actin-compression-at-monomer-and-fiber-scale.md Adds maturity frontmatter.
src/pages/ideas/2026-02-06-compare-actin-filament-compression-between-different-fiber-scale-simulators.md Adds maturity frontmatter.
src/pages/ideas/2025-10-29-relate-cell-cell-junction-remodeling-to-migration-onset.md Adds maturity frontmatter and reorders frontmatter keys.
src/constants/maturityLevels.ts Adds central maturity label/hint config and a getter with fallback behavior.
src/constants/maturityLevels.test.ts Adds unit tests covering maturity config labels/hints and fallback.
src/components/MaturityBadge.tsx New badge component that displays maturity with an Ant Design Popover hint.
src/components/IdeaRoll.tsx Queries maturity and renders the badge alongside the idea title in list view.
gatsby/schema/base.gql Extends IdeaPost GraphQL type with maturity: String.
gatsby/resolvers/test/resolvers.test.js Adds resolver tests for defaulting and pass-through behavior.
gatsby/resolvers/resolvers.js Adds maturity resolver defaulting to "speculative" when missing.
docs/design/specs/2026-06-04-maturity-label-design.md Adds design spec for maturity levels, UI behavior, and data model.
docs/design/plans/2026-06-04-maturity-label.md Adds detailed implementation plan for the maturity label feature.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +20 to +23
.tagEyebrowWrapper {
display: flex;
justify-content: space-between;
}
Comment on lines +24 to +32
<Popover title={config.hint} className={popoverStyles.popoverContent}>
<span
className={[baseClass, levelClass, className]
.filter(Boolean)
.join(" ")}
>
{config.label}
</span>
</Popover>
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