Validate and migrate configurations¶
An installed mpylab provides several maintenance tools. All migration tools
perform a dry run unless --write is supplied.
Complete configuration packages¶
mpylab-config-check validates a TOML-inventoried package of DOT, INI, and
DAT files without initializing instruments or opening hardware:
mpylab-config-check config-checks.toml \
--json-report config-check-report.json
A finding uses the CI-friendly format
file:line:column: severity[code]: message. Checks cover DOT, INI, and DAT
syntax, driver and file references, NPORT data quality, names, and explicitly
declared context and frequency paths. At every explicit frequency, the tool
also checks that each instrument and correction element used by the active
path permits that frequency within its INI FSTART to FSTOP range. A
violation is reported as a path-frequency-range error at the affected
bound line. After domain review, --warnings-as-errors can promote
data-quality warnings to a failing exit status.
A minimal inventory looks like this:
format_version = 1
[policy]
lowercase_graph_names = true
[[graphs]]
dot = "immunity.dot"
condition_map = "tem"
[[graphs.scenarios]]
name = "gtem"
context = { mode = "GTEM" }
[[graphs.scenarios.paths]]
start = "sg"
end = "gtem"
mode = "exactly_one_path"
values = [80e6, 1e9, 1.000000001e9, 4.2e9]
Values should include boundaries and at least one representative point on either side of a switch. Local validation and CI invoke the same command.
DOT files¶
mpylab-dot-migrate local-config.dot
mpylab-dot-migrate --check --recursive path/to/configurations
The tool migrates historical condition names, validates syntax, and can check selected signal paths across a frequency range:
mpylab-dot-migrate \
--path Sg:TxAnt \
--frequency-range 80e6 6e9 \
--path-mode exactly_one_path \
local-config.dot
The DOT reference documents the complete input and condition semantics.
NPORT configurations¶
mpylab-nport-migrate local-cable.ini
mpylab-nport-migrate --check --recursive path/to/configurations
Migration replaces historical ambiguous interpolation settings with separate frequency, value, and complex options.
Check data quality separately:
mpylab-nport-check --recursive path/to/configurations \
--json-report nport-quality.json
The check covers frequency range, support-point spacing, interpolation, and referenced DAT files. Their syntax, units, and uncertainty declarations are described in INI and DAT reference for instrument data.
CI strategy¶
A configuration repository should inventory production graphs in a version-controlled TOML file. Named tables record expected instrument count, permitted fallbacks, and domain path checks. A generic test can then ensure that:
every production DOT file is listed exactly once;
all INI and DAT references resolve;
conditions produce unambiguous paths at range boundaries;
active path devices cover every explicit check frequency;
new configurations cannot silently bypass validation.
The JSON report can be retained as a pipeline artifact. Neither a passing package check nor virtual tests demonstrate that addresses, switches, protection limits, and physical RF paths work correctly at the bench.
Before hardware access¶
A passing syntax check does not replace preflight. Also verify instrument limits, RF-off, amplifier protection, frequency coverage, output paths, and autosave resume behavior with the concrete measurement class.