Skip to content

docs: add the documentation-rewrite specification - #850

Merged
ocots merged 1 commit into
mainfrom
docs/specification-reports
Aug 9, 2026
Merged

docs: add the documentation-rewrite specification#850
ocots merged 1 commit into
mainfrom
docs/specification-reports

Conversation

@ocots

@ocots ocots commented Aug 9, 2026

Copy link
Copy Markdown
Member

The v2.1.0-beta upgrade left docs/ out of scope. The site now documents an API that no longer exists, and the doc environment cannot even resolve against the current package. This adds the specification for the rewrite, as a set of reports under docs/reports/.

Why a specification first: the work is twelve PRs. Fixing the sitemap, the conventions and the per-page contract up front is what lets those PRs be written and reviewed independently rather than as one unreviewable diff.

What the reports establish:

  • a sitemap organised by capability (Modelling / Solve / Results / Flows / Geometry / Examples), replacing the single "Manual" node that currently holds thirteen unrelated pages;
  • page-by-page content, the exact symbols each page must cover, and what to harvest from the old pages;
  • a coverage matrix over the 193 symbols in names(OptimalControl), which is the objective acceptance criterion for the whole effort.

Findings that drive the plan, each verified against the resolved package versions rather than the sibling checkouts:

  • the doc environment is broken, not merely stale: docs/Project.toml pins CTBase = "=0.18.8" against 0.28, has neither CTLie nor DifferentiationInterface (without which the whole geometry API is inert), and docs/make.jl:108 fetches a CTFlowsODE extension that was deleted;
  • manual-differential-geometry.md is built entirely on Lie, and HamiltonianLift, none of which exist;
  • manual-macro-free.md:252-279 documents a scalar/vector asymmetry as "intentional" — the "1-D is a scalar" rule removed it, and test/suite/shape/test_shape_contract.jl pins the current behaviour on both the direct and the indirect path;
  • api/public.md lists ~10 dead entries and misses every symbol added since;
  • flow accessors are asymmetric: control_law and pseudo_hamiltonian are re-exported but hamiltonian and hamiltonian_vector_field are not;
  • two capabilities are fully supported and documented nowhere — open/closed loop simulation, and saving/loading solutions.

docs/reports/ sits beside docs/src/, not inside it, so neither Documenter nor VitePress reads it. No behaviour change.

The v2.1.0-beta upgrade left `docs/` out of scope. The site now documents an
API that no longer exists, and the doc environment cannot even resolve against
the current package. This adds the specification for the rewrite, as a set of
reports under `docs/reports/`.

Why a specification first: the work is twelve PRs. Fixing the sitemap, the
conventions and the per-page contract up front is what lets those PRs be
written and reviewed independently rather than as one unreviewable diff.

What the reports establish:

- a sitemap organised by capability (Modelling / Solve / Results / Flows /
  Geometry / Examples), replacing the single "Manual" node that currently
  holds thirteen unrelated pages;
- page-by-page content, the exact symbols each page must cover, and what to
  harvest from the old pages;
- a coverage matrix over the 193 symbols in `names(OptimalControl)`, which is
  the objective acceptance criterion for the whole effort.

Findings that drive the plan, each verified against the *resolved* package
versions rather than the sibling checkouts:

- the doc environment is broken, not merely stale: `docs/Project.toml` pins
  `CTBase = "=0.18.8"` against `0.28`, has neither `CTLie` nor
  `DifferentiationInterface` (without which the whole geometry API is inert),
  and `docs/make.jl:108` fetches a `CTFlowsODE` extension that was deleted;
- `manual-differential-geometry.md` is built entirely on `Lie`, `⋅` and
  `HamiltonianLift`, none of which exist;
- `manual-macro-free.md:252-279` documents a scalar/vector asymmetry as
  "intentional" — the "1-D is a scalar" rule removed it, and
  `test/suite/shape/test_shape_contract.jl` pins the current behaviour on both
  the direct and the indirect path;
- `api/public.md` lists ~10 dead entries and misses every symbol added since;
- flow accessors are asymmetric: `control_law` and `pseudo_hamiltonian` are
  re-exported but `hamiltonian` and `hamiltonian_vector_field` are not;
- two capabilities are fully supported and documented nowhere — open/closed
  loop simulation, and saving/loading solutions.

`docs/reports/` sits beside `docs/src/`, not inside it, so neither Documenter
nor VitePress reads it. No behaviour change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ocots
ocots merged commit a9499b0 into main Aug 9, 2026
7 of 8 checks passed
@ocots
ocots deleted the docs/specification-reports branch August 9, 2026 20:36
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