Skip to content

Enhance Registry Validator with Bidirectional Repository Consistency Validation #1855

Description

@jyotish6699

Summary

The current utils/registry_validator.py validates entries defined in projects_registry.json, including:

  • JSON syntax validation
  • Required field validation
  • Category validation
  • Difficulty validation
  • Duplicate project names
  • Duplicate project paths
  • Missing project files
  • Keyword validation

While these checks ensure that registered projects are valid, the validator only performs one-way validation (Registry → Repository).

As a result, projects can exist in the repository without being added to projects_registry.json, and the validator will not report them. This can cause the repository and registry to become inconsistent over time.

Proposed Enhancement

Extend the registry validator to perform bidirectional repository consistency validation.

Repository → Registry

Automatically discover project directories from the repository and detect projects that exist in the repository but are missing from projects_registry.json.

Registry → Repository

Continue validating that all registered project files exist in the repository.

Expected Changes

  • Discover project directories dynamically from the repository.
  • Compare repository projects against registry entries.
  • Detect unregistered project directories.
  • Report repository consistency issues in the CLI output.
  • Include repository consistency information in JSON output (--json).
  • Add unit tests covering the new validation behavior.

Benefits

  • Keeps the repository and registry synchronized.
  • Detects forgotten registry updates during development.
  • Helps maintainers identify unregistered projects before merging contributions.
  • Improves repository maintenance and validation reliability.
  • Makes the validator more useful for local development and CI workflows.

Additional Context

This enhancement focuses on improving repository consistency without changing the existing registry format or validation workflow.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions