Calibration CI¶
Calibration CI applies the same validation, falsification, bundle-integrity, and protocol-compatibility gates locally and in GitHub Actions. It never re-solves a calibration or treats optimizer convergence as acceptance.
Local use¶
calibrex ci calibration/candidate.yaml \
--baseline calibration/baseline.yaml \
--output-dir outputs/calibration-ci \
--enforce \
--json
--enforce returns nonzero unless the final status is PASS. When a baseline
is supplied, incompatible evidence protocols also fail the decision. Use
--allow-incompatible-protocol only when a comparison is intentionally
informational.
The output directory contains:
calibration-ci.json schema-valid CI decision and provenance
summary.md GitHub-compatible check summary
evidence.json candidate evidence extracted without recomputation
assessment.json falsification policy decision
protocol.json declared evidence protocols
policy.json evidence-contract policy
transforms.json typed candidate transforms
bundle.json SHA-256 evidence manifest
verification.json materialized bundle verification
evidence-card.svg provenance-bound visual summary
comparison.json baseline comparison, when requested
comparison-table.svg provenance-bound comparison visual
Validate the decision independently:
calibrex validate outputs/calibration-ci/calibration-ci.json
calibrex verify outputs/calibration-ci/bundle.json --json
GitHub Action¶
name: Calibration
on:
pull_request:
permissions:
contents: read
jobs:
evidence:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check calibration evidence
id: calibrex
uses: rsasaki0109/Calibrex@v0.4.0
with:
candidate: calibration/candidate.yaml
baseline: calibration/baseline.yaml
- uses: actions/upload-artifact@v4
if: always()
with:
name: calibration-evidence
path: calibrex-ci/
The action installs Calibrex from the exact action revision, writes
summary.md to the GitHub Step Summary, and exposes status, artifact,
summary, evidence_card, and comparison outputs.
The default inputs enforce both a PASS assessment and compatible
candidate/baseline evidence protocols. Set enforce: "false" to collect an
informational result while initially adopting the workflow.
Custom policy¶
Pass a schema-valid slac.policy/v0.1 artifact:
with:
candidate: calibration/candidate.yaml
policy: calibration/policy.yaml
The CI artifact records the policy ID, source path, and SHA-256 digest. The original evidence-contract policy remains separately available so the generated evidence bundle stays independently verifiable.
The action adds no ROS, GPL solver, or external calibration-tool dependency to the Calibrex core. External solver execution remains an explicit adapter or subprocess concern.