Skip to content

Executables model has drifted from the core script's pretext.cfg: no jing entry, three vestigial keys #1200

Open

Description

@rbeezer

The v2 Executables model (pretext/project/xml.py) and the core script's pretext/pretext.cfg have drifted apart in both directions.

Missing: jing. The core script gained a jing executable key on 2026-07-04, used for local schema validation with a consolidated report. The model has no such field, and since it is declared extra="forbid", a jing attribute in a project's executables.ptx is a hard parse error rather than being ignored. Is there a reason we cannot have a jing entry? Without one, a user with jing outside the search path has no way to point the CLI at it.

Vestigial: liblouis, pdfsvg, pdfpng. None of these executables has been invoked by the core script for some time:

  • liblouis (default file2brl): unused since May 2023, when the current braille pipeline became the only one; braille text translation now goes through the louis Python bindings. The key was removed from pretext.cfg in Script: remove the obsolete "liblouis" executable key pretext#3099.
  • pdfsvg (default pdf2svg): removed from pretext.cfg 2024-06-30, in favor of the pyMuPDF library.
  • pdfpng (default convert): removed from pretext.cfg 2025-01-03, likewise pyMuPDF.

Related: the LegacyExecutables model requires a <liblouis> element, so legacy-format project.ptx manifests cannot drop the entry until that field is relaxed; the example manifests in the core repository keep it for exactly that reason.

For reference, the core script's current executables set: latex, pdflatex, xelatex, asy, mermaid (mmdc), sage, pdfeps (pdftops), node, perl, fop, jing.

Claude Fable 5, acting as a coding assistant for Rob Beezer

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions