Skip to content

Resurrect 6 disabled GitHub workflows (kani-verification, kani-regression, capability_tests, status-dashboard, deploy-verification, docs-deploy) #237

Description

@avrabe

Part of the V&V coverage initiative.

Problem

kiln has the largest Kani portfolio in pulseengine (ASIL-profile harnesses in kiln-sync/tests/kani_proofs.rs, Kani-verify integrated into cargo-kiln), but six GitHub workflows are currently on disk as .yml.disabled:

  • .github/workflows/kani-verification.yml.disabled
  • .github/workflows/kani-regression.yml.disabled
  • .github/workflows/capability_tests.yml.disabled
  • .github/workflows/status-dashboard.yml.disabled
  • .github/workflows/deploy-verification.yml.disabled
  • .github/workflows/docs-deploy.yml.disabled

Verification runs locally via cargo-kiln kani-verify --asil-profile <level> but nothing enforces it on PR merge. For DO-178C / ISO 26262 tool-qualification evidence, the gate must run on every push.

Acceptance

  • Each disabled workflow is audited, updated for the current cargo-kiln CLI, and renamed to .yml
  • Kani verification runs on PR with ASIL-D profile; ASIL-C/B as matrix if feasible
  • kani-regression runs nightly on main, posts results as a badge
  • capability_tests gates the memory-capability system (safe_managed_alloc! invariants)
  • status-dashboard generates a published artifact (pages or similar)
  • deploy-verification and docs-deploy are either re-enabled or deleted with rationale in the PR
  • Update kiln/.github/kani-badge.json to reflect live CI status
  • CI green on main; document the workflow topology in docs/

Notes

  • Kani tool version is pinned in kiln/tool-versions.toml; use that
  • Harnesses are in kiln-sync/tests/kani_proofs.rs and across kiln-foundation/src/formal_verification.rs
  • This is the single highest-leverage CI move for the whole estate per the initiative tracking issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions