python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
ix-assurance validate-case --case examples/degraded-navigation-case.json
Expected result: JSON showing whether the case references are valid.
ix-assurance run-scenario \
--catalog examples/degraded-navigation-catalog.json \
--telemetry examples/telemetry-degraded-navigation.json \
--case-id CASE-NAV-001 \
--scenario-id SCN-NAV-001 \
--run-id RUN-NAV-001
This executes the scenario through:
scenario catalog
-> runtime telemetry
-> degradation assessment
-> safety gate
-> runtime result
-> evidence bundle
ix-assurance run-scenario \
--catalog examples/degraded-navigation-catalog.json \
--telemetry examples/telemetry-degraded-navigation.json \
--case-id CASE-NAV-001 \
--scenario-id SCN-NAV-001 \
--run-id RUN-NAV-001 \
--default-degradation
The built-in degradation rules evaluate common telemetry such as:
- navigation confidence,
- communications-link presence,
- power margin,
- sensor drift,
- control-loop latency.
ix-assurance verify-bundle --bundle examples/evidence-bundle.json
This checks record hashes, bundle hash, duplicate identifiers, and invalid/stale evidence posture.
ix-assurance validate-ledger --ledger examples/run-ledger.json
Strict duplicate run-ID mode:
ix-assurance validate-ledger \
--ledger examples/run-ledger.json \
--require-unique-run-ids
ix-assurance audit-traceability \
--case examples/degraded-navigation-case.json \
--catalog examples/degraded-navigation-catalog.json \
--mission-need examples/mission-need.json \
--requirements examples/requirements.json \
--scenario-id SCN-NAV-001 \
--claim-id CLM-NAV-001
This builds a traceability graph and reports whether the scenario has a connected path to the claim.
ix-assurance export-report \
--report examples/report.json \
--format markdown
JSON output:
ix-assurance export-report \
--report examples/report.json \
--format json
Minimal scenario-run pattern:
from ix_autonomy_assurance_case_runtime.cli import load_scenario_catalog
from ix_autonomy_assurance_case_runtime.runner import ScenarioRunInput, ScenarioRunner
from ix_autonomy_assurance_case_runtime.safety_gate import RuntimeTelemetry
catalog = load_scenario_catalog(Path("examples/degraded-navigation-catalog.json"))
result = ScenarioRunner().run(
catalog=catalog,
run_input=ScenarioRunInput(
run_id="RUN-001",
case_id="CASE-NAV-001",
scenario_id="SCN-NAV-001",
telemetry=RuntimeTelemetry(
values={
"navigation_confidence": 0.92,
"power_margin_pct": 76.0,
"comms_link_active": True,
}
),
),
)
The runtime can produce:
allow,clamp,defer,veto,safe_hold.
Restrictive outputs are not failures by themselves. In autonomy T&E, a restrictive output may be the correct safe behavior.
pass means the implemented runtime checks passed for the supplied artifacts.
fail means at least one blocking check failed.
inconclusive means the runtime found follow-up items, missing traceability, warnings, or insufficient evidence.
not_run means an expected verification activity was not executed.