Repository navigation
fix(sdd): distinguish protocol notation from repository references - #866
Conversation
…-repository-files: classify protocol notation before checking file references
|
To preview the documentation for this pull request, visit the following URL:
|
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on0e95be7. 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
Bugbot: review complete
|
Copilot approval · Human review neededStatus: A protected workflow, policy, or trust-boundary file changed. Technical evidenceRevision: |
…-repository-files: prove hidden links are filtered before occurrence counting
Codecov Report✅ All modified and coverable lines are covered by tests. 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
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Current status: All findings originating in this review are resolved.
Last reconciled on0e95be7. 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
…-repository-files: distinguish inline link examples from real destinations
A complete SDD could fail
repository-pathbecause 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:
55329edf. Both new pure reference policies have 100% of all coverage metrics. Official Codecov confirms the same 134/134 with zero misses/partials for0e95be7a2against55329edf.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.