Align KVM consent state semantics so OptInState NotStarted is no longer reported as Requested, preventing false pending-consent behavior for clients.
Scope:
- Define the intended API representation for pre-request consent state (for example NotStarted/Required or nullable field).
- Update backend mapping logic to distinguish NotStarted from Requested and Displayed.
- Update API/OpenAPI contract and generated artifacts to match the new state model.
- Update unit and integration tests for all consent-state transitions.
- Validate runtime output on a real CCM-activated system.
Acceptance criteria:
- When OptInState is NotStarted, UserConsentStatus is not Requested.
- Requested and Displayed continue to map to the pending-request semantics only.
- API contract clearly documents each consent state and transition intent.
- Tests cover NotStarted, Requested, Displayed, Received, InSession, Denied, and Timeout.
- Build, lint, and test pipelines pass with no regressions.
Align KVM consent state semantics so OptInState NotStarted is no longer reported as Requested, preventing false pending-consent behavior for clients.
Scope:
Acceptance criteria: