docs(openspec): define phase 3d native macos client
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: P3D-018 explicit recovery states
|
||||
The client SHALL distinguish network interruption, reconnectable session, draining, provider cleanup failure, assignment unavailable, capacity queue, entitlement loss, and terminal end with safe actions.
|
||||
|
||||
#### Scenario: Reconnectable interruption
|
||||
- **WHEN** the control authority reports a reconnectable session after network loss
|
||||
- **THEN** the UI offers only a fresh authorized reconnect path and does not replay the old grant
|
||||
|
||||
### Requirement: P3D-019 deterministic lifecycle changes
|
||||
Sleep/wake, foreground/background, display/audio/controller/network changes, server/gateway restart, and core cancellation SHALL have deterministic tested behavior.
|
||||
|
||||
#### Scenario: Sleep during active stream
|
||||
- **WHEN** the Mac sleeps during an active stream
|
||||
- **THEN** input is released, owned tasks/resources stop, and wake reconciles authority before reconnect
|
||||
|
||||
### Requirement: P3D-021 accessible critical paths
|
||||
Authentication, resources, brokerage, session, errors, and settings SHALL support VoiceOver, keyboard navigation, visible focus, contrast, reduced motion, dynamic type where applicable, and non-color status cues.
|
||||
|
||||
#### Scenario: Keyboard-only connection
|
||||
- **WHEN** a user navigates the workspace without a pointer
|
||||
- **THEN** every critical action is reachable with visible focus and meaningful accessibility labels
|
||||
|
||||
### Requirement: P3D-022 redacted diagnostics
|
||||
Errors, telemetry, logs, crashes, and support artifacts SHALL exclude credentials, grants, provider endpoints, raw media/input, clipboard content, and Windows secrets while retaining bounded correlation identifiers.
|
||||
|
||||
#### Scenario: Synthetic secret canary
|
||||
- **WHEN** all diagnostics and support outputs are generated after injecting secret canaries
|
||||
- **THEN** the scanner finds no secret, media, input, clipboard, or provider-endpoint value
|
||||
|
||||
### Requirement: P3D-023 release platform safety
|
||||
Any distributed release SHALL be signed, notarized, hardened-runtime compatible, signature-verified for update, and rollback-tested.
|
||||
|
||||
#### Scenario: Tampered update
|
||||
- **WHEN** update metadata or the application artifact is modified after signing
|
||||
- **THEN** update verification fails before installation or execution
|
||||
|
||||
### Requirement: P3D-024 explicit uninstall policy
|
||||
Uninstall SHALL remove documented local application state according to explicit Keychain/cache policy and SHALL NOT silently delete server-side device authority.
|
||||
|
||||
#### Scenario: Offline uninstall
|
||||
- **WHEN** the app is removed while the Server is unreachable
|
||||
- **THEN** local state follows policy and server-side revocation is not falsely claimed
|
||||
Reference in New Issue
Block a user