---
id: ADR-PFM-INT-002
title: A connection changes state only through named transitions
product_area: platform
module: integrations
revision: 1
status: proposed
design_intent: confirmed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
decision: >-
  Use named, locked account transitions to validate source standing and commit account changes, binding
  reassessment and both audits together. A disconnected account link cannot be revived.
constrains:
  - DOM-PFM-INT-002
  - STATE-PFM-INT-003
  - WF-PFM-INT-003
  - WF-PFM-INT-007
  - SVC-PFM-INT-integrations
alternatives:
  - option: Update account status directly.
    why_not: Direct edits could leave bindings and audit history inconsistent with account usability.
  - option: Revive the disconnected record.
    why_not: Creating a new link preserves the old account’s history and avoids reusing its binding identity.
consequences:
  - 'Every current binding reference prevents disconnection, including an invalid binding.'
  - An unfinished account can be discarded so it does not block removal of its installation.
  - The console derives account indicators and attention categories from saved standing.
origin: 'docs/milestones/INTG-M1-find-install-connect.md#Decisions D7, D9, D10 (INTG-M1 Product Accepted)'
supersedes: []
evidence:
  - 'services-platform at ad3f6a65: modules/integrations/services/connections/transition.ts'
---

# A connection changes state only through named transitions

## Context

Account usability drives binding eligibility and provider admission.

## Decision

Use named, locked account transitions to validate source standing and commit account changes, binding reassessment and both audits together. A disconnected account link cannot be revived.

## Alternatives Considered

Update account status directly. Direct edits could leave bindings and audit history inconsistent with account usability.

Revive the disconnected record. Creating a new link preserves the old account’s history and avoids reusing its binding identity.

## Consequences

Every current binding reference prevents disconnection, including an invalid binding.

An unfinished account can be discarded so it does not block removal of its installation.

The console derives account indicators and attention categories from saved standing.
