Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CLI reference

The root is exactly the three stages — define analyze build — and later work adds leaves under a stage rather than a fourth root. Each stage calls the studio crate that owns it as an in-process library call. Hidden commands are tooling and are not listed here.

Commands

CommandSummary
labinetixDefine, analyze and build models into taktwerk packages
labinetix defineAuthor, verify and release the models of the model store (crates/studio/define-cli)
labinetix define syncRegenerate views and lockfiles for one or more entities
labinetix define verifyRecompute hashes and compare against lockfiles without writing files
labinetix define reindexRebuild the aggregate store index store.lock.json from the entity lockfiles
labinetix define checkCI integrity gate: every entity re-emitted and byte-compared with its committed views and generated files, then its lockfile pins and references verified
labinetix define doctorPreflight: every declared emitter is one this binary links; the aggregate lock parses
labinetix define listList every entity row in the aggregate lockfile (tab-separated, script-friendly)
labinetix define showShow one entity’s aggregate row and key lockfile fields (tab-separated key/value lines), then what it pins and what pins it
labinetix define balancePrint a composed model’s structural report: elemental and stoichiometric matrices, electron balances, degrees of freedom, reaction invariants, and which reaction rates the --measured species determine
labinetix define instancePrint a model’s raw package as one taktwerk [[instance]] table: every parameter of the package with its start value — the model’s defaults, then a model scenario’s, then a parameter set’s — and where each came from. A value nothing gives is refused, as is a scenario or parameter set whose model pin no longer holds
labinetix define resolveResolve a soft-sensor process: check its process, plant and catalog files, and print for each enabled plugin the declaration, instrument, actuator or plugin that supplies each quantity it requires, down to the instrument, and every value with its source
labinetix define getResolve a generated view path for a consumer (fail-closed hash verify by default)
labinetix define diffSemantic IR diff between two git refs of a model (diagnostic; not the release baseline)
labinetix define newScaffold a new model: authoring skeleton, synced views and lockfile, aggregate row
labinetix define publishAuthor happy path: sync → verify → classify → version → commit
labinetix define tagTag the current authoring contract_version at HEAD (no SemVer bump)
labinetix define releaseDeclare a contract version, enforce the minimum SemVer bump, refresh lockfiles, and optionally tag
labinetix analyzeSimulate and estimate models on the host (crates/studio/analyze-*)
labinetix analyze simulateSimulate a model over a model scenario (models/<id>/scenarios/<name>.toml)
labinetix analyze synthesizeDraw a synthetic dataset from a model scenario’s prediction
labinetix analyze identifiabilityThe practical identifiability of parameters over a model scenario, before any data
labinetix analyze estimateEstimate a model’s parameters from an experiment (models/<id>/experiments/<name>.toml)
labinetix analyze import-recordImport a taktwerk record as a run of a dataset of runs
labinetix analyze replayRe-run a taktwerk record’s inputs on the host and compare every recorded output bit for bit
labinetix buildBuild the raw model packages per target (crates/studio/build-xtask)
labinetix build targetValidate the target files and print one target
labinetix build raw-packageCross-build every raw model package’s library for one target into its package
labinetix serveShow the model store read-only in the taktwerk workbench (crates/studio/serve)

labinetix

Define, analyze and build models into taktwerk packages

Usage: labinetix <COMMAND>

Subcommands

SubcommandSummary
defineAuthor, verify and release the models of the model store (crates/studio/define-cli)
analyzeSimulate and estimate models on the host (crates/studio/analyze-*)
buildBuild the raw model packages per target (crates/studio/build-xtask)
serveShow the model store read-only in the taktwerk workbench (crates/studio/serve)

Options

OptionDescription
-h, --helpPrint help
-V, --versionPrint version

labinetix define

Author, verify and release the models of the model store (crates/studio/define-cli)

Usage: labinetix define <COMMAND>

Subcommands

