Skip to content

sync-starlight.mjs anchor mapping drops ###-level headings, producing silent 404 cross-links in mirrors #765

Description

@theagenticguy

Problem

sync-starlight.mjs maps only ##-level USER_GUIDE.md anchors when rewriting cross-links for the Starlight mirrors. A ###-level heading falls through the mapping, and the mirror rewrites the cross-link to a page that does not contain that anchor. The result is a silent 404: the page loads, the anchor jump fails, and astro check cannot detect it because the link target page exists.

Why this is a design issue, not a per-link fix

This is the third instance of the anchor/route-mapping bug class in this stack:

  1. COST_ATTRIBUTION link mapping
  2. #repository-onboarding anchor
  3. The ### heading caught in self-review on docs(cost): document every max_budget_usd surface and reconcile the Blueprint gap #763 (relinked to #per-repo-overrides as a workaround)

Three instances of the same class point at the mapping design rather than the individual links. Candidate directions:

  • Map anchors at all heading levels, not just ##
  • Add a post-sync link-check step that resolves every rewritten anchor against the generated pages and fails the sync on a miss (closing the gap astro check leaves)

Origin

Found during self-review of PR #763 — see the merge-guidance comment: #763 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentationtooling

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions