fix: new --full scaffold passes own check; enforce documented naming rules (closes #442)#458
Open
0xLeif wants to merge 6 commits into
Open
fix: new --full scaffold passes own check; enforce documented naming rules (closes #442)#4580xLeif wants to merge 6 commits into
0xLeif wants to merge 6 commits into
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
❌ Corvin says...
_
<(;\ .oO(oh no...)
|/(\
\(\\
" "\\
"Caw... your imports are all over the place."
CI Summary
| Check | Status |
|---|---|
| Validate action.yml | ✅ Passed |
| Packaged Action Consumer | ❌ failure |
| Dependency Audit | ✅ Passed |
| Code Coverage | ❌ failure |
| Format Check | ❌ failure |
| Docs Site | ✅ Passed |
| Spec Validation | ❌ failure |
| Tests (build, test, clippy) | ❌ failure |
| VS Code Extension | ✅ Passed |
Powered by corvid-pet
There was a problem hiding this comment.
❌ Corvin says...
_
<(;\ .oO(oh no...)
|/(\
\(\\
" "\\
"Even the dumpster of code seems empty today."
CI Summary
| Check | Status |
|---|---|
| Validate action.yml | ✅ Passed |
| Packaged Action Consumer | ❌ failure |
| Dependency Audit | ✅ Passed |
| Code Coverage | ❌ failure |
| Format Check | ❌ failure |
| Docs Site | ✅ Passed |
| Spec Validation | ❌ failure |
| Tests (build, test, clippy) | ❌ failure |
| VS Code Extension | ✅ Passed |
Powered by corvid-pet
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.
Root cause
specsync new --fullproduced a scaffold that failed its owncheck --strict, and the scaffolding commands accepted module names the docs forbid:newtemplate omitted Invariants, Behavioral Examples, and Error Cases, so generated specs immediately failed frontmatter/section validation.validator.rsemitted "Unfilled companion scaffold marker" warnings forstatus: draftspecs (7 warnings on a freshnew --full), and stub-section warnings also fired on drafts; drafts are scaffolds by definition, so both checks are now gated on non-draft status.change,specs, Windows device names likecon), spaces/leading-dash/emoji, and case-fold collisions (Libvslib) were accepted. Addedvalidate_scaffold_module_name(strict: 1-64 chars, documented charset, reserved list) used by new/add-spec/scaffold/wizard, whilevalidate_module_namekeeps the base traversal-safety rules for internal callers (e.g. change.rs specs named "change"). Addedcheck_case_collision.new --helpnow documents the naming rules.Regression tests
commands::tests::validate_scaffold_module_name_rejects_overlongcommands::tests::validate_scaffold_module_name_rejects_reservedcommands::tests::validate_scaffold_module_name_rejects_spaces_leading_dash_emojicommands::tests::case_collision_detects_case_fold_duplicatesvalidator::tests::draft_specs_skip_companion_scaffold_markersVerified end-to-end:
new --full+check --strictexits 0 with 0 warnings.File overlap note
src/cli.rsalso carries theInit --repairflag belonging to #440 (same file, disjoint change); the #440 PR includes the identical cli.rs content.src/validator.rsis pending: it exceeded the MCP push size limit during publication and is being pushed to this branch separately (blob shae996f84671e0723f71cbc44fe5b58c846e4a61cd). The branch does not compile until it lands.Closes #442