Skip to content

[Feature]: Add DevPath Sentinel foundation for repository dataset validation #1295

Description

@jyotish6699

What problem does this solve?

As DevPath grows with more projects, starter code files, and contributors, repository integrity checks become increasingly manual and error-prone.

Contributors currently need to manually verify things such as:

  • duplicate project IDs
  • duplicate project titles
  • missing required dataset fields
  • empty required values
  • missing starter code references

These checks are repetitive and can easily be overlooked before opening a pull request.

Introducing a lightweight repository validation utility would help contributors detect common dataset issues early and improve repository consistency.

Proposed solution

Introduce the initial foundation for DevPath Sentinel, a developer utility for validating repository integrity.

The first phase focuses on dataset validation and would include:

  • dataset loading and validation
  • duplicate project ID detection
  • duplicate project title detection
  • required field validation
  • empty required field validation
  • starter code reference validation
  • a CLI entry point for running validations
  • a structured validation report summarizing repository health

This foundation can later be extended with additional validators such as route validation, template validation, and repository summaries without changing the overall architecture.

Alternatives considered

Continue relying on manual verification and existing unit tests.

While this works for functional testing, structural repository issues (such as duplicate dataset entries or missing resource references) can still go unnoticed. A dedicated validation utility would complement the existing test suite rather than replace it.

Which part of the app does this affect?

Testing

Estimated complexity

Large (multiple modules, new route, tests required)

Before submitting

  • I searched existing issues and this has not been requested before.
  • This change would benefit contributors beyond my own use case.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions