Skip to content

🐛 - Bugbot treats fenced Markdown UI example fragments as broken live document links #873

Open

Description

@efraespada

Is there an existing issue for this?

  • I have searched the existing issues. The fenced/anchor search returns an unrelated extension specification, not this finding defect.

Which actions are affected?

Pull Request

Which platforms are affected?

Linux (native GitHub Actions review); macOS for the independent local parser/source-value probes.

Description

Bugbot publishes a 99%-confidence broken-navigation finding for fragment tokens inside a fenced Markdown UI mockup. The original document renders those tokens as literal code, not live links. The actual GitHub Markdown API confirms that no corresponding anchor elements exist; the same two link strings outside the fence produce two real anchors as a positive control. This is a completed, fully contextual review with a wrong markup-state premise, not missing context or an actual failing navigation.

Consumer: vypdev/domus#28, exact head2155e4b58c46a65bd31c5994eef0fb67c0a904fd.
Original source: specification lines205–230.
Finding: vypdev/domus#28 (comment) .
Native review: https://github.com/vypdev/domus/actions/runs/41665073143/job/126018092821 .
Finding ID: specs/household-administration-browser.md:223:broken-example-navigation-anchors.
Severity low; correctness; confidence99%.

The finding says readers following the two links remain at the example because the document lacks matching headings. A reader cannot follow these strings from the rendered document: they appear inside pre/code. Adding document headings or replacing these with technical-documentation destinations would misinterpret an application mockup. The consumer UI uses edit buttons.

Reproducing the issue

  1. Parse/render this exact minimal source, including its surrounding fence:
```markdown
## Links

[Household settings](#household-settings) · [Your preferences](#your-preferences)
```
  1. MarkdownIt identifies one markdown fence token for the original representative view and zero inline link tokens targeting those fragments. This is the parser already used by the consumer docs tooling; its result is independently checked below.
  2. Submit the full original immutable specification to GitHub POST /markdown with mode=gfm and context=vypdev/domus. Parse returned HTML: zero a[href='#household-settings'] / a[href='#your-preferences']; both original bracketed link strings remain literal under pre.
  3. Positive control: render the same two links without a fence through that same API. Exactly two target anchors exist. This confirms the absence assertion is sensitive to real active links.
  4. The native review nevertheless publishes the finding against the fenced line. The original rendered HTML, exact request inputs, parser proof and review telemetry are retained locally. Source identities are immutable and independently available through the links above.

Expected: fence-aware review does not report inactive example strings as broken live document navigation. If reviewing the internal completeness of a mockup, state that distinct scope and inspect intended application destinations rather than claiming a reader clicked a rendered source link.

Actual: a false broken-link finding is published with confidence99% and active navigation impact.

copilot Version

vypdev/copilot@v3 resolved3e7ceea08e6131360e026937d1c0cc1b120472e0; codex-cli0.166.0; configured codex/gpt-6-luna/smart. Current native logs verify the Action SHA and CLI version. Domus uses MarkdownIt and an independent real GitHub GFM API render.

Relevant Log Output

Complete context;11/11analysis partitions;candidate1/published1/open1;outcome completed. Native job126018092821 succeeds as a workflow while publishing this finding. All other current findings are resolved. Actual GitHub rendering: original targets0, unfenced positive-control targets2, literal code strings retainedtrue.

The newly implemented consumer C57 acceptance passes all eight maximum-Unicode locale/deployment/theme journeys and all36built catalog cases. No product code, alias/budget/identity policy, timeout, retry or coverage threshold changes. Green CI is not used as the sole counterevidence for a markup issue.

Additional context and comments

Please add an upstream regression separating real links from source examples in fenced/indented code, including a positive control and nested mockup headings. Verify claimed navigation against the rendered markup state before publishing or proposing document anchors. These upstream tests are proposed, not executed or modified here.

The consumer will clarify the mockup with the actual Edit household / Edit preferences button labels. That removes ambiguous pseudo-navigation source without implying that the original document contained live broken links. No manual thread resolution; no Copilot source/resources/configuration/workflows/models/credentials/bounds changes. Product acceptance continues independently on the existing issue/ref.

Activity

  1. added
    bugSomething isn't working
    bugfixSomething isn't working
    priority: highCritical issue, needs immediate attention.
    on Nov 3, 2026
  2. added theissue type on Nov 3, 2026
  3. moved this to Todo in vypdevon Nov 3, 2026
  4. changed the title [-]Bugbot treats fenced Markdown UI-example fragments as broken live document links[/-] [+]🐛 - Bugbot treats fenced Markdown UI example fragments as broken live document links[/+] on Nov 3, 2026
  5. vypbot commented on Nov 3, 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. efraespada commented on Nov 3, 2026

    @efraespada
    MemberAuthor

    Consumer clarification published as3200bd9278f57f142ed03b54843a38a4138fc0af. Native review completes with full context,11/11partitions, zero candidate/published/open/reopened/verification-required/unknown findings and automatic thread resolution by vypbot: https://github.com/vypdev/domus/actions/runs/41667579124/job/126026934169 . No manual resolution or Copilot change. Original actual-GitHub GFM rendering and unfenced positive control remain the counterevidence: the old example contained literal code strings, not live broken anchors. The consumer wording clarification does not establish that the original rendered document had failed navigation.

  7. efraespada commented on Nov 3, 2026

    @efraespada
    MemberAuthor

    Additional independently reproduced occurrence in Domus PR #29.

    The finding treats [Open the task](...) · [Review the schedule](...) inside the code fence as clickable documentation links. I rendered the exact reviewed full document through GitHub's real POST /markdown endpoint with GFM/repository context, then parsed the resulting HTML. It contains zero anchors whose href is .... An unfenced positive control containing the identical two link expressions produces exactly two such anchors. The full document has 13 other real anchors, so the parser is not merely missing all links. Original responses and a compact control receipt are retained privately; no credentials or owner HA data are included.

    Expected: a literal fenced interface mockup should not be reported as a broken navigable documentation destination. Actual: the review publishes that assertion as an open low finding. This is a matching symptom, not a claim about shared internal root cause.

    Consumer-side clarification removes the placeholder link syntax, uses plain application-button labels, and explicitly explains that the fence is literal mockup source. Copilot source, configuration, resources and review controls remain untouched. No thread has been manually resolved or finding dismissed; the next native review must reassess the changed source normally. Product task UI work continues independently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingbugfixSomething isn't workingpriority: highCritical issue, needs immediate attention.

Type

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions