Skip to content

docs: adopt CTParser 0.9.5-beta — #343/#344 fixed upstream - #919

Merged
ocots merged 1 commit into
mainfrom
docs/ctparser-0.9.5-followup
Aug 31, 2026
Merged

docs: adopt CTParser 0.9.5-beta — #343/#344 fixed upstream#919
ocots merged 1 commit into
mainfrom
docs/ctparser-0.9.5-followup

Conversation

@ocots

@ocots ocots commented Aug 31, 2026

Copy link
Copy Markdown
Member

Follow-up to E1 — two CTParser rough edges, now fixed

E1 (#913, making abstract-syntax.md executable) filed two CTParser issues and softened the doc prose meanwhile. CTParser 0.9.5-beta — PRs #345 / #347, phases K/L of #326 — fixes both, with no breaking changes (#343 only affects inputs that already errored; #344 is trace-only output).

CTParser#343 — constraint bound depending on the variable

Was rejected with a leaked internal gensym:

Line 7: x₂(0) == v
UndefVarError: `v##286` not defined in `Main`

Now a CTBase.ParsingError naming the cause and the fix, and the check is broader — a bound depending on the variable, the state, the control, or the time is caught, backend-agnostic:

Line 7: x₂(0) == v
the lower bound of a constraint must not depend on the variable; write a functional
constraint instead by moving the term to the constrained side (e.g. `x₂(0) - v == 0`
rather than `x₂(0) == v`)

The !!! warning on abstract-syntax.md no longer says "the message is currently not explicit" and now names all four kinds of dependency.

CTParser#344 — trace mode double-print

@def name … end true printed the parsed model twice (the :exa re-parse inside def_fun inherited the log flag). Now once. The !!! hint block renders a single copy — no prose change.

Dependency

[compat] CTParser = "0.9" already admits 0.9.5-beta, so no Project.toml change. docs/src/assets/Manifest.toml (the tracked reproducibility snapshot, regenerated by make.jl) records:

  • CTParser 0.9.4-beta0.9.5-beta
  • CTDirect 1.1.5-beta1.1.6-beta — pulled in by the resolver; a docs-only release (CTDirect#631, two inherited-docstring @ref fixes, no source or API change).

Verification

Full julia --project=. docs/make.jl: exit 0, 0 unresolved @ref, 0 failed @example. #343 renders the ParsingError; #344 renders one trace block. The 4 @extref warnings are the unchanged Phase-D upstream backlog under warnonly.

🤖 Generated with Claude Code

CTParser 0.9.5-beta (PRs #345 / #347) fixes the two rough edges E1 filed
while making abstract-syntax.md executable:

- #343: a constraint *bound* referencing the variable / state / control /
  time is now rejected with a CTBase.ParsingError naming the cause and the
  fix, instead of a leaked internal gensym `UndefVarError`. The `!!! warning`
  on abstract-syntax.md no longer says "the message is currently not
  explicit", and now covers all four kinds of dependency.
- #344: `@def name … end true` trace mode prints the parsed model once, not
  twice — the `!!! hint` block renders a single copy now (no prose change).

[compat] CTParser = "0.9" already admits 0.9.5-beta, so no Project.toml
change. docs/src/assets/Manifest.toml (the tracked reproducibility snapshot)
records CTParser 0.9.5-beta and CTDirect 1.1.6-beta (a docs-only release the
resolver pulled in, CTDirect#631 — no source change).

Verified with a full docs build: exit 0, 0 unresolved @ref, 0 failed
@example; #343 renders the ParsingError, #344 renders one trace block.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ocots ocots added the run documentation Trigger the Documentation workflow on this PR label Aug 31, 2026
@ocots
ocots merged commit bef2a3a into main Aug 31, 2026
8 checks passed
@ocots
ocots deleted the docs/ctparser-0.9.5-followup branch August 31, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run documentation Trigger the Documentation workflow on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant