A mobile workflow diverges after backgrounding, reconnecting, or replaying queued work. The affected area is keychain session.
Repair the keychain session lifecycle transitions implementation so it accepts only declared state transitions and reports rejected requests.
Evidence
- Affected surface: iOS / Swift / keychain session.
- Observed failure family: validate state transitions.
- Scope policy: contractVersion must equal 2.