Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@
(e.g. `js`, `reactjs`, `ts`, `node`, `py`) to their canonical lowercase names (#1116)
- Added 5 new unit tests in `tests/test_basic.py` to verify synonym normalization end-to-end (#1116)
- DevPath Sentinel developer tool for repository health and dataset integrity validation (#1295)
- Dataset validator to detect duplicate project IDs, duplicate project titles, missing required fields, empty required fields, and missing starter code references
- Dataset Validator to detect duplicate project IDs, duplicate project titles, missing required fields, empty required fields, and missing starter code references
- Starter Code Integrity Validator to detect orphan starter code files, empty starter code files, hidden files, and unsupported file types

### Changed

- DevPath Sentinel now executes all available validators through a unified CLI with consolidated validation reporting
- Updated Sentinel documentation to include the Starter Code Integrity Validator and multi-validator workflow
- Contributors are now expected to document user-facing changes in CHANGELOG.md
- `parse_skills()` now normalizes skill abbreviations via `SKILL_SYNONYMS` before scoring,
so inputs like "JS, ReactJS, Node" correctly match projects tagged "JavaScript, React, Node.js" (#1116)
Expand Down
12 changes: 10 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,14 +255,22 @@ pip install pytest
pytest tests/ -v
```

If you add a new feature, add at least one corresponding test in `tests/test_basic.py`.
If you add a new feature, add corresponding unit tests covering the new functionality.

### Repository Validation

Before opening a pull request, contributors are encouraged to run DevPath Sentinel.

```bash
python -m tools.sentinel.cli
```

The Sentinel CLI executes all available validators, including:

- Dataset Validator
- Starter Code Integrity Validator

Review any reported warnings or errors before submitting your pull request.

---

Expand All @@ -271,7 +279,7 @@ python -m tools.sentinel.cli
### Before opening a PR

- All 27 tests pass locally
- Run `python -m tools.sentinel.cli` to validate the project dataset before opening a pull request
- Run `python -m tools.sentinel.cli` to validate the project dataset and starter code repository before opening a pull request
- You have tested the running app in your browser
- Your branch is up to date with the upstream `main` branch
- Your code follows the style rules above
Expand Down
29 changes: 21 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,21 +189,34 @@ All tests passed

---

### Validate the Project Dataset
### Validate Repository Integrity

Run DevPath Sentinel to check the repository dataset for common integrity issues:
Run DevPath Sentinel to validate both the project dataset and the repository's starter code.

```bash
python -m tools.sentinel.cli
```

The current validator checks for:
DevPath Sentinel executes the following validators:

- duplicate project IDs
- duplicate project titles
- missing required fields
- empty required fields
- missing starter code references
#### Dataset Validator

Checks for:

- Duplicate project IDs
- Duplicate project titles
- Missing required fields
- Empty required fields
- Missing starter code references

#### Starter Code Integrity Validator

Checks for:

- Orphan starter code files
- Empty starter code files
- Unsupported starter code file types
- Hidden files inside the `starter_code/` directory

---

Expand Down
Loading
Loading