SubcommandSummary
syncRegenerate views and lockfiles for one or more entities
verifyRecompute hashes and compare against lockfiles without writing files
reindexRebuild the aggregate store index store.lock.json from the entity lockfiles
checkCI integrity gate: every entity re-emitted and byte-compared with its committed views and generated files, then its lockfile pins and references verified
doctorPreflight: every declared emitter is one this binary links; the aggregate lock parses
listList every entity row in the aggregate lockfile (tab-separated, script-friendly)
showShow one entity’s aggregate row and key lockfile fields (tab-separated key/value lines), then what it pins and what pins it
balancePrint a composed model’s structural report: elemental and stoichiometric matrices, electron balances, degrees of freedom, reaction invariants, and which reaction rates the --measured species determine
instancePrint a model’s raw package as one taktwerk [[instance]] table: every parameter of the package with its start value — the model’s defaults, then a model scenario’s, then a parameter set’s — and where each came from. A value nothing gives is refused, as is a scenario or parameter set whose model pin no longer holds
resolveResolve a soft-sensor process: check its process, plant and catalog files, and print for each enabled plugin the declaration, instrument, actuator or plugin that supplies each quantity it requires, down to the instrument, and every value with its source
getResolve a generated view path for a consumer (fail-closed hash verify by default)
diffSemantic IR diff between two git refs of a model (diagnostic; not the release baseline)
newScaffold a new model: authoring skeleton, synced views and lockfile, aggregate row
publishAuthor happy path: sync → verify → classify → version → commit
tagTag the current authoring contract_version at HEAD (no SemVer bump)
releaseDeclare a contract version, enforce the minimum SemVer bump, refresh lockfiles, and optionally tag

Options

OptionDescription
-h, --helpPrint help

labinetix define sync

Regenerate views and lockfiles for one or more entities

Usage: labinetix define sync [OPTIONS] [SELECTOR]

Arguments

ArgumentDescription
[SELECTOR]Entity selector <type>/<id> (for example model_scaffold/chemostat). Mutually exclusive with --all

Options

OptionDescription
--allRegenerate every entity in the store, in dependency-safe order, and rebuild store.lock.json from that walk
--no-commitSkip the scoped git commit (used by tests and dry runs)
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define verify

Recompute hashes and compare against lockfiles without writing files

Usage: labinetix define verify [OPTIONS] [SELECTOR]

Arguments

ArgumentDescription
[SELECTOR]Entity selector <type>/<id>

Options

OptionDescription
--allVerify every entity in the store
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define reindex

Rebuild the aggregate store index store.lock.json from the entity lockfiles.

The index is a walk of the store, so this runs no emitter and touches no entity. Placement is checked while walking: an entity that does not sit where its content puts it fails here exactly as it fails verify.

Usage: labinetix define reindex [OPTIONS]

Options

OptionDescription
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define check

CI integrity gate: every entity re-emitted and byte-compared with its committed views and generated files, then its lockfile pins and references verified

Usage: labinetix define check [OPTIONS]

Options

OptionDescription
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define doctor

Preflight: every declared emitter is one this binary links; the aggregate lock parses.

An emitter is a linked crate named by a builtin: token, so there is nothing to probe and nothing to install (DESIGN.md § Stages). For each adapters/<type>.toml that declares an [emitter], this asks the same resolver labinetix define sync dispatches on whether the declared token names an emitter this binary links and one that writes views for that contract type — so a token this accepts is a token sync can call. Then store.lock.json is read: a missing or unparseable aggregate lock fails.

emitter.version is reported, never compared for pass/fail: it records which emitter version wrote that type’s committed views, the number its locks pin.

Intended for CI / local checks before full drift regen (labinetix define check).

Usage: labinetix define doctor [OPTIONS]

Options

OptionDescription
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define list

List every entity row in the aggregate lockfile (tab-separated, script-friendly).

Output format: one row per entity, columns separated by TAB: type, id, contract_version, content_hash, lock_path. Rows are sorted by type then id (as stored in store.lock.json).

define list roles lists the role vocabulary beside the catalog (catalog/roles.toml) instead: one row per role, role, its constraints (; -separated, or not checked: …), the catalog entries and plants that name it (,-separated), its meaning.

Usage: labinetix define list [OPTIONS] [WHAT]

Arguments

ArgumentDescription
[WHAT]What to list instead of the store’s entities — one of roles.

Options

OptionDescription
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define show

Show one entity’s aggregate row and key lockfile fields (tab-separated key/value lines), then what it pins and what pins it.

Output format: one field per line as key<TAB>value. Includes aggregate index fields plus emitter, authoring, views, references, and source pins from the entity lockfile; a node the index has no row for (a module, a scenario, an experiment, a catalog entry, the role vocabulary) shows its type, id, path and content hash. Then one line per pin, pins.<i> and pinned_by.<i>: the other entity, what the pin is, and its state (fresh, stale when the hash it records is not the target’s now, missing). role/<name> shows a role of the vocabulary: its meaning, constraints, the catalog entries and plants that name it, each process that binds it and the species.

Usage: labinetix define show [OPTIONS] <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR><type>/<id>, organism/<id>, vessel/<id>, scenario/<model>/<name>, experiment/<model>/<name>, catalog/<kind>/<id>, vocabulary/roles, or role/<name> — required.

Options

OptionDescription
--used-byOnly what pins it, transitively, as an indented tree (an organism: its models, their scenarios, parameter sets and processes)
--jsonIts relations as JSON, both directions, transitively: what labinetix serve serves at /api/entities/<kind>/<id>/relations
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define balance

Print a composed model’s structural report: elemental and stoichiometric matrices, electron balances, degrees of freedom, reaction invariants, and which reaction rates the --measured species determine

Usage: labinetix define balance [OPTIONS] <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR>Entity selector model_scaffold/<id> — required.

Options

OptionDescription
--measured <MEASURED>...Species whose conversion rates are measured, comma-separated
--estimator <ESTIMATOR>An estimator of the model, <store>/<id>/estimators/<name>/: its measured outputs, each that reads one species counted as that species’ measured conversion rate
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define instance

Print a model’s raw package as one taktwerk [[instance]] table: every parameter of the package with its start value — the model’s defaults, then a model scenario’s, then a parameter set’s — and where each came from. A value nothing gives is refused, as is a scenario or parameter set whose model pin no longer holds

Usage: labinetix define instance [OPTIONS] <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR>Entity selector model_scaffold/<id> — required.

Options

OptionDescription
--scenario <SCENARIO>A model scenario, <store>/<id>/scenarios/<name>.toml: its solver settings, initial state, parameter overrides and inputs
--parameter-set <PARAMETER_SET>A parameter set, <store>/<id>/parameter_sets/<name>/: its estimated values
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define resolve

Resolve a soft-sensor process: check its process, plant and catalog files, and print for each enabled plugin the declaration, instrument, actuator or plugin that supplies each quantity it requires, down to the instrument, and every value with its source.

process/<id> lives beside the store (processes/<id>/, its plant in plants/); --path names a process directory elsewhere (a site’s repository, <repo>/processes/<id>), resolved against this store’s models and catalog; plant/<id> checks a plant alone. A dry run by default: it says whether the resolved view and the locks are current.

Usage: labinetix define resolve [OPTIONS] [SELECTOR]

Arguments

ArgumentDescription
[SELECTOR]process/<id> or plant/<id>

Options

OptionDescription
--path <DIR>A process directory, <repo>/processes/<id>, with its plants in <repo>/plants/
--writeWrite the resolved view and the process’s and plant’s views and locks
--treePrint only the requirement tree: one line per quantity with ✓ or ✗ and what supplies it, declarations and tunables folded to counts; a process that does not resolve shows how far it got. Coloured when stdout is a terminal (NO_COLOR turns it off)
--jsonPrint the resolution as JSON, as labinetix serve serves it: the view as far as it resolves, every refusal, stale files, the plant, the entries, each value’s file and line, and the block diagram (sources, a block per plugin, sinks, a wire per match)
--plugin <KIND/ID>Show one enabled plugin only, <kind>/<id>
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define get

Resolve a generated view path for a consumer (fail-closed hash verify by default).

Prints the absolute (or repo-resolved) view path on success. With --verify-hash (documented happy path; verification is on unless --no-verify), recomputes the view byte hash and compares it to the entity lockfile — mismatch exits non-zero. --out <path> copies the verified bytes to the destination.

Usage: labinetix define get [OPTIONS] --view <VIEW> <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR>Entity selector <type>/<id> (for example model_scaffold/chemostat) — required.

Options

OptionDescription
--view <VIEW>View name from the entity lockfile / adapter (for example ir or julia) — required.
--verify-hashVerify view bytes against the entity lockfile (documented consume path)
--no-verifySkip lockfile hash verification (escape hatch; not the consume happy path)
--out <OUT>Copy verified view bytes to this path
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define diff

Semantic IR diff between two git refs of a model (diagnostic; not the release baseline)

Usage: labinetix define diff [OPTIONS] <SELECTOR> <REF_A> <REF_B>

Arguments

ArgumentDescription
<SELECTOR>Entity selector <type>/<id> — required.
<REF_A>First git ref (commit, tag, branch, or HEAD~N) — required.
<REF_B>Second git ref — required.

