Skip to content

πŸ›πŸ§‘β€πŸ’» - bug review misresolves valid relative SDD links and persists false broken path findingsΒ #772

Closed

Description

@efraespada

Is there an existing issue for this?

  • I have searched the existing issues.

Which actions are affected?

Pull Request

Which platforms are affected?

macOS, Linux

Description

Bugbot persisted three high-confidence broken-link findings in vypdev/geckocv#32 based on incorrect relative-path resolution. From specs/<file>.md, it claims ../specs/<file>.md resolves to specs/specs/<file>.md. Normal resolution actually returns specs/<file>.md, which exists. This is distinct from the real nested catalog renderer bug #768 and real destination symlink bug #771; those should remain actionable.

Affected review head: 80bd64fb9d83f1cad9c4828e141dd4bf16c4dc8b. Findings include private-data-governance/private-packet-sharing, semantic-content-editor and skill-gap-action-plans, with confidence 100% and the same false normalization premise.

Reproducing the issue

For each affected document in that checkout, resolve relative to its containing directory:

const target = path.resolve(root, 'specs', '../specs/semantic-content-editor.md');
assert.equal(path.relative(root, target), 'specs/semantic-content-editor.md');
assert.equal(fs.existsSync(target), true);

Executed against the actual consumer checkout for private-data-governance, semantic-content-editor and skill-gap-action-plans; all three resolved to the existing root specs/ document. This read-only check did not modify files or follow a remote URL. The links include an architecture anchor that exists in the documents.

Expected: normalize relative paths from the source file's directory and inspect existence/anchors before persisting a concrete high-confidence path claim. Keep reporting genuinely broken links. Prefer deterministic path evidence over a model's unverified concatenation; add paired fixtures for valid ../specs/file.md and invalid ./specs/file.md from inside specs/.

copilot Version

Consumer v3 / 3.10.5 at inspection. Review run: https://github.com/vypdev/geckocv/actions/runs/40747824614

Relevant Log Output

private-data-governance: specs/private-data-governance.md exists=true
semantic-content-editor: specs/semantic-content-editor.md exists=true
skill-gap-action-plans: specs/skill-gap-action-plans.md exists=true

Additional context and comments

https://github.com/vypdev/geckocv/pull/32#discussion_r4404773047
https://github.com/vypdev/geckocv/pull/32#discussion_r4404773060
https://github.com/vypdev/geckocv/pull/32#discussion_r4404773068

Simplifying a valid self-link to an anchor is an optional readability improvement, not evidence that the reported nonexistent nested path exists. This issue does not request disabling review, suppressing valid security findings or bypassing guarded approval.

Activity

  1. added
    bugSomething isn't working
    bugfixSomething isn't working
    priority: highCritical issue, needs immediate attention.
    on Oct 28, 2026
  2. added theissue type on Oct 28, 2026
  3. moved this to Todo in vypdevon Oct 28, 2026
  4. changed the title [-]bug: review misresolves valid relative SDD links and persists false broken-path findings[/-] [+]πŸ› - bug review misresolves valid relative SDD links and persists false broken path findings[/+] on Oct 28, 2026
  5. vypbot commented on Oct 28, 2026

    @vypbot
    Contributor

    Hi! I’m @vypbot, the Copilot assistant for this repository.

    I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.

    Try /copilot help to see the available commands, or mention @vypbot with your question.

  6. moved this from Todo to In Progress in vypdevon Oct 29, 2026
  7. added
    branchedIndicates that a branch has been created for this issue.
    on Oct 29, 2026
  8. changed the title [-]πŸ› - bug review misresolves valid relative SDD links and persists false broken path findings[/-] [+]πŸ›πŸ§‘β€πŸ’» - bug review misresolves valid relative SDD links and persists false broken path findings[/+] on Oct 29, 2026
  9. added
    state:workingWork can proceed on the verified branch or without a branch.
    on Oct 29, 2026
  10. vypbot commented on Oct 29, 2026

    @vypbot
    Contributor

    Implementation plan

    Current status: Ready to start. No action is required from maintainers before implementation.

    1. Trace Bugbot path handling
      • Review the finding-generation, path-validation, and publication flow to identify where repository-relative Markdown links are interpreted.
      • Keep the existing review and publication safeguards intact.
    2. Validate links from the source directory
      • Resolve relative links from the containing directory of the source file, then check the destination and any referenced anchor before persisting a concrete broken-link finding.
      • Retain findings when deterministic checks confirm the destination or anchor is missing.
    3. Add paired regression fixtures
      • Cover valid `../specs/file.md` and invalid `./specs/file.md` links from within `specs/`, including an existing anchor.
      • Verify invalid-link findings remain reportable and unrelated findings such as symlink issues stay actionable.
    4. Update Bugbot guidance and documentation
      • Align reviewer instructions with the deterministic path evidence and avoid relying on unverified path concatenation.
      • Document the validation behavior in the relevant Bugbot documentation.

    Acceptance: A regression test confirms that `../specs/file.md` from a document in `specs/` resolves to the existing root `specs/file.md` and does not produce a broken-link finding, while `./specs/file.md` is reported when its resolved destination is missing.

    Need something else? Mention the bot with a question or use /copilot help.

  11. added
    size: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.
    90%Progress: 90%
    and removed on Oct 29, 2026
  12. vypbot commented on Oct 29, 2026

    @vypbot
    Contributor

    Issue closed β€” historical progress

    Current status: closed as completed.

    The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.

    Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.

    Last assessment before closure (historical)

    Progress: 88% β€” in progress

    > Current status: [R1] Expected: normalize relative paths from the source file's directory and inspect existence/anchors before persisting a concrete high-confidence path claim. Keep reporting genuinely broken links. Prefer deterministic path evidence over a model's unverified concatenation; add paired fixtures for valid ../specs/file.md and invalid ./specs/file.md from inside specs/. β€” The source patch adds renderer-aware path and anchor guidance, paired valid and missing-path fixtures, and retains genuinely broken-link cases. No independent execution is established by generated metadata or reported samples.
    [R2] "Review the finding-generation, path-validation, and publication flow to identify where repository-relative Markdown links are interpreted.", β€” The changes cover prompt generation, benchmark guidance, response schema, path-oracle fixtures, and publication-resolution observations, addressing the review and publication flow described by the issue.
    [R3] "Keep the existing review and publication safeguards intact." β€” The patch preserves resolution ownership guidance and tests owner and non-owner partitions; the reported synthetic harness observes the obsolete ID and no non-owner resolutions. This is source and reported evidence, not provider-side execution attestation.
    [R4] "Resolve relative links from the containing directory of the source file, then check the destination and any referenced anchor before persisting a concrete broken-link finding.", β€”
    [untrusted content truncated]

    Next: [R10] "acceptance": "A regression test confirms that ../specs/file.md from a document in specs/ resolves to the existing root specs/file.md and does not produce a broken-link finding, while ./specs/file.md is reported when its resolved destination is missing." β€” Independently verify the regression test execution for both link cases and confirm it produces no finding for the valid link and reports the missing destination for the invalid link.

  13. moved this from In Progress to Done in vypdevon Oct 29, 2026
  14. added
    100%Progress: 100%
    and removed
    in-progressStart work on an admitted issue.
    state:workingWork can proceed on the verified branch or without a branch.
    on Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

100%Progress: 100%branchedIndicates that a branch has been created for this issue.bugSomething isn't workingbugfixSomething isn't workingpriority: highCritical issue, needs immediate attention.size: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.

Type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions