# Change to CI Workflow

**Status:** Approved target-state baseline  
**Thin realization:** I1  
**Full activation:** I5.

## Target State

```text
ChangeSet revision
  -> classify changed paths/capabilities/risk
  -> identify affected dependencies/invariants
  -> VerificationPlanner / CIExecutionPlan
  -> admit reusable current evidence
  -> dispatch missing checks through CIProvider
  -> reconcile GitHub required checks/workflows
  -> normalize CIResult/VerificationEvidence
  -> invalidate stale evidence
  -> GateEvaluator
  -> pass / block with exact next requirement
```

## Planning Rules

Prefer smallest checks that can meaningfully falsify the change. Broaden only for concrete risk/blast radius/evidence failure/required gate. Stop once sufficient admissible evidence exists.

## Project Workflow Ownership

AWP does not rewrite `.github/workflows/*` as a prerequisite. It maps required invariants/capabilities to available workflows/checks and can surface missing coverage as a project issue/Decision.

## Provider Reconciliation

Provider workflow/check state is normalized under `CIExecution`; missing provider-required checks block even if AWP's initial plan omitted them.

## Evidence Reuse

Reuse valid receipts. Candidate/config/dependency/environment/check-definition changes selectively invalidate affected evidence. Retry history remains visible.

## Failure Categories

```text
product/test failure
infrastructure/provider error
cancelled
skipped by explicit plan/policy reason
missing/unavailable required capability
flaky/retry evidence
```

Resolver handles infrastructure/mechanical issues first; semantic failures return to correction.

## R4 Compatibility

When a ChangeSet touches a declared stable contract boundary, compatibility invariant becomes required; OpenAPI/oasdiff used where applicable.

## Increment Realization

I1: focused check receipts + actual GitHub required checks. I5: classification/planning/admission/ledger/invalidation/resolver/optimizer. I6: release gate consumes resulting evidence.

## Acceptance

User can see what was expected, what ran/reused/was omitted, why, exact source identity and what blocks progression—without interpreting provider logs manually.