Skip to content

docs: migration page - #874

Merged
ocots merged 2 commits into
mainfrom
docs/migration
Aug 23, 2026
Merged

docs: migration page#874
ocots merged 2 commits into
mainfrom
docs/migration

Conversation

@ocots

@ocots ocots commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

Full rewrite of docs/src/migration.md (was a 4-line stub) per docs/reports/10-migration.md Part 2 — the last content page in the docs rewrite (PR 12 of the split; PR 13 will drop docs/attic/ once this merges).

  • ## Start here: Flow needs an integrator — the single most common first failure
  • ## What was renamed — old→new spelling table
  • ## What changed shape — the flow call convention, constrained flows, augment=variable_costate=, the is_ keyword prefix
  • ## What changed meaning silently — three !!! warnings: Lift(f::Function) no longer isa AbstractHamiltonian, OpenLoop wrong-arity failing only at run time, and a genuine silent argument-position misread on the old 4-positional flow call against an OptimalControlFlow
  • ## What you get instead of an error — every src/deprecated.jl shim's actual PreconditionError message
  • ## What could not be shimmed, and why — the 5 spellings that can't be intercepted, with the real current failure mode for each
  • ## Legacy initial guesses — harvested from docs/attic/manual-initial-guess.md
  • ## v1.x → v2.0 — pointer into BREAKING.md, not a copy

Every quoted error message and every "silent" behavior claim was live-verified against the current package rather than transcribed. That turned up two stale claims, both fixed in this PR:

  • BREAKING.md itself said a missing integrator gives a bare MethodError — it's actually a clean ExtensionError naming the missing package.
  • The spec's "NamedTuple form dropped from attic/manual-initial-guess.md" turned out to mean dropped from the docs, not the code — init=(state=..., control=...) still works fine, it's just undocumented since @init became the recommended path.

Adds the two still-missing outbound links (geometry/lift.md, flows/simulation.md) to satisfy the acceptance criterion — geometry/overview.md, geometry/ad.md, and results/solution.md already linked here from earlier PRs.

Page is deliberately non-executing (plain fences, not @example) since it exists to show spellings that error — stated at the top.

Test plan

  • julia --project=docs docs/make.jl runs clean end to end (exit 0, zero unresolved @refs in any file this PR touches)
  • Every shim message quoted on the page live-verified against src/deprecated.jl's actual output, not just re-read from source
  • The three "silent" hazards live-reproduced, not just cited

🤖 Generated with Claude Code

Full rewrite of docs/src/migration.md per docs/reports/10-migration.md
Part 2: the flow-integrator gotcha, the old->new spelling table, the
call-signature changes, the three semantics changes that don't
announce themselves (Lift(f::Function), OpenLoop wrong arity, the
4-positional flow-call misread), every deprecated.jl shim's actual
error message, the five spellings that couldn't be shimmed and why,
and the still-working-but-undocumented NamedTuple init= form.

Every quoted error message and every "silent" behavior claim was
live-verified against the current package rather than transcribed
from BREAKING.md, which turned up two stale claims fixed here:
BREAKING.md itself said a missing integrator gives a bare
MethodError (it's a clean ExtensionError), and the spec's "NamedTuple
form dropped" turned out to mean dropped from the docs, not the code
-- it still works.

Adds the two still-missing outbound links (geometry/lift.md,
flows/simulation.md) to complete the acceptance criterion; the other
three pages already linked here from earlier PRs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ocots
ocots merged commit f57a147 into main Aug 23, 2026
6 checks passed
@ocots
ocots deleted the docs/migration branch August 23, 2026 13:25
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