Skip to content

bug(sdd): disabled failed verification cannot enter unmanaged remediationΒ #2182

Description

@dnlrsls

Pre-flight Checklist

  • I have searched existing issues and this is not a duplicate
  • I understand that PRs will be rejected if the linked issue does not have status:approved

πŸ“ Bug Description

When receipt-driven review is disabled and recorded as disabled/unmanaged, an admitted failed SDD verification cannot enter bounded remediation because sdd-status still requires a bounded review transaction that policy intentionally prevented from being created.

This is distinct from #2128, which covered archive-gate treatment of discovered invalidated receipts. Here the verification failure is substantive and correctable, but remediation remains unavailable: remediationState.required is false and the dispatcher reports bounded review transaction is missing.

πŸ”„ Steps to Reproduce

  1. Start and complete an OpenSpec-backed SDD change with receipt-driven review disabled.
  2. Record delivery as disabled/unmanaged and complete every implementation task.
  3. Persist a validator-admitted gentle-ai.verify-result/v1 report with verdict fail, correct non-zero requirement/scenario totals, and at least one substantive blocker.
  4. Settle the failed verification and explicitly authorize a bounded remediation work unit.
  5. Run gentle-ai sdd-status <change> --cwd <repo> --json --instructions.
  6. Observe that apply, verify, and archive remain blocked because no bounded review transaction exists.

βœ… Expected Behavior

An admitted failed verification under legitimate disabled/unmanaged delivery should preserve the concrete failure and permit one explicitly authorized bounded correction followed by fresh independent verification. It must not require review authority that the kill switch prevented from existing, and it must never fabricate approval.

❌ Actual Behavior

The dispatcher rejects remediation and reports a blocker equivalent to:

verify evidence cannot enter remediation: <substantive verification reason>; bounded review transaction is missing

remediationState.required remains false, so no supported correction route is available.

Gentle AI Version

v2.2.4 and v2.2.5 pre-release

Operating System

Windows

AI Agent / Client

OpenCode

πŸ“‹ Affected Area

CLI (commands, flags)

πŸ’‘ Logs / Error Output

nextRecommended: resolve-blockers
remediationState.required: false
blockedReasons:
  - verify evidence cannot enter remediation: blockers must be zero for archive readiness; bounded review transaction is missing

Additional Context

Split from the follow-up FAIL occurrences on #2137. The original #2137 scope remains PASS evidence misclassified after requirement-count mismatch.

Related but distinct:

Acceptance criteria:

  • Correctly counted, admitted FAIL evidence under disabled/unmanaged can expose one maintainer-authorized bounded correction route.
  • Enabled review mode continues to require native review authority.
  • Explicit invalid review artifacts and unreadable mode state remain fail-closed.
  • No path reports or implies review approval while review is disabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstatus:approvedApproved for implementation β€” PRs can now be openedtype:bugBug fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions