* docs: expand redirect map with 15 additional legacy paths
Adds redirects for paths uncovered in a second-pass audit against
the live published site. Each destination verified to return HTTP 200
on https://zitniklab.hms.harvard.edu/ToolUniverse/.
New /tutorials/ → /guide/, /tools/, /expand_tooluniverse/ redirects:
- make_your_data_searchable, make_your_data_agent_searchable,
build_search_and_share_datastores → guide/make_your_data_agent_searchable
- skills → guide/skills_showcase
- tool_finder → guide/finding_tools
- overview → guide/index
- remote_tools → tools/remote_tools
- mcp_integration → expand_tooluniverse/remote_tools/mcp_integration
Top-level legacy pages (404 at root, now redirected):
- getting_started → guide/python_guide
- deployment, contributing, changelog → about/<page>
- faq → help/faq
Local build confirms all 22 redirect stubs generate and that every
destination file exists in the build output.
* docs: fix broken sphinx-tabs, dead toctrees, orphan pages, missing image
Build now produces 0 warnings/errors of these structural categories
(down from ~280 such issues):
- Re-enable sphinx_tabs.tabs extension (3.5.0 supports Sphinx 9.x);
fixes 7 broken "Unknown directive type tabs" errors that made
help/faq.html and help/troubleshooting.html render incomplete.
- Drop 25+ dead toctree entries in api/modules.rst and
api/tooluniverse.rst that referenced per-module pages never
generated by sphinx-apidoc; modules.rst now points at the existing
comprehensive tooluniverse autodoc page.
- Wire 16 orphan pages into the master toctree so they're reachable
from the navigation, including tooluniverse_case_study,
visualization_tutorial, expert_feedback, literature_search_web_ui,
euhealth, logging, openrouter, streaming, vllm, wechat_community,
simbad_tools, the guide/index landing page, and the full
expand_tooluniverse sub-tree.
- Remove three stale ":doc:" links to old/{quickstart,installation,
getting_started} from sitemap.rst (those directories are excluded
from the build) and mark sitemap.rst as :orphan: since it's a
parallel nav surface by design.
- Mark MCP_TASKS_GUIDE.md as orphan and exclude the internal
DOCUMENTATION_STRUCTURE.md meta-doc from the build.
- Add the missing tools/remote/ui.jpg referenced by the remote
expert_feedback page (previously: broken image).
* docs: eliminate all 49 structural Sphinx ERRORs (broken tables, directives, headings)
Round-3 build cleanup. Builds now finish with 0 structural ERRORs of any
category (previous: 49 ERRORs spread across 20 files). Total
warnings/errors dropped from 280 → 114; the remaining 114 are all in
Python source-file docstrings (out of scope for a docs PR).
Categories fixed:
**Malformed tables** (8 files)
Replace ASCII grid tables with mis-aligned pipes and inline-markdown
pipe tables (which RST mis-parses as substitution references) with
``list-table`` directives that render correctly across all themes:
- guide/literature_search_tools_tutorial.rst (two tables)
- guide/cache_system.rst (env-var table whose first column overflowed)
- guide/clinical_guidelines_tools.rst
- guide/make_your_data_agent_searchable.rst
- expand_tooluniverse/contributing/index.rst
- expand_tooluniverse/contributing/remote_tools.rst
- expand_tooluniverse/reference/index.rst
**list-table indentation** (3 files)
Option lines and list items were indented with 1 space (only valid for
3-space) so Sphinx silently dropped them and reported "exactly one
bullet list expected":
- guide/finding_tools.rst
- guide/http_api.rst
- guide/tools.rst
**Code-block separators** (5 files, ~30 directives)
Add the required blank line between an introductory paragraph and a
following ``.. code-block::``. Without it, Sphinx treated the directive
as a continuation of the paragraph and emitted "Unexpected indentation"
for every line of the code:
- guide/literature_search_tools_tutorial.rst
- expand_tooluniverse/quick_start.rst
- expand_tooluniverse/contributing/local_tools.rst
- expand_tooluniverse/contributing/remote_tools.rst
- guide/make_your_data_agent_searchable.rst
**Heading-style + indentation** (3 files)
- guide/building_ai_scientists/mcp_name_shortening.rst — strip stray
leading spaces from two section titles + downgrade unknown
``.. critical::`` to ``.. important::``
- about/deployment.rst — remove rogue ``=========`` underline below
numbered-list items that mis-led the parser into skipping heading
levels
- guide/make_your_data_agent_searchable.rst — extend four "title
underline too short" underlines + convert four markdown ``` fences
to RST literal blocks
**Misc directive / target fixes**
- guide/python_guide.rst — replace nonexistent ``.. success::`` with
a tip-styled ``.. admonition::``
- guide/euhealth_tools_tutorial.rst — indent ``.. note::`` body so it
is no longer an empty admonition
- help/troubleshooting.rst — same fix + remove rogue ``=========``
line that was being read as a section overline
- tools/cellosaurus_tools.rst — wrap ``CVCL_`` in literal backticks
so the trailing underscore stops triggering missing-target lookups
- expand_tooluniverse/index.rst — promote two leading-space bullet
lists to standalone lists so the indentation is correct
- expand_tooluniverse/reference/architecture.rst — switch ``.. graphviz::``
(extension not installed) to a plain ``.. code-block:: text``;
the embedded content was Mermaid pseudo-code anyway
- guide/tools.rst — strip leading space on a section title
* docs: clear all remaining content warnings (lists, headings, refs, grids)
Round-4 build cleanup. Builds now finish with 0 structural ERRORs and 0
content WARNINGs; the only remaining ~11 warnings are pre-existing autodoc
infrastructure noise (duplicate object index entries from autosummary, and
the ghost_tool / medrxiv_tool modules that genuinely fail to import) — none
are in hand-written documentation.
Fixes in this commit:
**sphinx-design grids** (python_guide.rst)
Re-indent two ``.. grid::`` blocks whose first card + options used 1-space
indentation (Sphinx silently dropped them → "parent of grid-item should be
grid-row"). Also fix a ``.. button-ref::`` whose content was indented 1
space, producing a broken ``:any:`` cross-reference, and point it at the
absolute ``/api/modules``.
**Numbered/bulleted sub-lists** (tool_composition, literature_search ×2,
architecture, literature_search_web_ui, make_your_data, agentic_tools,
finding_tools, euhealth)
Insert the required blank line before nested lists and re-indent 1-space
sub-bullets to align under their parent list marker. Clears ~80
"list ends without a blank line; unexpected unindent" warnings.
**Title underlines** (logging, tool_caller, loading_tools, tool_composition,
euhealth, make_your_data, contributing/local_tools, reference/index,
remote_tools/tutorial, troubleshooting + bulk pass)
Extend underlines shorter than their title text; strip stray leading spaces
from section titles that Sphinx read as block quotes.
**Stray markdown in RST** (make_your_data, local_tools)
Convert leftover ``###`` headings and ``` ``` fences to proper RST
directives; remove a rogue ``------`` separator that was being parsed as a
section underline.
**Duplicate autosectionlabel** (make_your_data)
Rename the second "How it works" heading to "How sharing works".
**uniprot_tools** (JSON + generated RST)
Rephrase the ``min_length`` / ``max_length`` descriptions so the open-ended
range syntax no longer contains a bare ``*`` that RST read as an unterminated
emphasis marker. Fixed in the JSON source so it survives doc regeneration.