Skip to content

Pipelines (Reference)

This page is a curated entry point into the generated internal API reference for TopMark's pipeline system.

Note

This page contains a curated subset of the internal API reference. The authoritative API reference is generated by tools/docs/gen_api_pages.py and is available under docs/api/internals/topmark.

Note

The canonical vocabulary used throughout the documentation is defined in Terminology and Canonical Vocabulary.

Pipelines operate on an immutable FrozenConfig plus runtime options assembled via the TOML → FrozenConfig → runtime flow.

See Architecture for the conceptual overview.

Source-local TOML options such as [config].root and strict are resolved before pipeline execution. They influence configuration discovery and staged config-loading validation behavior, but do not become layered configuration fields.

Note

[config].strict is a TOML-source-local strictness preference controlling staged configuration-loading validation for the current TOML source.

Effective strictness is evaluated across:

  • TOML-source diagnostics;
  • merged-config diagnostics;
  • runtime applicability diagnostics.

strict is resolved during TOML loading and does not become a layered configuration field.

Line-ending handling (contract)

Pipeline steps operate under a frozen 1.0 newline contract:

  • Only LF (\n), CRLF (\r\n), and CR (\r) are recognized as physical line-ending styles.
  • SnifferStep detects and counts only these styles to determine newline histograms and mixed-line-ending diagnostics.
  • ReaderStep confirms and preserves the dominant newline style for downstream steps (rendering, planning, patching, writing).

Non-standard Unicode separators such as NEL (U+0085), Line Separator (U+2028), and Paragraph Separator (U+2029) are treated as ordinary text content. They are not considered line endings and do not contribute to newline detection or mixed-newline diagnostics.

Some file-type-specific checks (notably XML) may conservatively skip mutation when such characters appear near insertion boundaries, as idempotence cannot be guaranteed. This is a localized safety mechanism and not a general extension of newline support.


Canonical reference (generated)

Use the links below (or the documentation search box) to navigate directly to the relevant internal API module.

Pipeline definitions

Pipeline steps

Axes and statuses

Internals index


See also