Skip to content

fix: reject incomplete SDD catalog discovery for symlinks - #815

Merged
efraespada merged 1 commit into
developfrom
bugfix/804-sdd-catalog-discovery-silently-skips-unregistered-specification-symlinks
Oct 30, 2026
Merged

efraespada merged 1 commit into
developfrom
bugfix/804-sdd-catalog-discovery-silently-skips-unregistered-specification-symlinks

Conversation

@efraespada

@efraespada efraespada commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

Specification catalog discovery now rejects every encountered symbolic link under specs/ without following it. This prevents validation or generation from silently treating an incomplete tree as complete, and avoids publishing a catalog when discovery encounters a link.

What changed

  • Catalog validation collects discovery errors while preserving its error-array result and existing file ownership checks.
  • The exported discoverSpecificationFiles helper returns a sorted list for supported trees and throws when discovery encounters a symbolic link.
  • Generation and validation reject linked entries before publication, including links using normally excluded names; ordinary-file exclusions remain unchanged.
  • Documentation and catalog evidence describe the rejection behavior and recovery steps.

Validation

  • 20 new filesystem and CLI regressions reproduced the omission in the unchanged source for 18 cases; both supported-tree controls passed.
  • The corrected catalog suite passed all 174 tests; four related suites passed 115 tests with one existing platform skip.
  • Focused validator coverage: 100% lines and functions, 97.91% statements, and 95.10% branches; no uncovered statements or branches intersect added lines.
  • Specification, documentation, workflow, type, lint, package, build, and Graphify checks passed; isolated CLI/API/web smoke checks passed.
  • The normal commit hook passed: 813 suites and 15,433 tests, with 35 existing skips; lint, committed bundle validation, and tracked-tree consistency passed.

Closes #804

…ation-symlinks: reject symbolic links during specification discovery
@docs-page

docs-page Bot commented Oct 30, 2026

Copy link
Copy Markdown

To preview the documentation for this pull request, visit the following URL:

docs.page/vypdev/copilot~815

Documentation is deployed and generated using docs.page

@vypbot
vypbot self-requested a review October 30, 2026 18:51
@vypbot vypbot added the size: L Indicates a large-sized task or issue that requires significant effort and time. label Oct 30, 2026
@vypbot vypbot added this to vypdev Oct 30, 2026
@vypbot vypbot moved this to In Progress in vypdev Oct 30, 2026
@vypbot
vypbot changed the base branch from develop to master October 30, 2026 18:51
@vypbot
vypbot changed the base branch from master to develop October 30, 2026 18:52
@vypbot vypbot added the 85% Progress: 85% label Oct 30, 2026
@vypbot

vypbot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Bugbot: review complete

Current status: No active findings on 73889bd.

Pull request · Verified commit · Workflow run

@vypbot

vypbot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Copilot approval · Human review needed

Status: A protected workflow, policy, or trust-boundary file changed.
Completed: 1/1 observed checks succeeded; Bugbot complete.
Action required: Ask a human reviewer to decide.
Impact: No new approval is confirmed for this revision.
See checks

Technical evidence

Revision: 73889bd2172b; base: adf86815783f; reason: protected-path.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.17%. Comparing base (5b3664f) to head (73889bd).
⚠️ Report is 107 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #815      +/-   ##
===========================================
+ Coverage    94.50%   95.17%   +0.67%     
===========================================
  Files         1035     1104      +69     
  Lines        33299    36348    +3049     
  Branches      9824    10852    +1028     
===========================================
+ Hits         31468    34594    +3126     
+ Misses         699      673      -26     
+ Partials      1132     1081      -51     
Files with missing lines Coverage Δ
...infrastructure/specification_catalog_validator.cjs 96.55% <100.00%> (ø)

... and 160 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@efraespada
efraespada merged commit bc4aec7 into develop Oct 30, 2026
13 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in vypdev Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

85% Progress: 85% size: L Indicates a large-sized task or issue that requires significant effort and time. state:verified

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

🐛🧑‍💻 - SDD catalog discovery silently skips unregistered specification symlinks

3 participants