Skip to content

fix(sdd): distinguish protocol notation from repository references - #866

Merged
efraespada merged 3 commits into
developfrom
bugfix/835-sdd-path-validation-mistakes-protocol-notation-for-missing-repository-files
Nov 3, 2026
Merged

efraespada merged 3 commits into
developfrom
bugfix/835-sdd-path-validation-mistakes-protocol-notation-for-missing-repository-files

Conversation

@efraespada

@efraespada efraespada commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

A complete SDD could fail repository-path because an HTTP route, media type, asset URL or mode alternative was treated as a missing repository file. Classify those roles while keeping exact file declarations, genuine citations and immutable Git evidence strict. A future directory is valid only as an ancestor of a validated new-file declaration.

Reference structure now reuses the existing CommonMark parser: whole inline link/image/reference-definition examples are notation; actual links, images and used reference-style destinations remain checked. Preserve known/blocked identities and explicit File roles, including space-bearing paths. Validate Path/Change rows once as declarations, rather than reinterpreting their file names as prose fragments. Reject visible NUL before normalization can alias a different filename.

The existing localized card and bounded repair receive only closed origin, occurrence and cause facts, without rejected paths/text. Reference ordinals explicitly exclude already validated declaration rows. No new setting, permission, provider call, publication authority or attempt budget is added; ownership, freshness, identity/mapping/budget and safe-path checks remain in force.

Validation:

  • 871 Jest suites / 16,912 passing tests; 35 pre-existing skips. There are 127 distinct new regressions, including native Git update/companion, contrasting strict-path cases, Markdown boundaries and English/Spanish diagnostics.
  • The same frozen thirteen original controls produce twelve valid passes and the correct missing-file rejection; all pass format validation. Unavailable historical generated drafts remain explicitly unknown.
  • Full local LCOV: 134/134 modified coverable lines, zero misses/partials against 55329edf. Both new pure reference policies have 100% of all coverage metrics. Official Codecov confirms the same 134/134 with zero misses/partials for 0e95be7a2 against 55329edf.
  • 267 extension tests, all metrics 100%; normal build/hooks, package/architecture, types/lint, documentation/spec/workflow checks and Graphify pass.

The inline-link defect is reproduced and corrected; the other two claims have retained counterevidence. The full current-head review is complete (2/2 parts, all 15 eligible files out of 18 changed files), explicitly resolves all three retained findings and reports no new findings or incomplete source. Native Linux/macOS/Windows pass on the exact base/head merge tree, with deferred cleanup verified; Firefox ESR records 19 real checks. CI, Commit and branch synchronization pass. Merge still requires a final fresh head/base/protection audit. No consumer application/model execution is claimed.

Closes #835.

…-repository-files: classify protocol notation before checking file references
@docs-page

docs-page Bot commented Nov 3, 2026

Copy link
Copy Markdown

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

docs.page/vypdev/copilot~866

Documentation is deployed and generated using docs.page

@vypbot
vypbot self-requested a review November 3, 2026 08:01
@vypbot vypbot added this to vypdev Nov 3, 2026
@vypbot vypbot moved this to In Progress in vypdev Nov 3, 2026
@vypbot
vypbot changed the base branch from develop to master November 3, 2026 08:01
@vypbot vypbot added the size: XXL Indicates an extremely large task or issue that requires significant time and effort to complete. label Nov 3, 2026
@vypbot
vypbot changed the base branch from master to develop November 3, 2026 08:01
@vypbot vypbot added the 90% Progress: 90% label Nov 3, 2026

@vypbot vypbot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 0e95be7. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 552a790 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • low: Hidden links skew the reported reference occurrence — src/domain/sdd_draft_consistency.ts:263

Comment thread src/domain/sdd_draft_consistency.ts Resolved
@vypbot

vypbot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Bugbot: review complete

Current status: No active findings on 0e95be7.

Pull request · Verified commit · Workflow run

@vypbot

vypbot commented Nov 3, 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: 0e95be7a2773; base: 55329edfc741; reason: protected-path.

…-repository-files: prove hidden links are filtered before occurrence counting
@codecov-commenter

codecov-commenter commented Nov 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.37%. Comparing base (55329ed) to head (0e95be7).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #866      +/-   ##
===========================================
+ Coverage    95.35%   95.37%   +0.01%     
===========================================
  Files         1138     1141       +3     
  Lines        37617    37735     +118     
  Branches     11205    11241      +36     
===========================================
+ Hits         35870    35988     +118     
  Misses         672      672              
  Partials      1075     1075              
Files with missing lines Coverage Δ
...cation/policies/sdd_preparation_message_catalog.ts 100.00% <ø> (ø)
...lication/policies/sdd_preparation_status_policy.ts 100.00% <100.00%> (ø)
src/domain/sdd_draft_consistency.ts 100.00% <100.00%> (ø)
src/domain/sdd_repository_reference.ts 100.00% <100.00%> (ø)
src/domain/sdd_validation_diagnostic.ts 100.00% <ø> (ø)
src/domain/sdd_visible_references.ts 100.00% <100.00%> (ø)
src/testing/sdd_reference_fixture.ts 100.00% <100.00%> (ø)
🚀 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.

@vypbot vypbot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 0e95be7. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 2 potential problems when commit df63e67 was analyzed. This snapshot is historical; use the status block above for current state. 2 findings are linked to changed code.

Findings

  • medium: Unknown-root directory references bypass existence checks — src/domain/sdd_repository_reference.ts:82
  • low: Inline code link examples are validated as real Markdown links — src/domain/sdd_draft_consistency.ts:263

Comment thread src/domain/sdd_repository_reference.ts Resolved
Comment thread src/domain/sdd_draft_consistency.ts Resolved
…-repository-files: distinguish inline link examples from real destinations
@efraespada
efraespada merged commit 6ff1eeb into develop Nov 3, 2026
20 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in vypdev Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

65% Progress: 65% size: XXL Indicates an extremely large task or issue that requires significant time and effort to complete. state:verified

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

🐛🧑‍💻 - SDD path validation mistakes protocol notation for missing repository files

3 participants