Repository navigation
ci(validate): a node repo without package_dirs is red, not merely named - #6358
Merged
Merged
Conversation
check-package-enumeration.py only warned (`NOT compared`) for a caller whose validate-repos.py exposed no package_dirs(root). That grace period existed so the guard would not red every satellite before they could adopt. Every caller of the shared validate lane has now adopted (Crm, FundReporting, Manufacturing, Reinsurance, SocialMedia, Plugins, and Education last in MeshWeaver.Education#391, whose validate run printed the guard's agreement on 11 packages), so the absent case is now ::error:: and the self-test case flips with it. Self-test 14/14. Refs #4774 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The focused enforcement change is consistent across implementation, self-test, workflow documentation, and architecture documentation, with all 14 self-tests passing.
0 open findings
What changed in this PR
This PR makes missing package_dirs(root) implementations fail the shared node-repository validation gate.
Changes:
- Changes the guard from warning/success to error/failure.
- Updates the 14-case self-test and CI guidance.
- Documents completion of the fleet-wide adoption.
| File | Description |
|---|---|
.github/scripts/check-package-enumeration.py |
Enforces and tests failure when package_dirs is absent. |
.github/workflows/node-repo-validate.yml |
Updates the shared lane’s enforcement comments. |
src/MeshWeaver.Documentation/Data/Architecture/ModuleVersioning.md |
Documents the tightened contract and completed adoption. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
Test Results 24 files ±0 24 suites ±0 50m 8s ⏱️ +48s Results for commit bad062e. ± Comparison against base commit 53e7929. This pull request removes 40 and adds 16 tests. Note that renamed tests count towards both. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #4774
Step 2 of #4774.
check-package-enumeration.pystops warning and goes red when a node repo'sscripts/validate-repos.pyexposes nopackage_dirs(root).Why now: the warning-only grace period existed so the guard would not red every satellite's required
validatecontext before they could adopt. Every caller of the shared lane has now adopted. Measured on eachmaintoday,def package_dirsis present in Crm, FundReporting, Manufacturing, Reinsurance, SocialMedia, Plugins and Education. Education was last: MeshWeaver.Education#391 merged today, and its PR'svalidatejob logged✓ both package enumerators return the same 11 package(s) on this checkout and the same 12 on a 22-name fixture.Change: the absent branch now emits
::error::and returns 1, and the self-test case flips with it. The header, the lane comment andDoc/Architecture/ModuleVersioningsay so.Verification:
--self-testpasses 14/14, and--root <Education main>agrees on 11 packages.Pairs-with: none — CI script only; every caller already satisfies the stricter rule (listed above).
🤖 Generated with Claude Code