mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 12:12:57 -04:00
release prep: rc.1 baseline and gating updates
This commit is contained in:
30
spec/dossiers/3100/core_diag.toml
Normal file
30
spec/dossiers/3100/core_diag.toml
Normal file
@@ -0,0 +1,30 @@
|
||||
# Sanitized static dirty-room dossier
|
||||
|
||||
dossier_id = "DOS-3100-CORE-DIAG-W2"
|
||||
pid_hex = "0x3100"
|
||||
operation_group = "CoreDiag"
|
||||
command_id = ["GetPid", "GetReportRevision", "GetControllerVersion", "Version", "Idle"]
|
||||
request_shape = "64-byte HID report; command opcode in request[1], pid-specific capability gating outside payload"
|
||||
response_shape = "status header (byte0/byte1) + optional payload bytes for pid/version/revision"
|
||||
validator_rules = ["byte0 == 0x02", "response_len >= 4", "signature bytes match command expectation"]
|
||||
retry_behavior = "retry timeout or malformed responses up to configured max attempts with bounded backoff"
|
||||
failure_signatures = ["timeout", "malformed_frame", "unsupported_for_pid"]
|
||||
evidence_source = "static"
|
||||
confidence = "inferred"
|
||||
requirement_ids = ["REQ-DR-001", "REQ-DR-W2-001", "REQ-PROM-001", "REQ-PROM-W2-001", "REQ-PID-002"]
|
||||
class_family = "Standard64"
|
||||
notes = "Wave 2 static dossier for PID_USB_Ultimate; support tier remains candidate-readonly"
|
||||
|
||||
[state_machine]
|
||||
pre_state = "DeviceConnected"
|
||||
action = "Run core diagnostics read sequence"
|
||||
post_state = "DeviceIdentified"
|
||||
invalid_transitions = ["NoDevice", "TransportClosed", "BootloaderOnly"]
|
||||
|
||||
[runtime_placeholder]
|
||||
required = true
|
||||
evidence_needed = ["runtime request/response traces for core diagnostics", "command-level status validation examples"]
|
||||
|
||||
[hardware_placeholder]
|
||||
required = true
|
||||
evidence_needed = ["identify + diag run on physical device", "repeatable read success across reconnects"]
|
||||
30
spec/dossiers/3100/firmware_preflight.toml
Normal file
30
spec/dossiers/3100/firmware_preflight.toml
Normal file
@@ -0,0 +1,30 @@
|
||||
# Sanitized static dirty-room dossier
|
||||
|
||||
dossier_id = "DOS-3100-FW-PREFLIGHT-W2"
|
||||
pid_hex = "0x3100"
|
||||
operation_group = "FirmwarePreflight"
|
||||
command_id = ["GetReportRevision", "GetControllerVersion", "Version"]
|
||||
request_shape = "64-byte HID read commands used for firmware readiness and metadata preflight"
|
||||
response_shape = "status bytes + firmware/version metadata bytes when present"
|
||||
validator_rules = ["byte0 == 0x02", "metadata bytes pass bounds checks", "device remains in application mode"]
|
||||
retry_behavior = "safe-read retries only; firmware transfer/write commands stay blocked for candidate-readonly"
|
||||
failure_signatures = ["timeout", "metadata_mismatch", "unsupported_for_pid"]
|
||||
evidence_source = "static"
|
||||
confidence = "inferred"
|
||||
requirement_ids = ["REQ-DR-001", "REQ-DR-W2-001", "REQ-PROM-001", "REQ-PROM-W2-001", "REQ-PROM-W2-002"]
|
||||
class_family = "Standard64"
|
||||
notes = "Preflight-only dossier for PID_USB_Ultimate; no bootloader entry/chunk/commit enablement"
|
||||
|
||||
[state_machine]
|
||||
pre_state = "DeviceIdentified"
|
||||
action = "Read firmware preflight metadata"
|
||||
post_state = "FirmwarePreflightReady"
|
||||
invalid_transitions = ["NoDevice", "BootloaderActive", "TransferInProgress"]
|
||||
|
||||
[runtime_placeholder]
|
||||
required = true
|
||||
evidence_needed = ["runtime preflight metadata traces", "error signature samples for invalid firmware path"]
|
||||
|
||||
[hardware_placeholder]
|
||||
required = true
|
||||
evidence_needed = ["hardware preflight check success", "metadata stability across reconnects"]
|
||||
30
spec/dossiers/3100/mode_or_profile_read.toml
Normal file
30
spec/dossiers/3100/mode_or_profile_read.toml
Normal file
@@ -0,0 +1,30 @@
|
||||
# Sanitized static dirty-room dossier
|
||||
|
||||
dossier_id = "DOS-3100-MODEPROFILE-W2"
|
||||
pid_hex = "0x3100"
|
||||
operation_group = "ModeProfileRead"
|
||||
command_id = ["GetMode", "GetModeAlt", "ReadProfile"]
|
||||
request_shape = "64-byte HID report; mode/profile selector byte in command payload"
|
||||
response_shape = "status header + mode/profile bytes when available"
|
||||
validator_rules = ["byte0 == 0x02", "mode/profile payload length is bounded", "fallback command path is defined"]
|
||||
retry_behavior = "use standard safe-read retry policy; fallback between mode-read command variants when defined"
|
||||
failure_signatures = ["timeout", "unsupported_for_pid", "invalid_signature"]
|
||||
evidence_source = "static"
|
||||
confidence = "inferred"
|
||||
requirement_ids = ["REQ-DR-001", "REQ-DR-W2-001", "REQ-PROM-001", "REQ-PROM-W2-002", "REQ-PID-002"]
|
||||
class_family = "Standard64"
|
||||
notes = "Read-only mode/profile snapshot for PID_USB_Ultimate; no write enablement in this wave"
|
||||
|
||||
[state_machine]
|
||||
pre_state = "DeviceIdentified"
|
||||
action = "Read mode/profile snapshot"
|
||||
post_state = "ModeProfileSnapshotReady"
|
||||
invalid_transitions = ["NoDevice", "WritePending", "BootloaderActive"]
|
||||
|
||||
[runtime_placeholder]
|
||||
required = true
|
||||
evidence_needed = ["runtime traces for mode/profile read commands", "read consistency across repeated probes"]
|
||||
|
||||
[hardware_placeholder]
|
||||
required = true
|
||||
evidence_needed = ["hardware readback for mode/profile snapshot", "cross-slot/read variant sanity checks where applicable"]
|
||||
Reference in New Issue
Block a user