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.