oep-client-python 0.0.44__tar.gz → 0.0.45__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/CHANGELOG.md +104 -0
  2. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/PKG-INFO +1 -1
  3. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/conformance-checks.ja.md +5 -5
  4. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/cut-conformance.ja.md +1 -1
  5. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/data-conformance.ja.md +1 -1
  6. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-request-conformance.ja.md +3 -3
  7. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/notification-sequence-conformance.ja.md +1 -1
  8. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/recovery-conformance.ja.md +1 -1
  9. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/recovery-races-conformance.ja.md +1 -1
  10. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/retention-conformance.ja.md +1 -1
  11. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/retention-lifecycle-conformance.ja.md +1 -1
  12. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/route-conformance.ja.md +1 -1
  13. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/README.ja.md +1 -1
  14. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/capture.json +133 -471
  15. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/common.json +3 -3
  16. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/console.json +7 -7
  17. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/core.json +167 -158
  18. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/debug.json +118 -70
  19. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/fixture.json +27 -27
  20. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/link.json +14 -14
  21. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/plan.json +27 -27
  22. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/restart.json +2 -2
  23. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/trace/transports.json +16 -16
  24. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/usb-conformance.ja.md +22 -2
  25. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/writer-lease-conformance.ja.md +1 -1
  26. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/pyproject.toml +1 -1
  27. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/__init__.py +1 -1
  28. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/__main__.py +4 -4
  29. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/acquire.py +6 -3
  30. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/capture.py +20 -50
  31. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/__init__.py +47 -6
  32. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/allocator.py +1 -1
  33. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_serial.py +1 -1
  34. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/core_smoke.py +1 -1
  35. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/cut.py +1 -1
  36. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/data.py +1 -1
  37. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dependencies.py +1 -1
  38. oep_client_python-0.0.45/src/oep_client/conformance/force_hw.py +147 -0
  39. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/gpio_lifecycle.py +2 -2
  40. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_core.py +1 -1
  41. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_deadline.py +2 -2
  42. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_request_sample.py +1 -2
  43. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_requests.py +10 -15
  44. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_wait.py +2 -2
  45. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/lease.py +1 -1
  46. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/notification_sequence.py +1 -1
  47. oep_client_python-0.0.45/src/oep_client/conformance/notify_hw.py +322 -0
  48. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/oep_smoke.py +2 -2
  49. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/recovery.py +1 -1
  50. oep_client_python-0.0.45/src/oep_client/conformance/release_hw.py +123 -0
  51. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retention.py +2 -2
  52. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retention_lifecycle.py +2 -2
  53. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retry.py +1 -1
  54. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/routes.py +1 -1
  55. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/serial.py +5 -0
  56. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/tcp_peers.py +17 -8
  57. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/tcp_recovery.py +1 -1
  58. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/usb.py +24 -7
  59. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/usb_cases.py +40 -1
  60. oep_client_python-0.0.45/src/oep_client/conformance/usb_hw.py +313 -0
  61. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/writer_lease.py +1 -1
  62. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/endpoint.py +7 -17
  63. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/host.py +1 -1
  64. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/interfaces.py +3 -0
  65. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/link.py +60 -60
  66. oep_client_python-0.0.45/src/oep_client/memo.py +101 -0
  67. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/pins.py +1 -1
  68. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/registry.py +7 -3
  69. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/speed_record.py +2 -2
  70. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench.py +15 -44
  71. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench_capture.py +50 -276
  72. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench_serve.py +1 -1
  73. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/README.ja.md +1 -1
  74. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/README.md +1 -1
  75. oep_client_python-0.0.45/tests/hw/results/e8f60ae84e28-0.0.44+34c0b0b-0.0.44-20261104T190820.json +851 -0
  76. oep_client_python-0.0.45/tests/hw/results/e8f60ae84e28-0.0.44+34c0b0b-0.0.44-20261104T190903.json +178 -0
  77. oep_client_python-0.0.45/tests/hw/results/e8f60ae84e28-unknown-0.0.44-20261104T190857.json +45 -0
  78. oep_client_python-0.0.45/tests/hw/results/esp32-series-30eda0e31108-0.0.44+34c0b0b-0.0.44-20261104T190941.json +928 -0
  79. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/test_probe.py +10 -6
  80. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/spec/DOCS_SHA256 +8 -7
  81. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/spec/oep-v1.toml +18 -60
  82. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_capture.py +1 -1
  83. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_capture_generation_rules.py +2 -2
  84. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance.py +2 -2
  85. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_data.py +1 -1
  86. oep_client_python-0.0.45/tests/test_conformance_force_hw.py +24 -0
  87. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_reconnect.py +1 -1
  88. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_retention.py +2 -2
  89. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_retention_lifecycle.py +1 -1
  90. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_routes.py +4 -4
  91. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_tcp_peers.py +1 -1
  92. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_usb.py +94 -2
  93. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_host_rules_bounds_options.py +1 -1
  94. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_link_serial.py +1 -1
  95. oep_client_python-0.0.45/tests/test_memo.py +128 -0
  96. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_no_resume.py +1 -1
  97. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_pins.py +2 -2
  98. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_port_speed.py +14 -14
  99. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_session.py +2 -2
  100. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_link.py +2 -2
  101. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_restart.py +1 -1
  102. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_formats.py +3 -3
  103. oep_client_python-0.0.45/tests/test_virtual_bench_capture_options.py +147 -0
  104. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_spec.py +1 -1
  105. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_core.py +40 -1
  106. oep_client_python-0.0.45/tests/vectors/SPEC_COMMIT +1 -0
  107. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/SPEC_SHA256 +4 -4
  108. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/capture_formats.json +1 -27
  109. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/ops.json +1 -1
  110. oep_client_python-0.0.44/tests/test_virtual_bench_capture_options.py +0 -322
  111. oep_client_python-0.0.44/tests/vectors/SPEC_COMMIT +0 -1
  112. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/.gitignore +0 -0
  113. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/LICENSE +0 -0
  114. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/README.ja.md +0 -0
  115. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/README.md +0 -0
  116. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/README.ja.md +0 -0
  117. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/allocator-conformance.ja.md +0 -0
  118. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/analog-conformance.ja.md +0 -0
  119. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/analog-payload-conformance.ja.md +0 -0
  120. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/arm-adi-conformance.ja.md +0 -0
  121. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/attach-conformance.ja.md +0 -0
  122. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/block-conformance.ja.md +0 -0
  123. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/capture-group-conformance.ja.md +0 -0
  124. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/capture-group-geometry-conformance.ja.md +0 -0
  125. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/capture-metadata-conformance.ja.md +0 -0
  126. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/capture-serial-conformance.ja.md +0 -0
  127. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/capture-timeline-conformance.ja.md +0 -0
  128. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/capture-timeline-lifecycle-conformance.ja.md +0 -0
  129. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/clock-conformance.ja.md +0 -0
  130. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/config-conformance.ja.md +0 -0
  131. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/config-execution-conformance.ja.md +0 -0
  132. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/config-fallback-conformance.ja.md +0 -0
  133. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/config-paging-conformance.ja.md +0 -0
  134. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/config-power-loss-conformance.ja.md +0 -0
  135. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/config-storage-conformance.ja.md +0 -0
  136. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/conformance-spec-compatibility.ja.md +0 -0
  137. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/core-fixed-fields-review.ja.md +0 -0
  138. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/core-smoke-conformance.ja.md +0 -0
  139. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/corr-conformance.ja.md +0 -0
  140. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/debug-conformance.ja.md +0 -0
  141. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/dependency-conformance.ja.md +0 -0
  142. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/discovery-conformance.ja.md +0 -0
  143. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/dmseq-conformance.ja.md +0 -0
  144. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/dmseq-target-conformance.ja.md +0 -0
  145. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/execution-order-conformance.ja.md +0 -0
  146. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/exhausted-conformance.ja.md +0 -0
  147. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/fixture-metadata-conformance.ja.md +0 -0
  148. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/gpio-conformance.ja.md +0 -0
  149. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/gpio-lifecycle-conformance.ja.md +0 -0
  150. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/hardware-configuration.ja.md +0 -0
  151. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/hardware-quickstart.ja.md +0 -0
  152. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/hardware-schema.ja.md +0 -0
  153. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-core-shapes-conformance.ja.md +0 -0
  154. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-deadline-conformance.ja.md +0 -0
  155. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-notification-conformance.ja.md +0 -0
  156. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-resend-conformance.ja.md +0 -0
  157. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-tlv-conformance.ja.md +0 -0
  158. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-value-conformance.ja.md +0 -0
  159. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/host-wait-conformance.ja.md +0 -0
  160. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/i2c-conformance.ja.md +0 -0
  161. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/interface-conformance.ja.md +0 -0
  162. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/interface-smoke-conformance.ja.md +0 -0
  163. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/lease-conformance.ja.md +0 -0
  164. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/link-routes-conformance.ja.md +0 -0
  165. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/link-transfer-conformance.ja.md +0 -0
  166. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/logic-conformance.ja.md +0 -0
  167. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/mailbox-conformance.ja.md +0 -0
  168. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/notification-output-sample.ja.md +0 -0
  169. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/notification-retention-conformance.ja.md +0 -0
  170. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/oep-declaration-conformance.ja.md +0 -0
  171. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/oep-example-smoke-conformance.ja.md +0 -0
  172. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/outcome-conformance.ja.md +0 -0
  173. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/pin-constraints-conformance.ja.md +0 -0
  174. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/pipeline-conformance.ja.md +0 -0
  175. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/port-speed-conformance.ja.md +0 -0
  176. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/probe-input-conformance.ja.md +0 -0
  177. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/refusal-order-conformance.ja.md +0 -0
  178. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/registered-ops-conformance.ja.md +0 -0
  179. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/replay-pressure-conformance.ja.md +0 -0
  180. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/reset-conformance.ja.md +0 -0
  181. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/resource-conformance.ja.md +0 -0
  182. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/response-race-conformance.ja.md +0 -0
  183. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/restart-conformance.ja.md +0 -0
  184. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/retry-conformance.ja.md +0 -0
  185. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/run-conformance.ja.md +0 -0
  186. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/scan-conformance.ja.md +0 -0
  187. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/scan-options-conformance.ja.md +0 -0
  188. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/selected-metadata-conformance.ja.md +0 -0
  189. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/session-loss-conformance.ja.md +0 -0
  190. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/session-smoke-conformance.ja.md +0 -0
  191. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/spec-follow-notes.ja.md +0 -0
  192. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/spi-conformance.ja.md +0 -0
  193. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/step-conformance.ja.md +0 -0
  194. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/stream-conformance.ja.md +0 -0
  195. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/subscription-conformance.ja.md +0 -0
  196. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/tcp-recovery-conformance.ja.md +0 -0
  197. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/testing-consumers.ja.md +0 -0
  198. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/testing-policy.ja.md +0 -0
  199. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/tlv-request-conformance.ja.md +0 -0
  200. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/uart-conformance.ja.md +0 -0
  201. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/uart-stream-conformance.ja.md +0 -0
  202. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/docs/wire-options-conformance.ja.md +0 -0
  203. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/arm.py +0 -0
  204. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/capture_blocks.py +0 -0
  205. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/catalog.py +0 -0
  206. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/ch32_flash.py +0 -0
  207. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/cobs.py +0 -0
  208. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/allocator_model.py +0 -0
  209. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/allocator_sample.py +0 -0
  210. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/analog.py +0 -0
  211. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/analog_model.py +0 -0
  212. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/analog_payload.py +0 -0
  213. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/analog_sample.py +0 -0
  214. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/arm_adi.py +0 -0
  215. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/arm_adi_blocks.py +0 -0
  216. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/arm_adi_model.py +0 -0
  217. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/arm_adi_sample.py +0 -0
  218. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/attach.py +0 -0
  219. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/attach_model.py +0 -0
  220. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/attach_sample.py +0 -0
  221. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/block_model.py +0 -0
  222. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/block_sample.py +0 -0
  223. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/blocks.py +0 -0
  224. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_group.py +0 -0
  225. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_group_geometry.py +0 -0
  226. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_group_geometry_model.py +0 -0
  227. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_group_model.py +0 -0
  228. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_group_sample.py +0 -0
  229. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_metadata.py +0 -0
  230. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_metadata_model.py +0 -0
  231. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_serial_sample.py +0 -0
  232. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_timeline.py +0 -0
  233. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_timeline_lifecycle.py +0 -0
  234. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_timeline_model.py +0 -0
  235. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/capture_timeline_sample.py +0 -0
  236. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/clock.py +0 -0
  237. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/clock_model.py +0 -0
  238. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/clock_sample.py +0 -0
  239. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/core_fixed_fields.py +0 -0
  240. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/corr.py +0 -0
  241. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/cut_model.py +0 -0
  242. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/cut_sample.py +0 -0
  243. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/data_model.py +0 -0
  244. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/data_sample.py +0 -0
  245. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/debug.py +0 -0
  246. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/debug_model.py +0 -0
  247. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/debug_sample.py +0 -0
  248. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/declaration_model.py +0 -0
  249. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dependency_model.py +0 -0
  250. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dependency_sample.py +0 -0
  251. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/discovery.py +0 -0
  252. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dmseq.py +0 -0
  253. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dmseq_model.py +0 -0
  254. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dmseq_sample.py +0 -0
  255. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dmseq_target.py +0 -0
  256. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dmseq_target_model.py +0 -0
  257. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/dmseq_target_sample.py +0 -0
  258. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/execution_order.py +0 -0
  259. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/execution_order_sample.py +0 -0
  260. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/exhausted.py +0 -0
  261. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/exhausted_sample.py +0 -0
  262. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/fixture_metadata.py +0 -0
  263. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/fixture_metadata_model.py +0 -0
  264. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/gpio.py +0 -0
  265. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/gpio_lifecycle_model.py +0 -0
  266. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/gpio_lifecycle_sample.py +0 -0
  267. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/gpio_model.py +0 -0
  268. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/gpio_sample.py +0 -0
  269. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_core_sample.py +0 -0
  270. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_deadline_sample.py +0 -0
  271. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_notifications.py +0 -0
  272. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_notifications_sample.py +0 -0
  273. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_resend.py +0 -0
  274. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_resend_sample.py +0 -0
  275. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_tlv.py +0 -0
  276. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_tlv_sample.py +0 -0
  277. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_values.py +0 -0
  278. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_values_sample.py +0 -0
  279. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/host_wait_sample.py +0 -0
  280. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/i2c.py +0 -0
  281. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/i2c_model.py +0 -0
  282. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/i2c_sample.py +0 -0
  283. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/interface_smoke.py +0 -0
  284. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/interfaces.py +0 -0
  285. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/lease_sample.py +0 -0
  286. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/link_routes.py +0 -0
  287. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/link_routes_model.py +0 -0
  288. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/link_routes_sample.py +0 -0
  289. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/link_transfer_model.py +0 -0
  290. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/link_transfer_sample.py +0 -0
  291. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/link_transfers.py +0 -0
  292. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/logic.py +0 -0
  293. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/logic_model.py +0 -0
  294. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/logic_sample.py +0 -0
  295. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/mailbox.py +0 -0
  296. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/mailbox_model.py +0 -0
  297. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/mailbox_sample.py +0 -0
  298. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/notification_model.py +0 -0
  299. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/notification_retention.py +0 -0
  300. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/notification_retention_sample.py +0 -0
  301. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/notification_sequence_sample.py +0 -0
  302. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/oep_declaration_model.py +0 -0
  303. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/oep_declarations.py +0 -0
  304. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/outcome_model.py +0 -0
  305. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/outcome_sample.py +0 -0
  306. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/outcomes.py +0 -0
  307. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/pipeline.py +0 -0
  308. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/pipeline_model.py +0 -0
  309. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/pipeline_sample.py +0 -0
  310. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed.py +0 -0
  311. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed_execution.py +0 -0
  312. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed_execution_model.py +0 -0
  313. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed_execution_sample.py +0 -0
  314. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed_lifecycle.py +0 -0
  315. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed_model.py +0 -0
  316. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/port_speed_sample.py +0 -0
  317. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/probe_input.py +0 -0
  318. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/probe_input_sample.py +0 -0
  319. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/recovery_race_sample.py +0 -0
  320. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/recovery_races.py +0 -0
  321. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/recovery_sample.py +0 -0
  322. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/refusal_order.py +0 -0
  323. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/refusal_order_sample.py +0 -0
  324. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/registered_ops.py +0 -0
  325. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/registered_ops_model.py +0 -0
  326. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/replay_pressure.py +0 -0
  327. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/reset.py +0 -0
  328. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/reset_model.py +0 -0
  329. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/reset_sample.py +0 -0
  330. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/resource_model.py +0 -0
  331. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/resource_sample.py +0 -0
  332. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/resources.py +0 -0
  333. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/response_race.py +0 -0
  334. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/response_race_sample.py +0 -0
  335. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/restart.py +0 -0
  336. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/restart_model.py +0 -0
  337. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/restart_sample.py +0 -0
  338. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retention_lifecycle_sample.py +0 -0
  339. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retention_model.py +0 -0
  340. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retention_sample.py +0 -0
  341. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retry_model.py +0 -0
  342. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/retry_sample.py +0 -0
  343. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/route_model.py +0 -0
  344. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/route_sample.py +0 -0
  345. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/run.py +0 -0
  346. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/run_model.py +0 -0
  347. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/run_sample.py +0 -0
  348. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/scan.py +0 -0
  349. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/scan_model.py +0 -0
  350. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/scan_options.py +0 -0
  351. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/scan_options_model.py +0 -0
  352. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/scan_options_sample.py +0 -0
  353. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/scan_sample.py +0 -0
  354. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/selected_metadata.py +0 -0
  355. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/selected_metadata_model.py +0 -0
  356. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/session_loss.py +0 -0
  357. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/session_loss_sample.py +0 -0
  358. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/session_smoke.py +0 -0
  359. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/spi.py +0 -0
  360. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/spi_model.py +0 -0
  361. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/spi_sample.py +0 -0
  362. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/step.py +0 -0
  363. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/step_model.py +0 -0
  364. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/step_sample.py +0 -0
  365. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/stream.py +0 -0
  366. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/stream_model.py +0 -0
  367. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/stream_sample.py +0 -0
  368. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/subscription_sample.py +0 -0
  369. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/subscriptions.py +0 -0
  370. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/tcp.py +0 -0
  371. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/tcp_recovery_sample.py +0 -0
  372. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/tlv_request_model.py +0 -0
  373. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/tlv_requests.py +0 -0
  374. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/uart.py +0 -0
  375. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/uart_model.py +0 -0
  376. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/uart_sample.py +0 -0
  377. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/uart_stream.py +0 -0
  378. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/uart_stream_sample.py +0 -0
  379. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/usb_model.py +0 -0
  380. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/wire_options.py +0 -0
  381. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/wire_options_model.py +0 -0
  382. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/wire_options_sample.py +0 -0
  383. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/writer_lease_model.py +0 -0
  384. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/conformance/writer_lease_sample.py +0 -0
  385. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/console.py +0 -0
  386. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/core.py +0 -0
  387. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/decode.py +0 -0
  388. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/discovery.py +0 -0
  389. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/dump.py +0 -0
  390. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/fixture.py +0 -0
  391. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/frames.py +0 -0
  392. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/hardware.py +0 -0
  393. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/hid_stream.py +0 -0
  394. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/kept_session.py +0 -0
  395. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/linktest.py +0 -0
  396. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/message.py +0 -0
  397. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/names.py +0 -0
  398. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/probe_log.py +0 -0
  399. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/pytest_conformance.py +0 -0
  400. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/riscv.py +0 -0
  401. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/rp2350.py +0 -0
  402. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/settings.py +0 -0
  403. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/stimulus.py +0 -0
  404. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/targets.py +0 -0
  405. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/uiapduino.py +0 -0
  406. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/usb_stream.py +0 -0
  407. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench_mdns.py +0 -0
  408. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench_serial.py +0 -0
  409. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench_trigger.py +0 -0
  410. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_bench_usb.py +0 -0
  411. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_core.py +0 -0
  412. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_fixture_drive.py +0 -0
  413. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/src/oep_client/virtual_names.py +0 -0
  414. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/conftest.py +0 -0
  415. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/equipment/.env.example +0 -0
  416. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/equipment/test_core_contract.py +0 -0
  417. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/equipment/test_preflight.py +0 -0
  418. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/fixtures/hardware.virtual.toml +0 -0
  419. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/.env.example +0 -0
  420. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/.env.virtual.example +0 -0
  421. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/__init__.py +0 -0
  422. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/boards.py +0 -0
  423. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/conftest.py +0 -0
  424. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/firmware.py +0 -0
  425. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/flash.py +0 -0
  426. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/hardware.example.toml +0 -0
  427. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/hardware.resolved.example.toml +0 -0
  428. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/record.py +0 -0
  429. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/.gitignore +0 -0
  430. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.26+5bafb92-0.0.26.json +0 -0
  431. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.26+654b06a-0.0.26.json +0 -0
  432. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.27+ec1df99-0.0.27.json +0 -0
  433. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32+1491c13-0.0.31-20261016T133559.json +0 -0
  434. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32+672bf7b-0.0.32-20261016T164655.json +0 -0
  435. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131458.json +0 -0
  436. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131510.json +0 -0
  437. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131526.json +0 -0
  438. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131532.json +0 -0
  439. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131656.json +0 -0
  440. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131703.json +0 -0
  441. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T131708.json +0 -0
  442. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T132050.json +0 -0
  443. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T132057.json +0 -0
  444. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.32-0.0.31-20261016T132104.json +0 -0
  445. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.36+f8ac55a-0.0.36-20261022T160307.json +0 -0
  446. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.36+f8ac55a-0.0.36-20261022T161655.json +0 -0
  447. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.37+1031feb-0.0.37-20261023T214002.json +0 -0
  448. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.38+7c158ff-0.0.38-20261027T081156.json +0 -0
  449. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+1ad47c7-0.0.39-20261027T182907.json +0 -0
  450. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+2c0c41f-0.0.39-20261027T174907.json +0 -0
  451. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+9317805-0.0.39-20261027T191153.json +0 -0
  452. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+a75fd45-0.0.39-20261027T205055.json +0 -0
  453. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201038.json +0 -0
  454. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201057.json +0 -0
  455. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201058.json +0 -0
  456. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896-0.0.39-20261027T201059.json +0 -0
  457. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+ca5f896__crash_at_2106_s_-0.0.39-20261027T204608.json +0 -0
  458. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+d4d323c-0.0.39-20261028T190815.json +0 -0
  459. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/9489dd2ae0953650-0.0.39+d4d323c-0.0.39-20261028T191854.json +0 -0
  460. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+1ad47c7-0.0.39-20261027T181116.json +0 -0
  461. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+1ad47c7-0.0.39-20261027T181812.json +0 -0
  462. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+1ad47c7-0.0.39-20261027T182903.json +0 -0
  463. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+62463f2-0.0.39-20261029T145541.json +0 -0
  464. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+9317805-0.0.39-20261027T191150.json +0 -0
  465. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+a75fd45-0.0.39-20261028T190803.json +0 -0
  466. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+b7fbdf9-0.0.39-20261027T191727.json +0 -0
  467. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+b7fbdf9-0.0.39-20261027T204611.json +0 -0
  468. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+bb371fb-0.0.39-20261028T191811.json +0 -0
  469. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/e8f60ae84e28-0.0.39+bb371fb-0.0.39-20261028T191849.json +0 -0
  470. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.26+4fad559-0.0.26.json +0 -0
  471. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.26+5bafb92-0.0.26.json +0 -0
  472. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32+1491c13-0.0.31-20261016T133501.json +0 -0
  473. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32+672bf7b-0.0.32-20261016T164559.json +0 -0
  474. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32-0.0.31-20261016T130922.json +0 -0
  475. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.32-0.0.31-20261016T131024.json +0 -0
  476. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.36+12e1222-0.0.37-20261023T214016.json +0 -0
  477. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.36+f8ac55a-0.0.36-20261022T160134.json +0 -0
  478. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.37+1031feb-0.0.37-20261023T214230.json +0 -0
  479. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.38+7c158ff-0.0.38-20261027T081159.json +0 -0
  480. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+2c0c41f-0.0.39-20261027T174933.json +0 -0
  481. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+9317805-0.0.39-20261027T191154.json +0 -0
  482. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+b7fbdf9-0.0.39-20261027T204617.json +0 -0
  483. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-d0wd-v3-0070070d9394-0.0.39+bb371fb-0.0.39-20261028T191816.json +0 -0
  484. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.25-0.0.26.json +0 -0
  485. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.26+5bafb92-0.0.26.json +0 -0
  486. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.26+654b06a-0.0.26.json +0 -0
  487. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.26+e877631-0.0.26.json +0 -0
  488. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.27+ac80e07-0.0.27.json +0 -0
  489. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.27+ec1df99-0.0.27.json +0 -0
  490. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.27-0.0.27.json +0 -0
  491. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.28-0.0.28.json +0 -0
  492. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb-0.0.37-20261023T220718.json +0 -0
  493. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb-0.0.37-20261023T221106.json +0 -0
  494. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb__panic_at_11_s_-0.0.37-20261023T220856.json +0 -0
  495. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb__panic_at_11_s_-0.0.37-20261023T220901.json +0 -0
  496. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-0.0.37+1031feb__panic_at_11_s_-0.0.37-20261023T220915.json +0 -0
  497. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-unknown-0.0.26.json +0 -0
  498. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-unknown-0.0.37-20261023T214102.json +0 -0
  499. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-pico-d4-50029191fe34-unknown-0.0.39-20261028T190818.json +0 -0
  500. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e31108-0.0.26+5bafb92-0.0.26.json +0 -0
  501. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e31108-0.0.26+654b06a-0.0.26.json +0 -0
  502. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e343c6-0.0.26+5bafb92-0.0.26.json +0 -0
  503. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e343c6-0.0.26+654b06a-0.0.26.json +0 -0
  504. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e343c6-0.0.27+ec1df99-0.0.27.json +0 -0
  505. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e343c6-0.0.28+ffe4eb1-0.0.28.json +0 -0
  506. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0e343c6-0.0.28-0.0.28.json +0 -0
  507. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+0f013b7-0.0.28.json +0 -0
  508. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+1c940ca-0.0.28.json +0 -0
  509. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+4ef21db+4ef21db-dirty-0.0.28.json +0 -0
  510. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+68d9694-0.0.28.json +0 -0
  511. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+ec38b1d-0.0.28.json +0 -0
  512. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28+ffe4eb1-0.0.28.json +0 -0
  513. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.28-0.0.28.json +0 -0
  514. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.36+f8ac55a-0.0.36-20261022T160503.json +0 -0
  515. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.37+1031feb-0.0.37-20261023T214005.json +0 -0
  516. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.38+7c158ff-0.0.38-20261027T081145.json +0 -0
  517. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.38+7c158ff-0.0.38-20261027T081152.json +0 -0
  518. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+1ad47c7-0.0.39-20261027T180716.json +0 -0
  519. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+1ad47c7-0.0.39-20261027T182855.json +0 -0
  520. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+1ad47c7-0.0.39-20261027T183107.json +0 -0
  521. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f-0.0.39-20261027T174908.json +0 -0
  522. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_18_s_-0.0.39-20261027T175743.json +0 -0
  523. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_18_s_-0.0.39-20261027T175815.json +0 -0
  524. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_33_s_-0.0.39-20261027T175634.json +0 -0
  525. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+2c0c41f__task-wdt_at_431_s_-0.0.39-20261027T175709.json +0 -0
  526. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+62463f2-0.0.39-20261029T145536.json +0 -0
  527. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+7445bee-0.0.39-20261027T155413.json +0 -0
  528. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+9317805-0.0.39-20261027T191146.json +0 -0
  529. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+b7fbdf9-0.0.39-20261027T191724.json +0 -0
  530. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+bb371fb-0.0.39-20261028T191806.json +0 -0
  531. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+bb371fb-0.0.39-20261028T191843.json +0 -0
  532. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-0.0.39+d4d323c-0.0.39-20261028T190809.json +0 -0
  533. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-unknown-0.0.36-20261022T160222.json +0 -0
  534. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-unknown-0.0.39-20261027T155301.json +0 -0
  535. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/results/esp32-series-30eda0ea068b-unknown-0.0.39-20261027T155340.json +0 -0
  536. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/hw/test_harness.py +0 -0
  537. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/spec_names.py +0 -0
  538. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_acquire.py +0 -0
  539. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_address.py +0 -0
  540. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_capabilities.py +0 -0
  541. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_capture_blocks.py +0 -0
  542. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_capture_rules.py +0 -0
  543. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_cobs.py +0 -0
  544. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_allocator.py +0 -0
  545. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_analog.py +0 -0
  546. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_analog_payload.py +0 -0
  547. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_arm_adi.py +0 -0
  548. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_arm_adi_blocks.py +0 -0
  549. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_attach.py +0 -0
  550. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_blocks.py +0 -0
  551. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_capture_group.py +0 -0
  552. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_capture_group_geometry.py +0 -0
  553. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_capture_metadata.py +0 -0
  554. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_capture_serial.py +0 -0
  555. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_capture_timeline.py +0 -0
  556. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_capture_timeline_lifecycle.py +0 -0
  557. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_clock.py +0 -0
  558. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_core_fixed_fields.py +0 -0
  559. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_core_smoke.py +0 -0
  560. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_corr.py +0 -0
  561. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_cut.py +0 -0
  562. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_debug.py +0 -0
  563. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_dependencies.py +0 -0
  564. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_discovery.py +0 -0
  565. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_dmseq.py +0 -0
  566. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_dmseq_target.py +0 -0
  567. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_execution_order.py +0 -0
  568. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_exhausted.py +0 -0
  569. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_fixture_metadata.py +0 -0
  570. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_gpio.py +0 -0
  571. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_gpio_lifecycle.py +0 -0
  572. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_core.py +0 -0
  573. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_critical_calls.py +0 -0
  574. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_deadline.py +0 -0
  575. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_notifications.py +0 -0
  576. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_requests.py +0 -0
  577. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_resend.py +0 -0
  578. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_tlv.py +0 -0
  579. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_values.py +0 -0
  580. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_host_wait.py +0 -0
  581. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_i2c.py +0 -0
  582. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_interface_smoke.py +0 -0
  583. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_interfaces.py +0 -0
  584. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_lease.py +0 -0
  585. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_link_routes.py +0 -0
  586. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_link_transfers.py +0 -0
  587. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_logic.py +0 -0
  588. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_mailbox.py +0 -0
  589. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_notification_output.py +0 -0
  590. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_notification_retention.py +0 -0
  591. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_notification_sequence.py +0 -0
  592. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_oep_declarations.py +0 -0
  593. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_oep_smoke.py +0 -0
  594. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_outcomes.py +0 -0
  595. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_pipeline.py +0 -0
  596. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_port_speed.py +0 -0
  597. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_port_speed_execution.py +0 -0
  598. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_port_speed_lifecycle.py +0 -0
  599. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_probe_input.py +0 -0
  600. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_recovery.py +0 -0
  601. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_recovery_races.py +0 -0
  602. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_refusal_order.py +0 -0
  603. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_registered_ops.py +0 -0
  604. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_replay_pressure.py +0 -0
  605. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_replay_records_optional.py +0 -0
  606. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_reset.py +0 -0
  607. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_resources.py +0 -0
  608. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_response_race.py +0 -0
  609. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_restart.py +0 -0
  610. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_retry.py +0 -0
  611. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_reviewed_pins.py +0 -0
  612. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_run.py +0 -0
  613. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_scan.py +0 -0
  614. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_scan_options.py +0 -0
  615. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_selected_metadata.py +0 -0
  616. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_serial.py +0 -0
  617. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_session_loss.py +0 -0
  618. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_session_smoke.py +0 -0
  619. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_spec_guard.py +0 -0
  620. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_spi.py +0 -0
  621. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_step.py +0 -0
  622. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_stream.py +0 -0
  623. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_subscriptions.py +0 -0
  624. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_tcp.py +0 -0
  625. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_tcp_recovery.py +0 -0
  626. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_tlv_requests.py +0 -0
  627. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_uart.py +0 -0
  628. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_uart_stream.py +0 -0
  629. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_wire_options.py +0 -0
  630. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_conformance_writer_lease.py +0 -0
  631. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_console_queue_and_reset_settle.py +0 -0
  632. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_core_rules.py +0 -0
  633. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_debug_attach.py +0 -0
  634. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_debug_rules.py +0 -0
  635. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_describe_unset_idle_rules.py +0 -0
  636. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_exact_payload_rules.py +0 -0
  637. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_extension_patterns.py +0 -0
  638. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_fixture_controllers.py +0 -0
  639. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_fixture_link_settings_rules.py +0 -0
  640. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_fixture_out.py +0 -0
  641. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_fixture_targets.py +0 -0
  642. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_flash_console.py +0 -0
  643. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_gpio_drive_and_serve_options.py +0 -0
  644. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_hardware.py +0 -0
  645. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_hid_stream.py +0 -0
  646. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_host_boot_lifecycle.py +0 -0
  647. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_host_recovery_rules.py +0 -0
  648. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_host_rules_waits_lines.py +0 -0
  649. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_host_wait_bound.py +0 -0
  650. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_interfaces.py +0 -0
  651. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_link_drop.py +0 -0
  652. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_link_host.py +0 -0
  653. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_linktest.py +0 -0
  654. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_literals.py +0 -0
  655. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_minimal_ops.py +0 -0
  656. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_open_extensions.py +0 -0
  657. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_passthrough.py +0 -0
  658. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_plan.py +0 -0
  659. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_probe_log.py +0 -0
  660. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_request_tails.py +0 -0
  661. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_request_validation_rules.py +0 -0
  662. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_restart.py +0 -0
  663. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_resubscribe_after_reopen.py +0 -0
  664. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_rvswd_rest.py +0 -0
  665. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_settings.py +0 -0
  666. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_spec_sections.py +0 -0
  667. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_spec_vectors.py +0 -0
  668. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_state_resource_rules.py +0 -0
  669. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_stimulus.py +0 -0
  670. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_target_parts.py +0 -0
  671. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_tcp_discovery.py +0 -0
  672. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_tlv_reader_rules.py +0 -0
  673. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_capture.py +0 -0
  674. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_common.py +0 -0
  675. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_console.py +0 -0
  676. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_core.py +0 -0
  677. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_core_names.py +0 -0
  678. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_debug.py +0 -0
  679. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_fixture.py +0 -0
  680. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_fixture_drive.py +0 -0
  681. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_plan.py +0 -0
  682. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_trace_transports.py +0 -0
  683. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_transport_session_rules.py +0 -0
  684. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_usb_identity.py +0 -0
  685. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_usb_stream.py +0 -0
  686. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_analog_roles.py +0 -0
  687. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_announce.py +0 -0
  688. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture.py +0 -0
  689. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_changing_trigger.py +0 -0
  690. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_channel_time.py +0 -0
  691. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_format_2.py +0 -0
  692. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_initial_trigger_time.py +0 -0
  693. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_lifetime.py +0 -0
  694. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_notifications.py +0 -0
  695. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_one_shot_time.py +0 -0
  696. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_pretrigger.py +0 -0
  697. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_query.py +0 -0
  698. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_rates.py +0 -0
  699. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_requests.py +0 -0
  700. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_resume_calibration.py +0 -0
  701. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_trigger_modes.py +0 -0
  702. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_trigger_source.py +0 -0
  703. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_trigger_source_more.py +0 -0
  704. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_capture_waiting.py +0 -0
  705. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_pin_constraints.py +0 -0
  706. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_rules_core.py +0 -0
  707. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_rules_ops_lines.py +0 -0
  708. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_serve_reboot.py +0 -0
  709. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_serve_tcp_connections.py +0 -0
  710. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_bench_targets.py +0 -0
  711. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_virtual_core_bool.py +0 -0
  712. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/test_wire_hold.py +0 -0
  713. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/checks.json +0 -0
  714. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/cobs.json +0 -0
  715. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/confirm.json +0 -0
  716. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/core_extensions.json +0 -0
  717. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/core_lifecycle.json +0 -0
  718. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/core_policy.json +0 -0
  719. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/discovery.json +0 -0
  720. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/headers.json +0 -0
  721. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/interface_boundaries.json +0 -0
  722. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/interface_profiles.json +0 -0
  723. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/logic_layout.json +0 -0
  724. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/ops_encoding.json +0 -0
  725. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/refusals.json +0 -0
  726. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/sessions.json +0 -0
  727. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/tests/vectors/settings_file.json +0 -0
  728. {oep_client_python-0.0.44 → oep_client_python-0.0.45}/udev/70-oep-probe.rules +0 -0
