Skip to main content

Feature: Project Registry and Validation

Purpose​

  • Feature name: Project registry and validation
  • Why this feature exists: Keep project metadata consistent, validated, and safe to render across routes.

Scope​

In scope​

  • registry schema validation
  • slug uniqueness and required fields
  • featured and full project lists

Out of scope​

  • evidence rendering UI (covered in evidence visualization)
  • route layouts and navigation

Prereqs / Inputs​

  • project registry data in the portfolio app
  • schema validation helpers available in the app

Procedure / Content​

Feature summary​

  • Feature name: Project registry and validation
  • Feature group: Evidence-first content model
  • Technical summary: Validates project records at build and in CI to enforce schema constraints and slug uniqueness.
  • Low-tech summary: A single, checked source of truth for projects so pages do not break.

Feature in action​

  • Where to see it working: /projects and /projects/[slug] render from registry data in the deployed app.

Confirmation Process​

Manual​

  • Steps: Open /projects, select a project, and confirm the detail page renders expected fields.
  • What to look for: No missing title/summary, valid slug routing, and consistent tags/status.
  • Artifacts or reports to inspect: CI registry validation output (from pnpm registry:validate).

Tests​

Potential behavior if broken or misconfigured​

  • Projects list renders empty due to invalid registry data.
  • Duplicate slugs cause routing collisions or 404s.

Long-term maintenance notes​

  • Keep schema changes versioned and update validation tests.
  • Review featured project criteria as the registry expands.

Dependencies, libraries, tools​

  • Next.js App Router
  • React
  • Zod

Source code references (GitHub URLs)​

ADRs​

Runbooks​

  • None.

Additional internal references​

Validation / Expected outcomes​

  • Registry validation passes in CI and locally.
  • Project pages render without missing required fields.

Failure modes / Troubleshooting​

  • Validation failures: fix schema violations and re-run checks.
  • Slug conflicts: update entries and revalidate.

References​

  • None.