Skip to content

v0.3.10

Choose a tag to compare

@github-actions github-actions released this 08 Nov 17:42
· 2 commits to main since this release
v0.3.10
5aa263c
  • Treat missing verified angle-command feedback as a logical timeout under the Python policy. Preserve the command's physical Dispatched outcome, exclude it from successful transaction latency and retain its error count until a complete logical success. Native optional-feedback accounting is unchanged.
  • Project Python-policy polling counters independently of native transaction totals. Inactive plans report zero polling counters; active reads, verified angle command feedback and disabled optional queries retain their distinct accounting.
  • Measure complete logical transactions from their first transport admission through successful completion, including transport waiting and multi-stage execution. Partial stage success does not add a completed logical transaction or clear a prior logical error. Keep the latest 2048 successful durations across close, reopen and recovery, with Python nearest-even percentile selection. Native latency accounting remains unchanged.
  • Add Python-policy force-field health rows with requested, shared-query and achieved rates, query identity and observed support. Optional PollingChannel::force_fields entries select named fields at millisecond intervals. Shared queries use the fastest requested interval; field rows must not be summed as physical traffic. L20Lite scalar categories remain independent. Native configurations reject the new selector.

Existing C++ method signatures and Native defaults remain available. Public structure additions require rebuilding the SDK and downstream consumers with matching headers and libraries; binary compatibility with earlier headers is not claimed. The minimum and paired transport remain v0.3.4 (0e190032d65ed0b315337b45b3779cf4f650ed68).

Validation covers offline lifecycle, polling, command feedback, multi-stage failure, field-query resolution, bounded latency windows, source/prebuilt/installed consumers, sanitizers, complete static analysis and the twelve-target release matrix. No new physical-device acceptance is claimed. Deployed adapters/drivers, firmware, physical timestamps, mixed CAN/FD topology and multi-device duration tests require separate hardware validation. O20, Python bindings and hand/arm integration are outside this patch. Tactile-stage angle scheduling, extended identity parity and optional automatic reconnect remain separate work.

v0.3.9 was tagged but not published. Post-merge verification found that missing command feedback could add a successful latency sample; this patch includes that correction. The v0.3.9 tag remains unchanged.

Source: 5aa263c. Paired transport: 0e190032d65ed0b315337b45b3779cf4f650ed68 (v0.3.4).

Offline evidence: 18 added health cases / 177 assertions, all 10 local CTest groups, 59 reference Python runtime tests, and 6144 rolling-window updates compared with an independent Python oracle and the reference RuntimeMetrics. These checks do not establish physical-device behavior.

Validation records:

The published set contains twelve native packages, twelve per-package checksum files, release-manifest.json and SHA256SUMS.txt (26 assets). Downloaded draft bytes were independently checked against API SHA-256 digests and sizes, source identities, archive checksums and object architectures before publication.

An initial merged-source Windows x64 Release run timed out in the existing Native L20 current-limit fixture. The selected job passed when rerun on the unchanged source, assertions and timeout settings. The initial failure remains in the workflow history; its root cause was not established.