mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 12:12:57 -04:00
53 lines
2.5 KiB
YAML
53 lines
2.5 KiB
YAML
metadata:
|
|
version: 1
|
|
owner: cleanroom-sdk
|
|
status: draft
|
|
requirements:
|
|
- id: REQ-PROT-001
|
|
title: CommandFrame model
|
|
description: SDK shall expose CommandFrame with command id, payload, report id, and expected response metadata.
|
|
acceptance: Unit tests validate frame creation for all CommandId values.
|
|
- id: REQ-PROT-002
|
|
title: Response validation
|
|
description: SDK shall validate responses using command-specific byte signatures.
|
|
acceptance: Parser rejection tests fail malformed responses and accept matching responses.
|
|
- id: REQ-PROT-003
|
|
title: Deterministic retries
|
|
description: SDK shall retry reads on timeout/malformed responses using configured retry count.
|
|
acceptance: Retry tests cover delayed and partial responses.
|
|
- id: REQ-PROT-004
|
|
title: Report width support
|
|
description: SDK shall support both 64-byte reports and variable-length boot/firmware frames.
|
|
acceptance: Encode/decode tests cover Report64 and variable report wrappers.
|
|
|
|
- id: REQ-PID-001
|
|
title: PID registry completeness
|
|
description: SDK shall include all PIDs present in sanitized pid_matrix.csv.
|
|
acceptance: pid registry coverage test count equals pid_matrix.csv row count.
|
|
- id: REQ-PID-002
|
|
title: Support-level gating
|
|
description: detect-only devices shall reject unsupported operations with UnsupportedForPid.
|
|
acceptance: Capability gating tests verify rejection for unsafe operations on detect-only PIDs.
|
|
|
|
- id: REQ-SAFE-001
|
|
title: Unsafe command dual confirmation
|
|
description: Unsafe commands shall require both unsafe and brick-risk acknowledgement flags.
|
|
acceptance: Boot safety tests verify command denial without both flags.
|
|
- id: REQ-SAFE-002
|
|
title: Experimental command policy
|
|
description: Inferred commands shall require experimental mode.
|
|
acceptance: Inferred-command tests verify denial without experimental flag.
|
|
|
|
- id: REQ-TEST-001
|
|
title: Golden profile fixture
|
|
description: SDK shall parse and serialize profile blobs compatible with golden binary fixture.
|
|
acceptance: Profile serialization test round-trips fixture payload.
|
|
- id: REQ-TEST-002
|
|
title: CLI structured output
|
|
description: CLI shall provide JSON output for automation.
|
|
acceptance: CLI tests assert stable JSON keys and command responses.
|
|
- id: REQ-TEST-003
|
|
title: Clean-room guard
|
|
description: CI shall fail if cleanroom/sdk references forbidden dirty-room locations or tokens.
|
|
acceptance: cleanroom guard script is executed in CI and by integration test.
|