Skip to content

Docs metadata: the index share card prints a 511-character description over its title, /privacy and /terms ship no metadata, and an internal MDX note leaks into llms-full.txt and Copy Markdown #299

Description

@objectstack-fleet

Found by the seat's site-wide audit of docs.objectos.ai on 2026-10-06, which built main @ b754364. Priority: P1 for the share card, P2 for the rest. Page titles are #167's and stay there. This card covers everything else in the head and the export.

Findings

Share card overflow

  • /og/docs/en/image.png, the index card, prints its 511-character description over the title, the divider and the brand line.
  • About 15 English pages have descriptions over 130 characters (e.g. build/ai-skills) and overflow the same way.
  • Cause: apps/docs/app/og/docs/[...slug]/route.tsx:30-33 passes the raw description.

Index description

/privacy and /terms

Internal note published

  • The {/* Naming, decided under #79… */} comment at resources/license.mdx:13-22 ships in /docs/resources/license.mdx, in llms-full.txt (around lines 11063-71) and in what Copy Markdown copies.
  • Cause: getLLMText (apps/docs/lib/source.ts:60) does not strip MDX comments.

Done looks like

  • Share cards: the OG route clamps the description at a word boundary, about 120 characters with an ellipsis. Spot-render the index card and 3 long-description cards and look at them.
  • Index: the /docs meta description is a short form of 160 characters or fewer, and the full paragraph stays in the page body.
    • The positioning gate's copy rule (a) must then compare the right string. Either add a short-description constant to apps/docs/lib/positioning.ts that the gate checks, or have the gate compare the body.
    • State the choice in the PR.
  • Descriptions: the other over-long and generic descriptions are rewritten to 160 characters or fewer, English only. Siblings are not touched.
  • Legal pages: /privacy and /terms get generateMetadata, with title, description, canonical, alternates only for authored locales, and og:title. A footer link reaches both.
  • Export: getLLMText strips {/* … */} comments, pinned by a test.
  • Gates: green.

Surface

  • apps/docs/app/og/**, apps/docs/app/[lang]/{privacy,terms}/page.tsx (metadata only), apps/docs/lib/source.ts, apps/docs/lib/positioning.ts, .github/scripts/check-positioning.mjs (rule (a) wiring only), the English frontmatter description: lines, and the footer component.

Order

After #294, because it touches the same legal page files. It can run before or after #167.


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions