Skip to content

prod - #171

Merged
tbantle22 merged 15 commits into
prodfrom
dev
Aug 17, 2026
Merged

prod#171
tbantle22 merged 15 commits into
prodfrom
dev

Conversation

@tbantle22

Copy link
Copy Markdown
Collaborator

No description provided.

tbantle22 and others added 15 commits August 13, 2026 11:59
The DoltHub v2 generator was one 448-line script. Hosted's v1 API needs the
same rendering — its spec deliberately shares DoltHub v2's error model,
success envelope, and pagination conventions — so the rendering moves to
scripts/lib/openapi-docs.mjs and generate-api-v2.mjs becomes config.

The only DoltHub-specific behaviour left is the Database tag's sub-resource
grouping, now an opt-in `groups` config rather than `if (tag === "Database")`.

Two defects fixed along the way, which is why the v2 pages change:

Schema links resolved one level too deep. Pages build to <page>/index.html
and are served from <page>/, so a sibling-relative `models#model-user` from
the user page resolved to .../user/models — dead on every generated v2 page,
and in the hand-written authentication.md and migration.md too. Links are now
site-root-relative; the rehype base-path plugin prefixes the site base.

curl examples dropped required query parameters, so the command as printed
was a 400. The SQL endpoints need ?ref=&q=; they now carry the spec's own
example values.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Documents the new public REST API for the Hosted control plane, under
Products > Hosted Dolt > API > v1, mirroring the DoltHub API layout.

specs/hosted-v1.yaml is vendored from ld's
hosted-web/packages/hosted/openapi/v1.yaml, the same way the DoltHub v2 spec
is. user.md, deployment.md, and models.md are generated from it by
scripts/generate-hosted-api-v1.mjs (npm run generate-hosted-api-v1) — never
hand-edit them.

The two READMEs and authentication.md are hand-written. The authentication
page documents the hsat.v1. token prefix, the settings/tokens flow, the
show-once secret, and the fixed expiry options, all of which live in ld
rather than in the spec.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Re-vendors specs/hosted-v1.yaml from ld main (1c62599829e), replacing the copy
taken from the taylor/hosted-api-v1-list-instances branch, and regenerates
deployment.md and models.md from it.

The changes are all prose — no endpoints, schemas, or fields moved (still 6
operations and 17 schemas). Two are rewordings of the create-deployment 5xx
guidance and the pagination description. The third is a real contract detail:
next_page_token is now documented as absent on the last page rather than
"absent or empty", and `meta` is omitted entirely there.

That last one also invalidated a hand-written sentence in v1/README.md, which
told clients to treat an empty token as the end of results. Updated to match:
presence of the token is the only check needed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The sections sit directly under API rather than behind a "v1" node — with one
version shipped, that layer was a click with nothing to choose. Every path
still carries /v1/, so adding a v2 later reintroduces the version layer without
moving any of these URLs.

The v1 overview page is kept in the tree as "Overview". It holds the endpoint
table, response envelope, error model, and stability policy, so dropping the
v1 node without it would have left that page reachable only by inbound link.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Operations, Quick Start, SQL Workbench, and Dolt Ecosystem were rendering at
the same level as their own subsections, so Logs and Monitoring looked like
peers of Operations rather than parts of it, and the right-side table of
contents was 24 flat entries.

The levels come from 4276c04, which demoted each page's section headings from
h1 to h2 but left their existing h2 subsections alone, collapsing the two onto
one level. Restored by mapping every heading back to its level at the original
import (90815da) plus one, since ccc4760 moved the page h1 into frontmatter —
so the five sections stay h2 and their 19 subsections become h3. Heading lines
only; no prose changed.

Anchor ids are unaffected: rehype-slug derives them from heading text, not
level, so existing deep links still resolve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Same collapse as hosted notable-features: 4276c04 demoted each page's section
headings from h1 to h2 without demoting their existing h2 subsections, so the
alternatives under "Dolt replaces…" — Soft Deletes, Change Data Capture, Files
in Git, Spreadsheets, and the rest — rendered as peers of the section that
introduces them instead of items within it.

Recovered the same way: each heading mapped back to its level immediately
before 4276c04, plus one for the page h1 that ccc4760 moved into frontmatter.
Every heading matched that baseline, so the mapping was mechanical rather than
a judgement call. 13 headings across 8 files; heading lines only, no prose
touched, and no file ends up skipping a level.

Anchor ids are unchanged — rehype-slug derives them from heading text.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Same collapse as notable-features and the use-case pages: 4276c04 demoted each
page's section headings from h1 to h2 without demoting their existing h2
subsections. The numbered walkthrough steps in cloning.md and
dolthub-as-remote.md, and the workbench/MySQL-client steps in
getting-started.md, all rendered as peers of the "Example" section that
introduces them rather than steps within it.

22 headings across 3 files, mapped back to their level immediately before
4276c04 plus one for the page h1 that ccc4760 moved into frontmatter.

Two headings in cloning.md postdate that baseline (added by a8ff9bf) and were
placed by hand: "5. Open a pull request" continues the numbered Example steps,
so it joins them at h3; "Branch permissions" is a separate topic that follows
the Example, so it stays at h2.

Heading lines only, no prose changed, no file skips a level, and no inbound
anchor links reference these pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Same collapse as the hosted and use-case pages, in both the Dolt and Doltgres
copies of reference/sql/server/troubleshooting.md: the diagnostic steps under
Basics and the symptoms under Problems rendered as peers of the sections that
group them.

17 headings across the two files (9 dolt, 8 doltgres), mapped back to their
level immediately before 4276c04 plus one for the page h1 that ccc4760 moved
into frontmatter. Every heading matched the baseline, so no manual placement
was needed. Submitting Issues correctly stays at h2 between the two grouped
sections.

Heading lines only; no prose changed, no skipped levels, no inbound anchor
links to these pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The page opened with an empty "## Expressions, Functions, Operators" heading
restating its own title. It was a near-duplicate h1 in the source ("Functions,
Operators" vs the title's "Functions, and Operators"); 4276c04 demoted it to h2
and ccc4760 then moved the real title into frontmatter, leaving the copy behind
with no content under it.

Removing it is the right fix here rather than re-leveling. The remaining
headings — Statements, Clauses, Table expressions, and the rest — were always
siblings, so they stay at h2 and the page needs no other change. The same
pattern covers the 44 DoltLab release notes, where nesting sections under the
duplicate would have been worse than leaving them flat.

The one inbound link to this page targets #window-functions, which is
unaffected and still resolves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Same collapse as the other pages: "Dolt CI Commands" and "Saved Query"
rendered as peers of the sections they belong to rather than parts of them.

2 headings, mapped back to their level immediately before 4276c04 plus one for
the page h1 that ccc4760 moved into frontmatter. Dolt CI Commands nests under
"CI starts with Dolt" and Saved Query under "Steps"; Workflows, Events, and
Jobs were always siblings and stay at h2.

Heading lines only, no skipped levels, and nothing links to this page's
anchors.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
storage-engine.md: B-Trees, Prolly Trees, and Comparison are the search-tree
types "The Database Backbone: Search Trees" introduces, not peers of it.

garbage-collection.md (dolt): Offline and "Online, with Automatic GC disabled"
are the two ways "How to run garbage collection manually" describes — that
section's own text introduces both.

5 headings, mapped back to their pre-4276c04 level plus one. Heading lines
only, no skipped levels. The two inbound anchor links to these pages
(#commit-graph, #automatic-gc) point at headings that stay at h2.

Doltgres's garbage-collection.md is deliberately left alone. The mechanical
mapping would nest its "Online" section under "How garbage is created", which
is where the original had it — but that section is about running GC via
select dolt_gc(), not about how garbage accumulates. The original nesting was
an authoring mistake, and its current flat structure is already correct.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
getting-started.md: "Make sure Docker works" belongs to the download step, and
the Basic Configuration and Adding Additional Functionality sections each own
the options listed beneath them.

pre-installer-administrator-guide.md: the three backup/restore methods sit
under "Backup and restore volumes", and the two setup steps under "Run DoltLab
on Hosted Dolt".

16 headings across the two files, mapped back to their pre-4276c04 level plus
one. Heading lines only, no skipped levels. The inbound anchor links from
aws/gcp/azure and start-doltlab-pre-installer all target headings that stay at
h2.

The 44 release notes are left alone — their extra heading is a restatement of
the page title rather than a lost section, so they need a deletion rather than
this re-leveling.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Restore lost heading hierarchy across the docs
@tbantle22
tbantle22 merged commit 0d36d47 into prod Aug 17, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant