Skip to content

Spec the pinned Kani execution and evidence surface (no requirement owns src/kani_execution.rs) #55

Description

@kreneskyp

src/lib.rs:18 labels src/kani_execution.rs // Implements: FR-015, but FR-015 is a generation requirement: its Behavior and all six acceptance criteria describe emitting harnesses and typed refusals. No FR says this crate discovers a Kani installation, compares it with committed pins, runs cargo kani, interprets the backend output, or emits execution evidence.

Roughly 870 lines with no owning requirement:

  • KaniToolPins, KaniInstallation::observe, and the committed pins PINNED_CBMC_VERSION / PINNED_RUST_TOOLCHAIN / PINNED_TARGET_TRIPLE / PINNED_LAUNCHER_SHA256 / PINNED_DRIVER_SHA256 (src/kani_execution.rs:66-72). Only spec/interface/interface-001-codegen-api.md:145 pins cargo-kani 0.67.0; the other five values appear in no artifact.
  • KaniExecutionRefusal::PinDrift and the pre-run refusal (src/kani_execution.rs:432-445).
  • KaniRunOutcome and KaniInconclusiveReason (src/kani_execution.rs:347-390): a seven-value verdict vocabulary with no requirement.
  • KaniExecutionEvidence and KANI_EXECUTION_SCHEMA (src/kani_execution.rs:24, :389-425): an evidence document shape with no Outputs section anywhere that describes it.
  • spec/interface/interface-001-codegen-api.md has slices for the oracle, harness/strategy, bound-strategy, kani (FR-003) and coverage-analysis surfaces and none for this one, nor for FR-014, FR-015 or FR-016.

This is the module that converts a generated harness into an assurance claim, so an unowned verdict vocabulary here is the highest-value gap in the spec.

Resolution: write the requirement for the behaviour that is intended (pin measurement and pre-run drift refusal, the outcome vocabulary and the rule that derives it, the evidence fields, and the non-vacuity gate), with acceptance criteria that can fail, plus the test case, matrix rows and suite registration. Defects found in the same module are filed separately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    spec-firstRequires specification and review before implementationworkstream:contract-loweringContract IR, runtime, and code-generation work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions