Skip to content

[P1.1] PROOF9: give the 6 unrunnable gates real runners or an explicit UNVERIFIABLE state (not perpetual fail) #728

Description

@frankbria

Severity: high | Category: unfinished | Phase: P1.1

Problem

Verified: _GATE_TO_CORE = {UNIT: pytest, CONTRACT: pytest, SEC: ruff}; every other gate returns (False, "no automated runner — cannot verify"). Since OBLIGATION_MAP assigns E2E/VISUAL/A11Y/PERF/DEMO to 5 of 7 glitch types, most captured glitches can never be SATISFIED. CONTRACT is indistinguishable from UNIT; SEC is a linter. The flagship "9-gate evidence-based" PROVE step is really pytest+ruff.

Evidence

codeframe/core/proof/runner.py:68, :83

Acceptance criteria

  • Remaining gates are wired to real runners (playwright for E2E, etc.), OR unrunnable gates return an explicit UNVERIFIABLE/waivable state distinct from "ran and failed".
  • The /proof UI and run results distinguish "cannot verify" from "failed"; the stale runner docstring is corrected.

Dependencies

None


Filed from the SaaS launch-readiness audit. Atomic: one developer, one session. Work order: strictly P0.1 → P3.12 (no forward dependencies).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1-high-betaHigh priority - should fix before beta for best experienceenhancementNew feature or requestpriority:high

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions