Published llms.txt links do not resolve: llms-full.txt is missing and the file is not served at the site root

Open
#5,100 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
github-actions, shell

Research direction

Start with scripts/build_docs.sh and the publish step in documentation.yml, then reproduce the reported curl checks against the published site. Verify how versioned documentation files and the llms.txt entries are copied. Done means llms-full.txt is either served or no longer advertised, and llms.txt is available at the site root with links resolving successfully.

Written by the indexing model from the issue text.

Description

stale-notified
Required prerequisites
  • Consult the security policy. If reporting a security vulnerability, do not report the bug using this form. Use the process described in the policy to report the issue.
  • Make sure you've read the documentation. Your issue may be addressed there.
  • Search the issue tracker to verify that this hasn't already been reported. +1 or comment there if it has.
  • If possible, make a PR with a failing test to give us a starting point to work on!
Describe the bug

The docs publish an llms.txt for agent consumption (added in #3512). Two of its entry points return 404 as served:

  1. The file advertises llms-full.txt ("Full concatenated content of this documentation" under its Optional section), but the docs build does not generate that file: https://nvidia.github.io/cuda-quantum/latest/llms-full.txt returns 404.

  2. llms.txt itself is published only under the version prefixes (/latest/llms.txt, /0.15.0/llms.txt), not at the published site root where the llms.txt convention places it (https://llmstxt.org). Its links are written relative to the site root (for example latest/using/quick_start.md), so a client that fetches the file from where it is served and resolves links against that location gets /latest/latest/... paths, which return 404. The links resolve correctly only against the site root, where the file is absent.

Both observed against latest and 0.15.0 on August 11, 2026.

Steps to reproduce the bug
curl -s -o /dev/null -w "%{http_code}\n" https://nvidia.github.io/cuda-quantum/latest/llms.txt
# 200
curl -s -o /dev/null -w "%{http_code}\n" https://nvidia.github.io/cuda-quantum/latest/llms-full.txt
# 404: advertised in llms.txt
curl -s -o /dev/null -w "%{http_code}\n" https://nvidia.github.io/cuda-quantum/llms.txt
# 404: the site root placement the convention expects
curl -s -o /dev/null -w "%{http_code}\n" https://nvidia.github.io/cuda-quantum/latest/latest/using/quick_start.md
# 404: the first llms.txt link, resolved from the file's served location
curl -s -o /dev/null -w "%{http_code}\n" https://nvidia.github.io/cuda-quantum/latest/using/quick_start.md
# 200: the same link, resolved from the site root
Expected behavior
  • llms-full.txt exists at the advertised path, or the reference is removed until it ships.
  • llms.txt is served at the published site root so its links resolve as written. The per-version copies can stay; the root copy is the one the convention points agents at.
Is this a regression? If it is, put the last known working version (or commit) here.

Not a regression

Environment
  • CUDA-Q version: n/a (published docs site, verified against latest and 0.15.0)
  • Python version: n/a
  • C++ compiler: n/a
  • Operating system: n/a
Suggestions

scripts/build_docs.sh copies llms.txt from the repository root into the versioned install prefix. Also copying it to the top level of the published site would satisfy the convention and make the links correct exactly as written. For llms-full.txt, the build already generates a markdown mirror of every page (#3308), so concatenating those files in the order llms.txt lists them would produce the advertised file; dropping the reference is the smaller alternative until it ships.

Both changes are ready on a branch: https://github.com/NVIDIA/cuda-quantum/compare/main...rogerawong:cuda-quantum:fix-llms-txt-publishing. It generates llms-full.txt in scripts/build_docs.sh (verified against the published latest markdown mirrors: 1.4 MB from the 13 linked pages), and copies llms.txt and llms-full.txt to the site root in the publish step of documentation.yml when the latest docs are updated. Happy to open it as a PR if site-root placement is the direction you want.

I hit both of these while building a community MCP server that serves these docs to AI agents (cudaq-docs-mcp). The markdown mirrors, the Sphinx inventory, and llms.txt made that straightforward to build, and these two fixes would help any agent that discovers the docs the standard way.

Dominant language
C++
Stars
1.1k
Forks
455
Avg merge
1d 22h
Merged PRs (30d)
165

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA/cuda-quantum

All issues in NVIDIA/cuda-quantum

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.