Verified: Languages overview
Each claim the Languages overview page makes, with the tests that
prove it in the last green CI run: 3 of 7 verified.
The claims live in docs/claims/languages.yaml.
Last green CI run 16 Oct 2026, 14:48 UTC on c7618d3 · all runtime claims
LANG-001 verified
A program file is .st, .ld, .fbd or .sfc, and the languages mix freely in one controller (one program file per task) against one tag store.
- pass
TestConformance/st-case-insensitiveinlang/conformance(3 of 3 passed)
LANG-002 partly verified
The same program written in ST, ladder, FBD and SFC behaves identically (the standard function blocks, timers, counters, latches, coils and conversions give the same results in every language).
- pass
TestConformance/fb-toninlang/conformance(7 of 7 passed) - pass
TestConformance/fb-srinlang/conformance(8 of 8 passed) - pass
TestConformance/ld-coilsinlang/conformance(11 of 11 passed) - pass
TestConformance/st-case-insensitiveinlang/conformance(3 of 3 passed)
LANG-003 verified
FBD and SFC transpile to ST in one hop and ladder in two (LD to FBD to ST), and ST lowers to the typed IR the runtime executes.
LANG-004 partly verified
The hops preserve line maps, so a diagnostic anywhere in the chain lands on the source: an .ld error at the rung, an .sfc error at the step or transition.
LANG-005 partly verified
Built-in functions and function blocks, user FUNCTION_BLOCKs from .st, .ld or .fbd library files, arrays and structs behave the same in every language.
LANG-006 verified
naut new --language ld (or fbd, sfc) scaffolds a minimal project in that language.
- pass
TestScaffoldedManifestProjectsPass/minimal-ldincmd/naut - pass
TestScaffoldedManifestProjectsPass/minimal-fbdincmd/naut - pass
TestScaffoldVariants/minimal manifest projectincmd/naut - pass
TestScaffoldVariants/sdk, ladder programincmd/naut - pass
TestScaffoldedManifestProjectsPass/minimal-sfcincmd/naut
LANG-007 partly verified
Tasks are declared in nautilus.yaml, one program file each, at their own scan rate.
- pass
TestLoadininternal/project - pass
TestTasksinruntime