chargelink qualification
Build or verify protocol qualification bundles and launch gates.
Reference syntax
usage: chargelink qualification [-h] {run,verify,roots} ...
positional arguments:
{run,verify,roots}
options:
-h, --help show this help message and exit
Subcommands
Subcommand |
Purpose |
|---|---|
|
Build a protocol qualification bundle from a qualification manifest. |
|
Check a qualification bundle against status, gate, bundle, and artifact expectations. |
|
List known qualification roots or write them to JSON. |
run
Build a protocol qualification bundle from a qualification manifest.
CLI help
usage: chargelink qualification run [-h] [--artifact-root ARTIFACT_ROOT]
[--output-root OUTPUT_ROOT] [--rerun]
[--rerun-failed] [--verify-only]
[--output OUTPUT]
manifest
positional arguments:
manifest
options:
-h, --help show this help message and exit
--artifact-root ARTIFACT_ROOT
--output-root OUTPUT_ROOT
--rerun rerun every campaign listed in the qualification
manifest
--rerun-failed rerun only failed or missing campaign artifacts before
rebuilding the qualification bundle
--verify-only
--output OUTPUT
Production examples
Run the ISO 15118-20 focused qualification manifest.
chargelink qualification run 'campaigns/qualification/protocols/iso15118_20_suite.json' --artifact-root 'artifacts/evcc_campaign_runs' --output-root 'artifacts/protocol_qualification' --rerun-failed
Run the production release gate manifest for MCS evidence intake.
chargelink qualification run 'campaigns/qualification/protocols/production_release_gate_mcs_hardware_evidence_intake.json' --artifact-root 'artifacts/evcc_campaign_runs' --output-root 'artifacts/protocol_qualification' --rerun-failed
verify
Check a qualification bundle against status, gate, bundle, and artifact expectations.
CLI help
usage: chargelink qualification verify [-h] [--output-root OUTPUT_ROOT]
[--expect-status EXPECT_STATUS]
[--expect-production-graded EXPECT_PRODUCTION_GRADED]
[--expect-claim-safe EXPECT_CLAIM_SAFE]
[--expect-qualification-passed EXPECT_QUALIFICATION_PASSED]
[--expect-protocol-gate EXPECT_PROTOCOL_GATE]
[--expect-vendor-gate EXPECT_VENDOR_GATE]
[--expect-bench-gate EXPECT_BENCH_GATE]
[--expect-bench-proof-gate EXPECT_BENCH_PROOF_GATE]
[--expect-differential-gate EXPECT_DIFFERENTIAL_GATE]
[--expect-package-expansion-status EXPECT_PACKAGE_EXPANSION_STATUS]
[--expect-live-e2e-status EXPECT_LIVE_E2E_STATUS]
[--expect-live-protocol EXPECT_LIVE_PROTOCOL]
[--expect-live-vendor EXPECT_LIVE_VENDOR]
[--expect-live-backend EXPECT_LIVE_BACKEND]
[--expect-session-fault-status EXPECT_SESSION_FAULT_STATUS]
[--expect-session-fault-protocol EXPECT_SESSION_FAULT_PROTOCOL]
[--expect-session-fault-case EXPECT_SESSION_FAULT_CASE]
[--expect-session-fault-class EXPECT_SESSION_FAULT_CLASS]
[--expect-conformance-expansion-status EXPECT_CONFORMANCE_EXPANSION_STATUS]
[--expect-conformance-protocol EXPECT_CONFORMANCE_PROTOCOL]
[--expect-conformance-standard EXPECT_CONFORMANCE_STANDARD]
[--expect-conformance-case EXPECT_CONFORMANCE_CASE]
[--expect-interoperability-expansion-status EXPECT_INTEROPERABILITY_EXPANSION_STATUS]
[--expect-interoperability-protocol EXPECT_INTEROPERABILITY_PROTOCOL]
[--expect-interoperability-vendor EXPECT_INTEROPERABILITY_VENDOR]
[--expect-interoperability-backend EXPECT_INTEROPERABILITY_BACKEND]
[--expect-interoperability-pair EXPECT_INTEROPERABILITY_PAIR]
[--expect-interoperability-case EXPECT_INTEROPERABILITY_CASE]
[--expect-standards-traceability-status EXPECT_STANDARDS_TRACEABILITY_STATUS]
[--expect-standard EXPECT_STANDARD]
[--expect-standards-clause-traceability-status EXPECT_STANDARDS_CLAUSE_TRACEABILITY_STATUS]
[--expect-clause-standard EXPECT_CLAUSE_STANDARD]
[--expect-standard-clause EXPECT_STANDARD_CLAUSE]
[--expect-clause-package EXPECT_CLAUSE_PACKAGE]
[--expect-ats-reference EXPECT_ATS_REFERENCE]
[--expect-srs-coverage-status EXPECT_SRS_COVERAGE_STATUS]
[--expect-srs-requirement EXPECT_SRS_REQUIREMENT]
[--expect-traceability-package EXPECT_TRACEABILITY_PACKAGE]
[--expect-conformance-package EXPECT_CONFORMANCE_PACKAGE]
[--expect-interoperability-package EXPECT_INTEROPERABILITY_PACKAGE]
[--require-package-expansion-bundle]
[--require-live-e2e-bundle]
[--require-session-fault-bundle]
[--require-conformance-expansion-bundle]
[--require-interoperability-expansion-bundle]
[--require-suite-traceability-bundle]
[--require-standards-clause-traceability-bundle]
[--expect-production-release-status EXPECT_PRODUCTION_RELEASE_STATUS]
[--expect-mcs-hardware-evidence-status EXPECT_MCS_HARDWARE_EVIDENCE_STATUS]
[--expect-production-release-gate EXPECT_PRODUCTION_RELEASE_GATE]
[--expect-hardware-evidence EXPECT_HARDWARE_EVIDENCE]
[--require-production-release-bundle]
[--expect-backend-orchestration-status EXPECT_BACKEND_ORCHESTRATION_STATUS]
[--expect-orchestrated-backend EXPECT_ORCHESTRATED_BACKEND]
[--expect-backend-adapter EXPECT_BACKEND_ADAPTER]
[--expect-backend-capability EXPECT_BACKEND_CAPABILITY]
[--require-backend-orchestration-bundle]
[--expect-mcs-bench-capture-status EXPECT_MCS_BENCH_CAPTURE_STATUS]
[--expect-mcs-capture-driver EXPECT_MCS_CAPTURE_DRIVER]
[--expect-mcs-capture-artifact EXPECT_MCS_CAPTURE_ARTIFACT]
[--require-mcs-bench-capture-bundle]
[--expect-release-candidate-hardening-status EXPECT_RELEASE_CANDIDATE_HARDENING_STATUS]
[--expect-rc-hardening-check EXPECT_RC_HARDENING_CHECK]
[--require-release-candidate-hardening-bundle]
[--require-artifact REQUIRE_ARTIFACT]
[--max-campaign-age-hours MAX_CAMPAIGN_AGE_HOURS]
[--expect-vendor-connector EXPECT_VENDOR_CONNECTOR]
[--expect-vendor-partner EXPECT_VENDOR_PARTNER]
[--require-vendor-proof-attestation]
[--require-bench-proof-attestation]
[--strict] [--output OUTPUT]
path
positional arguments:
path
options:
-h, --help show this help message and exit
--output-root OUTPUT_ROOT
--expect-status EXPECT_STATUS
--expect-production-graded EXPECT_PRODUCTION_GRADED
--expect-claim-safe EXPECT_CLAIM_SAFE
--expect-qualification-passed EXPECT_QUALIFICATION_PASSED
--expect-protocol-gate EXPECT_PROTOCOL_GATE
--expect-vendor-gate EXPECT_VENDOR_GATE
--expect-bench-gate EXPECT_BENCH_GATE
--expect-bench-proof-gate EXPECT_BENCH_PROOF_GATE
--expect-differential-gate EXPECT_DIFFERENTIAL_GATE
--expect-package-expansion-status EXPECT_PACKAGE_EXPANSION_STATUS
--expect-live-e2e-status EXPECT_LIVE_E2E_STATUS
--expect-live-protocol EXPECT_LIVE_PROTOCOL
--expect-live-vendor EXPECT_LIVE_VENDOR
--expect-live-backend EXPECT_LIVE_BACKEND
--expect-session-fault-status EXPECT_SESSION_FAULT_STATUS
--expect-session-fault-protocol EXPECT_SESSION_FAULT_PROTOCOL
--expect-session-fault-case EXPECT_SESSION_FAULT_CASE
--expect-session-fault-class EXPECT_SESSION_FAULT_CLASS
--expect-conformance-expansion-status EXPECT_CONFORMANCE_EXPANSION_STATUS
--expect-conformance-protocol EXPECT_CONFORMANCE_PROTOCOL
--expect-conformance-standard EXPECT_CONFORMANCE_STANDARD
--expect-conformance-case EXPECT_CONFORMANCE_CASE
--expect-interoperability-expansion-status EXPECT_INTEROPERABILITY_EXPANSION_STATUS
--expect-interoperability-protocol EXPECT_INTEROPERABILITY_PROTOCOL
--expect-interoperability-vendor EXPECT_INTEROPERABILITY_VENDOR
--expect-interoperability-backend EXPECT_INTEROPERABILITY_BACKEND
--expect-interoperability-pair EXPECT_INTEROPERABILITY_PAIR
--expect-interoperability-case EXPECT_INTEROPERABILITY_CASE
--expect-standards-traceability-status EXPECT_STANDARDS_TRACEABILITY_STATUS
--expect-standard EXPECT_STANDARD
--expect-standards-clause-traceability-status EXPECT_STANDARDS_CLAUSE_TRACEABILITY_STATUS
--expect-clause-standard EXPECT_CLAUSE_STANDARD
--expect-standard-clause EXPECT_STANDARD_CLAUSE
--expect-clause-package EXPECT_CLAUSE_PACKAGE
--expect-ats-reference EXPECT_ATS_REFERENCE
--expect-srs-coverage-status EXPECT_SRS_COVERAGE_STATUS
--expect-srs-requirement EXPECT_SRS_REQUIREMENT
--expect-traceability-package EXPECT_TRACEABILITY_PACKAGE
--expect-conformance-package EXPECT_CONFORMANCE_PACKAGE
--expect-interoperability-package EXPECT_INTEROPERABILITY_PACKAGE
--require-package-expansion-bundle
--require-live-e2e-bundle
--require-session-fault-bundle
--require-conformance-expansion-bundle
--require-interoperability-expansion-bundle
--require-suite-traceability-bundle
--require-standards-clause-traceability-bundle
--expect-production-release-status EXPECT_PRODUCTION_RELEASE_STATUS
--expect-mcs-hardware-evidence-status EXPECT_MCS_HARDWARE_EVIDENCE_STATUS
--expect-production-release-gate EXPECT_PRODUCTION_RELEASE_GATE
--expect-hardware-evidence EXPECT_HARDWARE_EVIDENCE
--require-production-release-bundle
--expect-backend-orchestration-status EXPECT_BACKEND_ORCHESTRATION_STATUS
--expect-orchestrated-backend EXPECT_ORCHESTRATED_BACKEND
--expect-backend-adapter EXPECT_BACKEND_ADAPTER
--expect-backend-capability EXPECT_BACKEND_CAPABILITY
--require-backend-orchestration-bundle
--expect-mcs-bench-capture-status EXPECT_MCS_BENCH_CAPTURE_STATUS
--expect-mcs-capture-driver EXPECT_MCS_CAPTURE_DRIVER
--expect-mcs-capture-artifact EXPECT_MCS_CAPTURE_ARTIFACT
--require-mcs-bench-capture-bundle
--expect-release-candidate-hardening-status EXPECT_RELEASE_CANDIDATE_HARDENING_STATUS
--expect-rc-hardening-check EXPECT_RC_HARDENING_CHECK
--require-release-candidate-hardening-bundle
--require-artifact REQUIRE_ARTIFACT
--max-campaign-age-hours MAX_CAMPAIGN_AGE_HOURS
--expect-vendor-connector EXPECT_VENDOR_CONNECTOR
--expect-vendor-partner EXPECT_VENDOR_PARTNER
--require-vendor-proof-attestation
--require-bench-proof-attestation
--strict
--output OUTPUT
Production examples
Verify that the ISO 15118-20 qualification bundle is green.
chargelink qualification verify 'artifacts/protocol_qualification/iso15118_20_suite' --expect-status 'passed' --expect-qualification-passed 'true' --expect-protocol-gate 'passed' --strict --output 'artifacts/verification/iso20_qualification_verify.json'
Verify that the production release gate is still attention_required until hardware proof is attached.
chargelink qualification verify 'artifacts/protocol_qualification/production_release_gate_mcs_hardware_evidence_intake' --expect-status 'attention_required' --expect-production-graded 'false' --expect-claim-safe 'false' --require-production-release-bundle --strict --output 'artifacts/verification/production_release_verify.json'
roots
List known qualification roots or write them to JSON.
CLI help
usage: chargelink qualification roots [-h] [--output-root OUTPUT_ROOT]
[--output OUTPUT]
options:
-h, --help show this help message and exit
--output-root OUTPUT_ROOT
--output OUTPUT
Production examples
List qualification roots from the default output root.
chargelink qualification roots
Write qualification roots to JSON.
chargelink qualification roots --output-root 'artifacts/protocol_qualification' --output 'artifacts/protocol_qualification/roots.json'