Skip to content

Fix site-wide /learn/ navigation target and 16 broken-link failures #18

Description

@OriNachum

Summary

The Astro site emits a site-wide /learn/ navigation link from both Header.astro and Footer.astro, but this checkout does not build a matching local route. The internal link checker therefore fails on every generated page.

Current behavior

uv run --frozen org site link-check --json exits with code 1 and reports 16 broken links:

  • agents/colleague/index.html ×2
  • agents/devague/index.html ×2
  • agents/index.html ×2
  • agents/lobes/index.html ×2
  • agents/reachy-mini-cli/index.html ×2
  • engage/index.html ×2
  • framework/index.html ×2
  • index.html ×2

Every failure is:

/learn/ (missing file)

The two failures per page correspond to the shared Header and Footer navigation entries:

  • site-astro/src/components/Header.astro
  • site-astro/src/components/Footer.astro

There is a product entry for learn-cli in site-astro/src/data/site.ts whose public URL is https://agentculture.org/learn/, but no local Astro page currently generates that path.

Reproduction

From the repository root:

npm run build
uv run --frozen org site link-check --json

The build succeeds; the link check reports the 16 failures above.

Expected behavior

The Learn navigation target has a deliberate, working contract. Either:

  1. the Astro site builds a local /learn/ route, or
  2. the shared navigation points to the intended external destination in a way the site and checker consistently support.

Choose the product-correct behavior rather than suppressing the checker.

Acceptance criteria

  • npm run build succeeds.
  • uv run --frozen org site link-check --json exits successfully.
  • Header and Footer Learn links resolve from every generated page.
  • Header/Footer navigation behavior remains consistent, including current-page semantics if /learn/ becomes a local section.
  • No unrelated route, content, or checker exclusions are introduced.
  • A regression test or deterministic check prevents a shared navigation target from silently pointing to a missing route again.

Context

Discovered during the pre-wave baseline for the Presentations tab plan on branch feat/presentations-neurosymbolic-robots. That work records approved deviation d1: new presentation links must be clean while the exact 16 pre-existing /learn/ failures are treated as a no-regression baseline. This issue is the follow-up needed to restore the full green link-check contract.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions