VIPM CLI Machine
Scope
- Cover only
vipmcommand-line operations on this machine. - Prefer helper-driven execution through
scripts/Invoke-VipmCliToolProbe.ps1. - Keep
activateout of scope in v1 to avoid licensing mutations.
Quick Start
- Validate environment:
vipm --version
- Safe probe of non-state commands:
pwsh -NoProfile -File .\scripts\Invoke-VipmCliToolProbe.ps1 -Tool version -Mode probepwsh -NoProfile -File .\scripts\Invoke-VipmCliToolProbe.ps1 -Tool list -Mode probe
- Safe probe of state-changing path using expected failure:
pwsh -NoProfile -File .\scripts\Invoke-VipmCliToolProbe.ps1 -Tool build -Mode probe
Preflight
- Confirm CLI availability:
vipm --version. - Resolve LabVIEW year from:
- explicit
-LabVIEWVersion LVIE_VIPM_LABVIEW_VERSION- nearest
.lvversionfrom current directory upward
- explicit
- Resolve bitness from:
- explicit
-Bitness LVIE_VIPM_LABVIEW_BITNESS- fallback
64
- explicit
- Apply wait gate for running
vipm/LabVIEWprocesses unless-SkipProcessWaitis set.
Workflow Decision Tree
- Determine intent:
probefor validation/diagnostics.runfor real state mutation.
- Determine tool class:
- non-state tools:
about,version,search,list - state-changing tools:
build,install,uninstall
- Apply safety gate:
- If
run+ state-changing, require-AllowStateChange. - If
run+-Tool all, helper fails fast unless-AllowStateChangeis present.
- Execute helper and inspect
result_class.
Execution Workflow
- Choose
-Mode probe|runand-Tool. - Resolve version/bitness deterministically.
- Enforce safety policy:
build,install,uninstallare state-changing.- In
runmode, state-changing tools require-AllowStateChange.
- Execute command and capture stdout/stderr/exit code.
- Classify result (
probe-pass,probe-expected-failure,probe-fail,run-success,run-failure,probe-unexpected-success). - Write JSON result (
./TestResults/agent-logs/vipm-cli-machine.latest.jsonby default).
Helper Interface
Use scripts/Invoke-VipmCliToolProbe.ps1.
Parameters
-Tool about|version|search|list|build|install|uninstall|all-Mode probe|run(defaultprobe)-LabVIEWVersion <year-or-numeric>-Bitness 32|64(default64)-AllowStateChange-JsonOutputPath <path>-WaitTimeoutSeconds <int>(default40)-WaitPollSeconds <int>(default2)-SkipProcessWait-CommandTimeoutSeconds <int>(default120)
Environment Fallbacks
LVIE_VIPM_LABVIEW_VERSIONLVIE_VIPM_LABVIEW_BITNESSLVIE_VIPM_JSON_OUTPUT_PATHLVIE_VIPM_WAIT_TIMEOUT_SECONDSLVIE_VIPM_WAIT_POLL_SECONDSLVIE_VIPM_COMMAND_TIMEOUT_SECONDS
JSON Contract Highlights
- Per-run required fields include:
timestamp_utc,tool,mode,resolved_labview_year,resolved_bitnesscommand,exit_code,result_class,stdout_preview,stderr_previewtimed_out,state_change_allowed,failure_message
- Payload-level fields include:
command_timeout_seconds,run_count,failure_count,state_changing_requested
References
- Read
references/tool-contracts.mdwhen selecting exact command forms and interpreting probe class outcomes. - Read
references/safety-runbook.mdbefore anyrunoperation or when a probe classification is unexpected. - Read
references/machine-inventory.mdwhen troubleshooting environment drift or confirming installed baseline versions.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.