@@ -2,6 +2,110 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.0.45
6
+ - (EN) Added: `oep_client.memo` for `oep.probe.memo` (oep-if-memo): list (paged, by prefix), read and write in parts at the
7
+ route's max_frame, delete; a read whose data does not match its crc raises MemoTorn. `oep dump` names the interface and
8
+ its max_object / max_objects. Registry and documents synced from oep-spec 2cd20aa (the memo interface; MUSTs that only
9
+ touch quality relaxed to SHOULD); the conformance checkers' pins moved with it after a review (none checks a relaxed rule).
10
+ - (JA) 追加: `oep.probe.memo`(oep-if-memo)の `oep_client.memo`。list(ページ分け、prefix)、経路の max_frame に合わせて分ける read と
11
+ write、delete。データが crc と合わない read は MemoTorn。`oep dump` がこのインターフェースと max_object / max_objects を示す。registry と
12
+ 文書を oep-spec 2cd20aa から同期した(メモ欄。品質だけにかかわる必須を推奨にした)。適合の検査の固定は、見直して合わせた(緩めた規則を
13
+ 確かめる検査は無い)。
14
+ - (EN) Fixed (tests/hw): capture_repeat_rearm configured 100 kHz whatever the probe declared, so a probe whose lowest rate
15
+ is above it (ESP32-P4: 627 kHz) refused the rate and the test skipped as if rearm were missing. It takes a declared
16
+ rate, and skips only when trigger_opts is the refused tag. It passes on ESP32-P4 and P4X probes.
17
+ - (JA) 修正(tests/hw): capture_repeat_rearm は probe の宣言によらず 100 kHz で configure していたので、最も遅いレートがそれより速い
18
+ probe(ESP32-P4: 627 kHz)ではレートで断られ、rearm が無いかのように skip していた。宣言したレートを使い、断られた tag が
19
+ trigger_opts のときだけ skip する。ESP32-P4 と P4X のプローブで通る。
20
+ - (EN) Added: `python -m oep_client.conformance.release_hw` checks electrically that a released pin goes back to its idle
21
+ state whatever released it (core §8, §9, §6.4): the channel's idle is set to pull-up / pull-down, fixture gpio drives the
22
+ line the other way, and a CH32 target's GPIO input, read over the probe's debug wire, must read the drive and then the
23
+ pull after plan_release, end, another id's force and the lease running out. All eight pass on an ESP32-P4 probe with a
24
+ CH32X035.
25
+ - (JA) 追加: `python -m oep_client.conformance.release_hw` は、どの道で解いても解いたピンが空きの状態に戻ることを電気的に確かめる
26
+ (core §8、§9、§6.4): channel の idle を pull-up / pull-down にし、fixture gpio で逆に駆動し、プローブの debug の線で読む CH32 の
27
+ target の GPIO の入力が、駆動を読み、plan_release、end、別の id の force、lease の期限切れの後にプルを読む。ESP32-P4 のプローブと
28
+ CH32X035 で 8 つとも通る。
29
+ - (EN) Added: `python -m oep_client.conformance.notify_hw` checks subscriptions and notifications on a real probe
30
+ (core §10, §9, §6.4; transports §3) with a logic capture streaming on one channel the user names: subscribe needs the
31
+ lock, unsubscribe with none succeeds, seq from 0 one by one with positions back to back, answers first while it
32
+ streams, a new subscribe restarts seq, max_delay_ms batches, nothing on another route, nothing after end or a force.
33
+ All nine pass on ESP32-P4 and P4X probes.
34
+ - (JA) 追加: `python -m oep_client.conformance.notify_hw` は、利用者が名指した 1 本の線でロジックのキャプチャをストリーミングさせ、
35
+ 実機で購読と通知を確かめる(core §10、§9、§6.4、transports §3): subscribe はロックが要る、購読が無い unsubscribe は成功、seq は 0 から
36
+ 1 ずつで position は途切れない、ストリーミング中も応答が先、subscribe し直すと seq は 0 から、max_delay_ms でまとめて送る、ほかの
37
+ 経路には届かない、end と force の後は届かない。ESP32-P4 と P4X のプローブで 9 つとも通る。
38
+ - (EN) Added: `python -m oep_client.conformance.force_hw` checks on a real probe that force releases the resources of the
39
+ session it takes from (core §6.4, §9): S attaches to a target (a debug connection), T of another id opens with force;
40
+ S's connection is gone from connections, its number is no_resource, S's keepalive is refused, and T's attach gets a new,
41
+ larger number. It passes on an ESP32-P4 probe with a CH32V208 over rvswd.
42
+ - (JA) 追加: `python -m oep_client.conformance.force_hw` は、実機で force が奪ったセッションの資源を解放することを確かめる(core §6.4、
43
+ §9): S が target に attach し(debug の接続)、別の id の T が force で open する。S の接続は connections から消え、その番号は
44
+ no_resource、S の keepalive は断られ、T の attach は新しい大きい番号になる。ESP32-P4 のプローブと rvswd の CH32V208 で通る。
45
+ - (EN) Added: the two-route checks (one lock seen from both routes, another session's open refused locked with its owner,
46
+ an answer only on the route of its request; transports §3) run on any second route, not only a second TCP connection:
47
+ `usb_hw --peer hid|bulk` opens the other USB kind of the same device, `--peer-port` its OEP CDC port (CORE-ROUTE-PEER-*).
48
+ They pass on ESP32-P4 and P4X probes for bulk with HID and bulk with CDC.
49
+ - (JA) 追加: 2 つの経路の検査(どちらの経路からも同じ 1 つのロックが見え、別のセッションの open は持ち主つきの locked で断られ、
50
+ 答えは要求の来た経路にだけ返る。transports §3)を、2 本目の TCP の接続だけでなく、どの経路でも回す: `usb_hw --peer hid|bulk` は同じ
51
+ device のもう一方の USB の経路を、`--peer-port` はその OEP の CDC の口を開く(CORE-ROUTE-PEER-*)。ESP32-P4 と P4X のプローブで、bulk と
52
+ HID、bulk と CDC の組で通る。
53
+ - (EN) Added: oep-conformance runs the reconnect checks over TCP too (a new connection is the route moving, transports §3):
54
+ the session, its lock, its replay record and its lease outlive the connection. New check CORE-RECONNECT-UNREAD (serial
55
+ and TCP): a request whose answer is lost with the closed route is resent on the new one and comes back as the recorded
56
+ answer or result_lost, never run again (core §5.1; a recorded clock answer is told by its uptime). The virtual bench's
57
+ loopback TCP passes all five.
58
+ - (JA) 追加: oep-conformance は、接続し直しの検査を TCP でも回す(新しい接続は経路の移動、transports §3): セッション、ロック、再送の
59
+ 記録、lease は接続より長く残る。新しい検査 CORE-RECONNECT-UNREAD(シリアルと TCP): 閉じた経路で答えを失った要求を新しい経路で
60
+ 送り直すと、記録した答えか result_lost が返り、二度は実行されない(core §5.1。記録した clock の答えは uptime で分かる)。仮想ベンチの
61
+ loopback の TCP は 5 つとも通る。
62
+ - (EN) Added: `python -m oep_client.conformance.usb_hw` runs the raw bulk / HID checks on a real probe, named by
63
+ VID:PID and its serial number (the unit id), under the shared lock; it checks the USB descriptors too (serial = unit
64
+ id, one OEP vendor interface with one bulk pair, one OEP HID with one report ID, MS OS 2.0 WINUSB as a SHOULD). New
65
+ check CORE-USB-IN-END: answers framed to exactly one and two IN packets (oep.probe.link's source) must arrive without
66
+ more data after them (transports §1, the probe's last transfer ended). On ESP32-P4 and P4X probes every bulk and HID
67
+ check passes.
68
+ - (JA) 追加: `python -m oep_client.conformance.usb_hw` は、VID:PID と serial number(unit id)で名指した実機に、共通のロックを取って、
69
+ bulk / HID の生の検査を回す。USB の descriptor も確かめる(serial が unit id、OEP の vendor interface が 1 つで bulk が 1 組、OEP の HID が
70
+ 1 つで report ID が 1 つ、MS OS 2.0 の WINUSB は SHOULD)。新しい検査 CORE-USB-IN-END: 枠がちょうど IN packet 1 個分と 2 個分の答え
71
+ (oep.probe.link の source)が、続く data なしで届くこと(transports §1、probe の最後の転送の終わり)。ESP32-P4 と P4X のプローブで、
72
+ bulk と HID の検査はすべて通る。
73
+ - (EN) Docs: the rule-by-rule trace (docs/trace) names the tests as they are now (the subject-named modules, no review
74
+ rounds or item numbers; the later-copy tests as the refusal tests that replaced them), and core §2.3's rows follow the
75
+ spec's split of the twice-sent tag into requests (malformed) and answers (the first is used). tools/check_trace.py
76
+ passes on oep-spec 3b6dbbc.
77
+ - (JA) 文書: 規則ごとの対応表(docs/trace)は、今の試験の名前を指す(主題で名付けたモジュール、回や項目の番号なし。後の写しの試験は、
78
+ 置き換えた断りの試験)。core §2.3 の行は、2 回送られた tag を要求(malformed)と応答(最初を使う)に分けた仕様に合わせた。
79
+ tools/check_trace.py は oep-spec 3b6dbbc で通る。
80
+ - (EN) Removed: capture's optional features no probe implemented, as oep-spec 3b6dbbc drops them. `configure` no longer
81
+ takes `format_name`, and its `options` take only `glitch_filter` (group 0) and `clock`; `Config.format_name` and the
82
+ `threshold_used`, `coupling_used`, `offset_used`, `bandwidth_used`, `resolution_used` and `oversample_used` entries of
83
+ `Config.used` are gone. The virtual bench no longer offers the external data paths (`Endpoint.external_disconnect`,
84
+ `virtual_bench.EXTERNAL_TCP_PORT` / `EXTERNAL_UDP_PORT`), the named format (`NAMED_FORMAT`) or the analog front-end
85
+ settings; `with_capture_options` adds format 3, the external clock and the glitch filter to the logic track. The spec
86
+ snapshot follows 3b6dbbc, the trace's capture rows follow the spec's sections (§0, §3.8, trigger records at §3.9), and
87
+ the host-request checker's reviewed pins move with it.
88
+ - (JA) 削除: oep-spec 3b6dbbc に合わせ、どの probe も持たなかった capture の任意の機能を外した。`configure` は `format_name` を
89
+ 取らず、`options` は `glitch_filter`(群 0)と `clock` だけを取る。`Config.format_name` と、`Config.used` の `threshold_used`、
90
+ `coupling_used`、`offset_used`、`bandwidth_used`、`resolution_used`、`oversample_used` は無くなった。仮想ベンチは、データの外部の
91
+ 経路(`Endpoint.external_disconnect`、`virtual_bench.EXTERNAL_TCP_PORT` / `EXTERNAL_UDP_PORT`)、名前付きの形式(`NAMED_FORMAT`)、
92
+ アナログの前段の設定を出さない。`with_capture_options` は、ロジックのトラックに形式 3、外部クロック、グリッチフィルタを足す。仕様の
93
+ 写しは 3b6dbbc に合わせ、対応表の capture の行は仕様の節(§0、§3.8、トリガの記録は §3.9)に合わせ、host の要求の検査器の
94
+ 固定もそれに移した。
95
+ - (EN) Tests: the spec snapshot (vectors, registry, the documents' digests) follows oep-spec b8d63c6, and the conformance
96
+ checkers' reviewed pins move with it: the core, capture and fixture changes since are wording only (a §0 heading, the
97
+ state table's stopped 2, the critical-bit sentence, no product names). The core checker passes on an ESP32-P4 probe.
98
+ - (JA) 試験: 仕様の写し(ベクタ、registry、文書のハッシュ)を oep-spec b8d63c6 に合わせ、適合の検査器の固定も移した。core、capture、
99
+ fixture のその間の変更は文言だけ(§0 の見出し、状態の表の stopped 2、critical の bit の文、製品名の削除)。core の検査器は
100
+ ESP32-P4 のプローブで通る。
101
+ - (EN) Docs: comments, docstrings and documents cite the spec's sections as they are now (core §10 for notifications,
102
+ §5.1 for resending, plan §2.4, restart §2, link §3). The port_speed procedure, once host guide §17 and now this
103
+ client's own, is cited as the README's section. `acquire` takes describe's tags and the trigger types from the
104
+ registry instead of writing their numbers.
105
+ - (JA) 文書: 注釈、docstring、文書は、仕様の今の節を指す(通知は core §10、再送は §5.1、plan §2.4、restart §2、link §3)。
106
+ 前は host ガイド §17 にあり今はこの client 自身のものになった port_speed の手順は、README の節として指す。`acquire` は describe の
107
+ tag とトリガの型を、番号を書かずに registry から引く。
108
+
5
109
  ## 0.0.44
6
110
  - (EN) Changed: `targets` names the CH32V20x family `ch32v20x` (was `ch32v203`) and knows the CH32V208 by its target_id
7
111
  (top 12 bits 0x208; a CH32V208WBU6 measured), so `oep pins` identifies it and maps its pads; the CH32V203's id is not
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: oep-client-python
3
- Version: 0.0.44
3
+ Version: 0.0.45
4
4
  Summary: Open Embedded Probe (OEP) v1 host: serial / USB / TCP transports, the session rules, the standard interfaces, and a virtual bench
5
5
  Project-URL: Homepage, https://github.com/Open-Embedded-Probe/oep-client-python
6
6
  Project-URL: Repository, https://github.com/Open-Embedded-Probe/oep-client-python
@@ -42,11 +42,11 @@ uv run python -m oep_client.virtual_bench_serve --tcp 0 --profile core-v1
42
42
 
43
43
  追加する検査はpeerの識別、共通lock/ownerと他sessionの拒否、応答の送り先、接続ごとの途中frameの分離、片側のclose後のlock保持、peerの過大length切断時のprimary保持。応答漏れの無応答観測は100ms、途中header待ちは300ms。JSONにprimary/peerのraw bytesと観測を残す。
44
44
 
45
- close後はsession 0のpeerからlockを観測し、primaryを開き直して再照合する。元のsession Sの要求は新接続へ移さず、自分のownerを確認できた場合だけ別session Tでforceし、Tを同じ新接続でendする。識別・boot・owner・takeoverが不確かなら後続を止め、閉じた接続のsessionの後始末はleaseに任せる。同一sessionのTCP経路移動と再送は未検査として残す。
45
+ close後はsession 0のpeerからlockを観測し、primaryを開き直して再照合する。元のsession Sの要求は新接続へ移さず、自分のownerを確認できた場合だけ別session Tでforceし、Tを同じ新接続でendする。識別・boot・owner・takeoverが不確かなら後続を止め、閉じた接続のsessionの後始末はleaseに任せる。同一sessionのTCP経路移動と再送は、primaryの接続を開き直すCORE-RECONNECT-*(session、replay、ended、lease、unread)で確かめる。
46
46
 
47
47
  ## raw USBとソフトウェアモデル
48
48
 
49
- bulk/HIDには独立したraw adapter APIと最小USBモデルがある([USB検査ガイド](usb-conformance.ja.md))。USB device/gadgetやOSのUSB stackではなく、実機raw adapterとdescriptor検査は持たない。通常CLIのUSB `framing=client` はメッセージ検査だけで、モデルの成功を実機へ適用しない。
49
+ bulk/HIDには独立したraw adapter APIと、最小USBモデル、実機を開く `usb_hw`(descriptorとIN転送の終わりの検査を含む)がある([USB検査ガイド](usb-conformance.ja.md))。通常CLIのUSB `framing=client` はメッセージ検査だけで、モデルの成功を実機へ適用しない。
50
50
 
51
51
  ## 現在の粒度と限界
52
52
 
@@ -68,15 +68,15 @@ bulk/HIDには独立したraw adapter APIと最小USBモデルがある([USB
68
68
 
69
69
  `result_lost` は仕様が許す保持サイズ上限を考慮して受ける。履歴の古い clock を送り直したとき、新しい時計値で completed を返せば再実行として失敗する。cacheの容量を実装固有の固定値と決めつけない。
70
70
 
71
- 実機bulk/HIDのraw adapter・descriptor・packet終端、同一sessionのTCP経路移動・新接続での再送、force時の資源解放、subscription、電気的なpin解放、複数target・各opの動作は未検査。serialではclientのencoder/decoderを使わず、CRCは標準ライブラリ、COBSと受信は別コードで確認する。OSのport排他とportの開閉だけ既存clientを利用する。再接続はOS portのclose/openであり、USBの物理抜き差し・給電断・USB resetを模擬しない。DTR/RTSやbridge配線により再起動した場合、boot変化のFAILとして記録し、session保持の成否は確定しない。重複応答の検査は結果後30msの観測窓内、過大frameの無応答は宣言されたframe gap+100msの観測窓内に限る。TCPは独立したlengthの受信・送信を使い、壊れた応答の後は立て直しで隠さず止める。framing=clientでは独立wire検査を実行しない。これらを埋める前に全コア準拠・全インターフェース準拠と名乗らない。
71
+ 複数target・各opの動作は未検査(ピンの解放は、実機の `python -m oep_client.conformance.release_hw` が、targetのGPIOの入力で電気的に確かめる)。serialではclientのencoder/decoderを使わず、CRCは標準ライブラリ、COBSと受信は別コードで確認する。OSのport排他とportの開閉だけ既存clientを利用する。再接続はOS portのclose/openであり、USBの物理抜き差し・給電断・USB resetを模擬しない。DTR/RTSやbridge配線により再起動した場合、boot変化のFAILとして記録し、session保持の成否は確定しない。重複応答の検査は結果後30msの観測窓内、過大frameの無応答は宣言されたframe gap+100msの観測窓内に限る。TCPは独立したlengthの受信・送信を使い、壊れた応答の後は立て直しで隠さず止める。framing=clientでは独立wire検査を実行しない。これらを埋める前に全コア準拠・全インターフェース準拠と名乗らない。
72
72
 
73
73
  既存 `oep-hardware preflight` は個体・旧仕様の宣言・open/end に限った別契約。portable C++、共有ベクタ、仮想テストの成功も、実機適合とは別に報告する。
74
74
 
75
75
  既存の registry/vector は `tests/vectors/SPEC_COMMIT` と `SPEC_SHA256` で固定し、通常試験はその snapshot を検査する。明示した `OEP_SPEC_DIR` があれば、同じ commit の upstream 内容も比較する。SPEC の HEAD が先行しても旧回帰は自動同期しない。更新は `OEP_SPEC_DIR=/explicit/path OEP_SPEC_REF=<commit> tools/sync_registry.sh` で行う。
76
76
 
77
- 資源寿命には[明示adapterによる補助検査](resource-conformance.ja.md)がある。最小サンプルは14資源契約+2宣言検査を実行する。通常CLIへ自動追加せず、購読・route切断・依存順・電気的idleを未検査として残す。
77
+ forceによる資源の解放は、実機の `python -m oep_client.conformance.force_hw` が、targetへのdebugの接続で確かめる(奪われたセッションの接続が消え、番号がno_resourceになり、奪った側の次の接続は新しい大きい番号)。資源寿命には[明示adapterによる補助検査](resource-conformance.ja.md)がある。最小サンプルは14資源契約+2宣言検査を実行する。通常CLIへ自動追加せず、購読・route切断・依存順・電気的idleを未検査として残す。
78
78
 
79
- 購読・出来事の寿命には[外部刺激adapterの補助検査](subscription-conformance.ja.md)がある。raw通知と観測窓を保存する。data、応答優先、route、queue上限は未検査で、通常CLIには自動追加しない。
79
+ 購読と通知は、実機の `python -m oep_client.conformance.notify_hw` が、名指した1本の線のロジックのキャプチャのストリーミングで確かめる(ロック、seqとposition、応答優先、置き換え、max_delay_ms、経路、end / forceで止まる)。購読・出来事の寿命には[外部刺激adapterの補助検査](subscription-conformance.ja.md)がある。raw通知と観測窓を保存する。data、応答優先、route、queue上限は未検査で、通常CLIには自動追加しない。
80
80
 
81
81
  [data/eventとまとめ送りの補助検査](data-conformance.ja.md)。外部byte位置とloss-freeな刺激条件を明示し、閾値・first-byte delay・共通seq・分割・再送/同session openでの未送信データ保持を検査する。seq一周は単体で65,538個を実際に生成して検証し、実時計・実機の結果と分ける。
82
82
 
@@ -1,7 +1,7 @@
1
1
  # 線切れの応答と解放の論理検査
2
2
 
3
3
  `CutChecks`と独立した`CutModel`/`SampleCutAdapter`はOEP debug §2、common §1/2、
4
- core §5.2/9を検査する。共通宣言は第二段階、前提と動作は第三段階。
4
+ core §5.1/9を検査する。共通宣言は第二段階、前提と動作は第三段階。
5
5
  動作caseはRVSWD接続のRISC-V DMIとdmseq consoleを使う。
6
6
  公開Pythonライブラリだけで利用でき、SPEC/registryは呼び出し側で選ぶ。
7
7
  `full_conformance`はfalse。設備設定や私的ベンチを探索しない。
@@ -1,6 +1,6 @@
1
1
  # データ通知とまとめ送りの検査
2
2
 
3
- SPEC core §11.2/11.3の、data/event共通seq、データの形、min_bytes/max_delayを検査する。先に検査側の刺激と期待値を定め、独立したin-processサンプルへ適用する。実機transport、応答優先、送信queue上限、dropによるseq欠落は別段階。
3
+ SPEC core §10.2/11.3の、data/event共通seq、データの形、min_bytes/max_delayを検査する。先に検査側の刺激と期待値を定め、独立したin-processサンプルへ適用する。実機transport、応答優先、送信queue上限、dropによるseq欠落は別段階。
4
4
 
5
5
  条件は明示した2 fn、既知bytesのデータ刺激と既知markerの出来事刺激、全raw通知の受信。データ位置はinterfaceが決めるので、adapterは外部刺激の開始位置を返す。probeが返したpositionを期待値へ転記してはいけない。共通検査はdata見出し、position:u64、len:u16、後続TLVと、データ内容を独立に検証する。
6
6
 
@@ -25,13 +25,13 @@ encoderは文脈の方針に従ってbit7を付け、長さu16 little-endian、
25
25
  | swio attach | reset | — | debug §3 |
26
26
  | swd scan | max_speed、targetsel | — | core §2.3、debug §1、§5 |
27
27
  | swd attach | targetsel、reset | — | debug §3、§5 |
28
- | logic configure / query(2文脈) | format、format_name、data_path、carriage、trigger_opts、threshold、clock、glitch_filter | mode、rate、samples、segments、trigger、pretrigger、block_max、overflow | capture §3.3、§3.8 |
29
- | analog configure / query(2文脈) | format、format_name、data_path、carriage、trigger_opts、coupling、offset、bandwidth、resolution、oversample | 上記の基本設定、block_max、overflow、frontend | capture §3.3、§3.8 |
28
+ | logic configure / query(2文脈) | format、carriage、trigger_opts、clock、glitch_filter | mode、rate、samples、segments、trigger、pretrigger、block_max | capture §3.3、§3.8 |
29
+ | analog configure / query(2文脈) | format、carriage、trigger_opts | 上記の基本設定、block_max、frontend | capture §3.3、§3.8 |
30
30
  | plan_apply | role_assignment | — | core §2.3、plan §2.1 |
31
31
  | uart configure | format | — | fixture §2、Host方針 |
32
32
 
33
33
  capture §3.3 の表の TLV は、対象の probe がどれも実装するので critical を付けない。表が「critical で送る」とするもの(format、
34
- format_name、data_path、carriage、trigger_opts)と、§3.8 の前段の TLV(どれも任意)は critical で送る。format と data_path は 0 では
34
+ carriage、trigger_opts)と、§3.8 の TLV(グリッチフィルタと外部クロック、どれも任意)は critical で送る。format は 0 では
35
35
  critical が要らないが、この方針は値によらず付ける(表の TLV は付いていても probe が同じに扱う、core §2.3)。
36
36
 
37
37
  core §2.3は「scanのmax_speed」「attachのreset」をcriticalにする例として挙げる。
@@ -1,6 +1,6 @@
1
1
  # 通知seqの一周・再購読・再送の検査
2
2
 
3
- `NotificationSequenceChecks`はcore §5.2/10.2/10.3/10.4、transports §3に基づく第二段階の補助検査。
3
+ `NotificationSequenceChecks`はcore §5.1/10.2/10.3/10.4、transports §3に基づく第二段階の補助検査。
4
4
  公開`RouteModel`と`SampleNotificationSequenceAdapter`を使い、選択SPEC checkoutを明示する。
5
5
  privateベンチや隣接checkoutの探索は行わない。
6
6
 
@@ -1,6 +1,6 @@
1
1
  # result_lost後の状態読み直しの補助検査
2
2
 
3
- core §5.2は、実行済みか不明な変更要求を新しいcorrで自動再実行しないこと、再送を諦めた後はboot_idと状態を読み直すことを定める。result_lostは元の要求の成功・拒否・未実行のいずれも証明しない。読み直した状態も、元の結果そのものではない。
3
+ core §5.1は、実行済みか不明な変更要求を新しいcorrで自動再実行しないこと、再送を諦めた後はboot_idと状態を読み直すことを定める。result_lostは元の要求の成功・拒否・未実行のいずれも証明しない。読み直した状態も、元の結果そのものではない。
4
4
 
5
5
  probeの保持契約とsample hostの回復方針を分けて観測する。sample資源操作、状態の読み方、単独writer条件を一般の拡張へ義務付けるものではない。既存production Hostへ回復処理を組み込む変更ではない。
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 回復中のforceと経路単位の結果不明化
2
2
 
3
- core §5.2は、再送を諦めた経路の未解決要求をすべて結果不明とする。受信済みの確定結果を捨てたり、別経路の要求まで諦めたりはしない。回復時のboot/session確認が終わるまでは、旧資源の一覧を次の操作へ使わない。
3
+ core §5.1は、再送を諦めた経路の未解決要求をすべて結果不明とする。受信済みの確定結果を捨てたり、別経路の要求まで諦めたりはしない。回復時のboot/session確認が終わるまでは、旧資源の一覧を次の操作へ使わない。
4
4
 
5
5
  batch条件`none`、`prefix`、`queued`は、明示した新しいmodelでそれぞれ実行する。一つの結果で全条件を検査したとは扱わない。通常core検査も別に実施する。
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 再送cacheの保持上限とresult_lostの補助検査
2
2
 
3
- core §5.2は直近max_inflight個以上の記録とcorrの最大値を保持し、要求/応答bytesの保持にサイズ上限を認める。保存済み要求は全bytesで比較し、変更ならmalformed。同じ要求でも応答を保持できなければresult_lost。要求そのものを保持できない場合や、記録が追い出されて最大corr以下の場合もresult_lost。どの場合も再実行・lease更新・資源変更をしない。
3
+ core §5.1は直近max_inflight個以上の記録とcorrの最大値を保持し、要求/応答bytesの保持にサイズ上限を認める。保存済み要求は全bytesで比較し、変更ならmalformed。同じ要求でも応答を保持できなければresult_lost。要求そのものを保持できない場合や、記録が追い出されて最大corr以下の場合もresult_lost。どの場合も再実行・lease更新・資源変更をしない。
4
4
 
5
5
  一般probeに具体的な保持サイズを要求しない。このfixtureはmax_frame=64に対し保持上限16 byte、履歴8件を明示した`virtual-retention-1` / `io.github.open-embedded-probe.retention` revision 1。通常のcore/pipelineの保持上限72 byteを変更しない。経路の宣言値はpipeline sampleと同じ64/80/3、peerは64/96/2。履歴8件は両経路のmax_inflight以上。
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 保持欠落・履歴の追い出しとsession/boot寿命の補助検査
2
2
 
3
- core §5.2/6/9を、明示した16 byte / 8件の[retention sample](retention-conformance.ja.md)で検査する。要求欠落、応答欠落、記録追い出しをそれぞれ作り、期限切れと異なるIDのforceでの扱いを分ける。終了と同じboot内のID継続、boot変更時の無効化は別の契約。
3
+ core §5.1/6/9を、明示した16 byte / 8件の[retention sample](retention-conformance.ja.md)で検査する。要求欠落、応答欠落、記録追い出しをそれぞれ作り、期限切れと異なるIDのforceでの扱いを分ける。終了と同じboot内のID継続、boot変更時の無効化は別の契約。
4
4
 
5
5
  reset能力はsession操作の前に確認し、`reset_scope='logical-model'`だけを許す。実機の再起動/転送をこのadapterへ渡さない。
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 通知経路・応答優先・送りかけqueueの検査
2
2
 
3
- SPEC core §11.4、transports §3の契約を、2つの明示経路とinstrumentationを持つモデルで検査する。受信済み要求、通知生成、送信停止/部分送信を制御し、各経路の全raw messageと未送信suffixを観測する。設備の自動探索や私的ベンチ依存は加えない。
3
+ SPEC core §10.4、transports §3の契約を、2つの明示経路とinstrumentationを持つモデルで検査する。受信済み要求、通知生成、送信停止/部分送信を制御し、各経路の全raw messageと未送信suffixを観測する。設備の自動探索や私的ベンチ依存は加えない。
4
4
 
5
5
  共通契約は、応答が要求元に返る、通知がsubscribe元だけへ届く、受信済み要求の応答を通知より先に送る、送りかけ通知の残りbytes合計がmax_frame×2以内、送信停止中も他経路の処理が進む、probe内部で捨てた通知もdata/event共通seqを消費する、経路切断だけではsession/資源/購読/再送履歴を解放しないこと。
6
6
 
@@ -1,4 +1,4 @@
1
- # oep-spec a09fa45 の規則ごとの対応表
1
+ # oep-spec の規則ごとの対応表
2
2
 
3
3
  `tools/spec_units.py` が oep-spec の core / transports / 各インターフェース文書から規範の単位(箇条、番号つきの手順、表の
4
4
  データ行)を節ごとに抜き出し、`<文書>:<節>:<番号>`(見出しより前は `pre`)の ID を振る。`<文書>.json` は単位ごとに、