Skip to content

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

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

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