Options

OptionDescription
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define new

Scaffold a new model: authoring skeleton, synced views and lockfile, aggregate row

Usage: labinetix define new [OPTIONS] <CONTRACT_TYPE> <ID>

Arguments

ArgumentDescription
<CONTRACT_TYPE>Contract type: model_scaffold — required.
<ID>Entity id (for example my_model) — required.

Options

OptionDescription
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help

labinetix define publish

Author happy path: sync → verify → classify → version → commit.

Classifies against the release baseline (latest namespaced tag, else first-release from 0.0.0). Proposes the minimum SemVer unless --set overrides.

--dry-run prints the plan and never mutates authoring, lockfiles, commits, or tags.

Usage: labinetix define publish [OPTIONS] <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR>Entity selector <type>/<id> — required.

Options

OptionDescription
--set <SET>Override the proposed minimum SemVer (must be >= classified minimum)
--dry-runPrint the plan only; never mutate disk, commits, or tags
--create-tagCreate a local annotated tag <type>/<id>/vX.Y.Z. Off by default
--push-tagPush the created tag to origin (requires --create-tag). Off by default
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define tag

Tag the current authoring contract_version at HEAD (no SemVer bump).

Use for first cut / backfill when authoring already carries the intended version.

A process/<id> or plant/<id> beside the store is tagged once its views and lock are what define resolve writes; its lock gets no source pin.

For a model record (a dataset, a parameter set, an estimator), the tag is also what earns the entity lockfile its source pin: once the tag exists, the lock is rewritten with the tag and the commit it names. sync never writes that pin — an untagged entity’s lock has no source block. The rewritten lock is left uncommitted, because the commit the tag names cannot carry a pin naming itself; commit it next. Refuses, before cutting anything, an entity whose lockfile is missing or records another contract_version than its authoring file.

Usage: labinetix define tag [OPTIONS] <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR>Entity selector <type>/<id> — required.

Options

OptionDescription
--pushPush the created tag to origin. Off by default
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix define release

Declare a contract version, enforce the minimum SemVer bump, refresh lockfiles, and optionally tag.

Classifies the semantic IR diff since the last namespaced tag (<type>/<id>/vX.Y.Z) and refuses under-bumps. Updates contract_version in authoring and lockfiles via sync. Prefer labinetix define publish for the author happy path.

--dry-run prints the plan and never mutates. --no-commit still writes authoring/lockfiles (tests / power users); do not use it as a dry-run.

Tag gate: git tags are never created unless you pass --create-tag. CI and just check do not invoke this command.

Usage: labinetix define release [OPTIONS] --set <SET> <SELECTOR>

Arguments

ArgumentDescription
<SELECTOR>Entity selector <type>/<id> — required.

Options

OptionDescription
--set <SET>Human-declared SemVer for this release (must be >= classified minimum) — required.
--create-tagCreate a local annotated tag <type>/<id>/vX.Y.Z. Off by default
--push-tagPush the created tag to origin (requires --create-tag). Off by default
--no-commitSkip the scoped git commit (still mutates authoring/lockfiles). Prefer --dry-run
--dry-runPrint the plan only; never mutate authoring, lockfiles, commits, or tags
--store <DIR>Model store root — the directory holding one directory per model and store.lock.json. Relative to the working directory: models from a clone root — default models.
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze

Simulate and estimate models on the host (crates/studio/analyze-*).

simulate, synthesize, identifiability and estimate work on a model and a model scenario (models/<id>/scenarios/) (crates/studio/analyze-model); ros2 is a method of the host’s only.

Usage: labinetix analyze <COMMAND>

Subcommands

SubcommandSummary
simulateSimulate a model over a model scenario (models/<id>/scenarios/<name>.toml)
synthesizeDraw a synthetic dataset from a model scenario’s prediction
identifiabilityThe practical identifiability of parameters over a model scenario, before any data
estimateEstimate a model’s parameters from an experiment (models/<id>/experiments/<name>.toml)
import-recordImport a taktwerk record as a run of a dataset of runs
replayRe-run a taktwerk record’s inputs on the host and compare every recorded output bit for bit

Options

OptionDescription
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze simulate

Simulate a model over a model scenario (models/<id>/scenarios/<name>.toml).

Steps the model’s generated kernel through core-integrate on the host, from the scenario’s initial point over its horizon, applying its input schedule, and writes the recorded rows as JSON: time, state, inputs and outputs. The scenario pins the model’s content hash; the same model and scenario give the same bytes, which is what the committed <name>.prediction.json beside the scenario is held to.

Usage: labinetix analyze simulate [OPTIONS] <SCENARIO>

Arguments

ArgumentDescription
<SCENARIO>The model scenario file, models/<id>/scenarios/<name>.toml — required.

Options

OptionDescription
--out <OUT>Write the prediction to this file instead of standard output
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze synthesize

Draw a synthetic dataset from a model scenario’s prediction.

Every recorded row, every output named in --sigma with seeded Gaussian noise of that standard deviation, as the CSV t,output,value,sigma a dataset entity pins. Data for testing an estimation and designing an experiment, never a measurement.

--at observes at the times given instead, any time within the horizon. With --dataset and --run, the draw is added as a run of a dataset of runs, the scenario’s initial state and inputs recorded as the run’s own (a dry run without --write).

Usage: labinetix analyze synthesize [OPTIONS] --sigma <SIGMA> <SCENARIO>

Arguments

ArgumentDescription
<SCENARIO>The model scenario file, models/<id>/scenarios/<name>.toml — required.

Options

OptionDescription
--sigma <SIGMA>...Standard deviation per observed output, output=value, comma-separated — required.
--seed <SEED>The noise’s seed — default 1.
--out <OUT>Write the dataset to this file instead of standard output
--dataset <DATASET>Write it as the dataset entity models/<model>/datasets/<NAME>/ instead, its data pinned by sha256; then labinetix define sync dataset/<NAME>
--at <AT>...Observe at these times, comma-separated, instead of at every recorded row
--run <RUN>With --dataset: add the draw as run NAME of a dataset of runs
--dataset-doc <DATASET_DOC>With --run, for a new dataset: what its runs are for, its [dataset].doc
--writeWith --run: write the run; without, print what would be written
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze identifiability

The practical identifiability of parameters over a model scenario, before any data.

The outputs in --sigma observed at every recorded row with those standard deviations: Brun et al.’s importance (delta_msqr) per parameter, collinearity and determinant of the set, and the largest subset whose collinearity stays below --gamma-max.

Usage: labinetix analyze identifiability [OPTIONS] --params <PARAMS> --sigma <SIGMA> <SCENARIO>

Arguments

ArgumentDescription
<SCENARIO>The model scenario file, models/<id>/scenarios/<name>.toml — required.

Options

OptionDescription
--params <PARAMS>...The parameters, comma-separated — required.
--sigma <SIGMA>...Standard deviation per observed output, output=value, comma-separated — required.
--gamma-max <GAMMA_MAX>The collinearity an identifiable subset may reach — default 10.
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze estimate

Estimate a model’s parameters from an experiment (models/<id>/experiments/<name>.toml).

Weighted least squares in the logarithm of the parameters, Levenberg–Marquardt from the scenario’s values and from random starts within the bounds, with exact sensitivities; computes the parameter set: values, standard errors and correlations from the Fisher information, chi-square, AIC, BIC, and the identifiability at the fit. The set is the authoring of the parameter_set entity named after the experiment (models/<id>/parameter_sets/<name>/authoring/<name>.toml). A dry run by default: prints the set and says whether it differs from the committed authoring. --write writes it there; lock it with labinetix define sync parameter_set/<name>.

Usage: labinetix analyze estimate [OPTIONS] <EXPERIMENT>

Arguments

ArgumentDescription
<EXPERIMENT>The experiment file, models/<id>/experiments/<name>.toml — required.

Options

OptionDescription
--writeWrite the parameter set into the entity’s authoring, replacing the committed one
--out <OUT>Write the parameter set to this file instead of standard output
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze import-record

Import a taktwerk record as a run of a dataset of runs.

Reads the run directory a taktwerk recorder wrote (run.json, part-*.csv.gz) and writes the run’s observations (the outputs in --observe, every --every-th row, with those standard deviations), its recorded inputs (--inputs, each held from the tick that used it) and its initial state (from --project, the project file the record pins by hash, and --initial) under models/<id>/datasets/<NAME>/data/, and appends the run to the dataset’s authoring, creating it if needed. A dry run by default; --write writes. Then lock it with labinetix define sync dataset/<NAME>.

Usage: labinetix analyze import-record [OPTIONS] --model-dir <MODEL_DIR> --dataset <DATASET> --run <RUN> --observe <OBSERVE> <RECORD>

Arguments

ArgumentDescription
<RECORD>The run directory, <dir>/<project>/<recorder>/<run-id>/ — required.

Options

OptionDescription
--model-dir <MODEL_DIR>The model’s directory, models/<id> — required.
--dataset <DATASET>The dataset of runs to add the run to — required.
--dataset-doc <DATASET_DOC>For a new dataset: what its runs are for, its [dataset].doc
--run <RUN>The run’s name — required.
--instance <INSTANCE>The instance whose signals are read; the model’s id by default
--inputs <INPUTS>...Model inputs to keep as recorded inputs, comma-separated
--observe <OBSERVE>...Standard deviation per observed output, output=value, comma-separated — required.
--every <EVERY>Keep every N-th row as a sample — default 1.
--project <PROJECT>The project file the record was run from, for the initial state
--initial <INITIAL>...Initial states, state=value, comma-separated; they win over the project’s
--doc <DOC>A note on the run, such as an offline sample’s analysis delay
--writeWrite the run; without, print what would be written
-h, --helpPrint help (see more with ‘–help’)

labinetix analyze replay

Re-run a taktwerk record’s inputs on the host and compare every recorded output bit for bit.

Steps each instance of a generated model or estimator package through the package’s own Rust, with the inputs the record holds (a recorder with signals = ["@io"], every = 1), the tunables of events.csv and the parameters of --project, the project file the record pins by hash. Prints one line per instance; exits non-zero when a value differs. A run with scenario faults, skipped ticks or a swapped model is refused.

Usage: labinetix analyze replay [OPTIONS] --project <PROJECT> <RECORD>

Arguments

ArgumentDescription
<RECORD>The run directory, <dir>/<project>/<recorder>/<run-id>/ — required.

Options

OptionDescription
--project <PROJECT>The project file the run was started from — required.
--instance <INSTANCE>Replay this instance only
-h, --helpPrint help (see more with ‘–help’)

labinetix build

Build the raw model packages per target (crates/studio/build-xtask)

Usage: labinetix build <COMMAND>

Subcommands

SubcommandSummary
targetValidate the target files and print one target
raw-packageCross-build every raw model package’s library for one target into its package

Options

OptionDescription
-h, --helpPrint help

labinetix build target

Validate hardware/targets/<name>.toml and print one target: triple, glibc floor, zigbuild target, CPU.

With no TARGET_NAME this validates every target file and lists them.

Usage: labinetix build target [TARGET_NAME]

Arguments

ArgumentDescription
[TARGET_NAME]Target name from hardware/targets/, never a triple; omit to list every target

Options

OptionDescription
-h, --helpPrint help (see more with ‘–help’)

labinetix build raw-package

Cross-build the C library of every raw model package for TARGET: the hand-written crates/packages/raw-* and the generated models/*/generated/raw.

A raw model package is a taktwerk model: a C header, a descriptor and one library per architecture under package/lib/<arch>/, which this command fills. Every library is checked against the target’s glibc pin.

Needs zig and cargo-zigbuild on PATH.

Usage: labinetix build raw-package <TARGET_NAME>

Arguments

ArgumentDescription
<TARGET_NAME>Target name from hardware/targets/, never a triple — required.

Options

OptionDescription
-h, --helpPrint help (see more with ‘–help’)

labinetix serve

Show the model store read-only in the taktwerk workbench (crates/studio/serve).

Not a stage: it serves what the stages’ crates read (entities and locks, models, balances, scenarios, estimators, packages, the soft-sensor declarations and their resolution) on loopback, and announces itself so that taktwerk serve lists it under Add-ons. Prints the page’s address with its token. Writes nothing: a what-if on the declarations is resolved in memory.

Usage: labinetix serve [OPTIONS] [REPO]

Arguments

ArgumentDescription
[REPO]The labinetix repository whose store to show — default ..

Options

OptionDescription
--listen <LISTEN>A loopback address and port; port 0 picks a free one — default 127.0.0.1:0.
--declarations <DIR>...A site’s folder of declarations (<dir>/processes/, <dir>/plants/, for example a deployment repository’s deploy/declarations), shown beside the repository’s own and resolved against its models and catalog, as define resolve --path does. Read in place, never written. Repeatable
-h, --helpPrint help (see more with ‘–help’)