Skip to content

Verified: Getting started

Each claim the Getting started page makes, with the tests that prove it in the last green CI run: 12 of 13 verified. The claims live in docs/claims/getting-started.yaml.

Last green CI run 16 Oct 2026, 14:48 UTC on c7618d3 · all runtime claims

GS-001 verified

naut new scaffolds four templates: the tour (three tasks in three IEC languages and a simulated plant), minimal (one task, one program, one test file), sdk (a Go project) and sdk-demo (a Go project with plant physics in Go).

where the docs say so

  • pass TestScaffoldVariants in cmd/naut (7 of 7 passed)
  • pass TestScaffoldTourDeclaresThreeTasksInThreeLanguages in cmd/naut
  • pass TestScaffoldMinimalIsOneTaskOneProgramOneTestFile in cmd/naut (4 of 4 passed)

GS-002 verified

A freshly scaffolded project can be run, tested and shipped with the CLI alone: its programs compile and its acceptance tests pass.

where the docs say so · naut check, naut test and naut build, through the CLI's own entry points, succeed on every manifest template; naut run is the built CLI serving the scaffolded tour.

  • pass TestScaffoldedManifestProjectsPass in cmd/naut (7 of 7 passed)
  • pass TestScaffoldedManifestProjectsCheckTestAndBuild in cmd/naut (5 of 5 passed)
  • pass TestNautRunServesDashboardAndState in cmd/naut

GS-003 verified

naut check is the CI gate: it compiles every program and cross-checks it against the manifest.

where the docs say so

  • pass TestCheckReportsIdentifierColumn in cmd/naut
  • pass TestCheckFailsOnUndeclaredRead in cmd/naut
  • pass TestCheckWarnsOnUndeclaredWrite in cmd/naut
  • pass TestCheckManifestAgreesWithPrograms in cmd/naut

GS-004 verified

naut build emits one self-contained, deployable controller binary from the project, with no Go toolchain anywhere.

where the docs say so · TestBuiltControllerActivatesWarm builds the naut CLI, has it naut build a project, and runs the emitted binary with an empty PATH (no Go toolchain, no git): it boots the embedded project and serves it.

  • pass TestBuildEmbedRoundTrip in cmd/naut
  • pass TestBuildEmbedsHMIAndBuiltBinaryServesIt in cmd/naut
  • pass TestBuiltControllerActivatesWarm in cmd/naut

GS-005 verified

naut run starts the scan loop, dashboard and tag API on http://localhost:8080; GET /api/state returns the raw tag snapshot and the dashboard at / is served.

where the docs say so

  • pass TestStateSnapshot in server
  • pass TestLandingPage in server
  • pass TestProjectDefaultsToLocalhost8080 in cmd/naut
  • pass TestNautRunServesDashboardAndState in cmd/naut

GS-006 verified

Acceptance tests run against a virtual clock, so a ten-second on-delay or a loop's settling time is asserted exactly and deterministically (the low-temp alarm waits its full 10 s).

where the docs say so

GS-007 verified

The fixture for tests comes from nautilus.yaml, so a retuned manifest gain changes what the tests run against.

where the docs say so

  • pass TestAcceptanceFixtureComesFromTheManifest in acceptance
  • pass TestNautTestFixtureFollowsTheManifestGain in cmd/naut

GS-008 verified

In the dashboard setpoints are click-to-set (BOOLs by toggle) while inputs and outputs stay read-only, because the driver rewrites an input and the logic an output within a scan.

where the docs say so

  • pass TestDashboardSetpointsEditableInputsAndOutputsReadOnly in server

GS-009 verified

Swapping the simulated plant for real field I/O (delete the sim task, point driver: at the bus) leaves the control logic unchanged: it reads the same tags either way.

where the docs say so

  • pass TestControlLogicUnchangedWhenSimIsSwappedForDriverInputs in internal/project

GS-010 verified

An SDK project's go test runs the scaffolded Go tests, which scan the program one rt.Scan() at a time against the in-memory driver; a Go test can run on the same virtual clock as naut test (acceptance.NewClock and acceptance.NewScheduler), as the go-sdk example does.

where the docs say so

GS-011 verified

The scaffolded CI gates on naut check, naut test and naut build; an SDK project's CI runs go vet, naut check (through go run), go test and go build instead.

where the docs say so

  • pass TestScaffoldVariants/demo manifest project in cmd/naut
  • pass TestScaffoldedManifestCIGatesOnCheckTestBuild in cmd/naut (3 of 3 passed)
  • pass TestScaffoldedSDKCIGatesOnGoVetCheckTestBuild in cmd/naut (3 of 3 passed)

GS-012 partly verified

One release build runs on macOS, Linux and Windows (amd64 and arm64) with no runtime dependencies, and release archives ship a checksums.txt.

where the docs say so · Asserted: the release config builds ./cmd/naut for darwin, linux and windows on amd64 and arm64 with CGO_ENABLED=0 and names checksums.txt, and the CLI cross-compiles for all six targets. Not asserted: the binary running on macOS, Windows or arm64; CI runs naut on linux/amd64 only.

  • pass TestReleaseTargetsBuildWithoutCgo in cmd/naut (7 of 7 passed)

GS-013 verified

naut version answers once the CLI is on PATH.

where the docs say so

  • pass TestNautVersionAnswers in cmd/naut