Skip to content

Add indexed menu snapshot composition foundation - #142

Merged
stevenboyd78 merged 2 commits into
mainfrom
milestone-24.8-indexed-menu-snapshot-composition-foundation
Aug 18, 2026
Merged

Add indexed menu snapshot composition foundation#142
stevenboyd78 merged 2 commits into
mainfrom
milestone-24.8-indexed-menu-snapshot-composition-foundation

Conversation

@stevenboyd78

@stevenboyd78 stevenboyd78 commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • add SDSScanner.open_indexed_menu_snapshot() to compose the existing indexed MNU acknowledgement and subsequent MSI retrieval under one host-side command lock
  • apply one total timeout budget across lock acquisition, MNU, and MSI while preflighting MSI transport support before opening the menu
  • preserve the existing lossless MsiResponse and existing MSI transport restrictions without introducing new wire forms or menu lifecycle ownership
  • add regression coverage for exact serial composition, fail-closed unsupported transports, total timeout budgeting, and lock serialization
  • harden the pre-existing PSI renewal concurrency test after repeated Python 3.12 CI timing failures by increasing only its synthetic renewal timeout from 0.1 to 0.5 seconds; production behavior is unchanged
  • update Milestone 24.8 roadmap/research documentation with the seventh-slice scope and boundaries

Validation

  • Ruff: passed
  • MyPy: passed across 137 source files
  • pytest: 3628 passed
  • affected PSI renewal test: 25 consecutive targeted passes after hardening
  • tests/test_radio.py: 62 passed
  • documentation checks: passed for 47 Markdown files
  • package build: sds200-0.20.2 wheel and sdist built successfully
  • Twine check: passed
  • original feature head 2d4264ebbddbaf3ea0cbf82007d58f8f112ea314: push CI attempt 2 passed all five jobs after an isolated Python 3.12 rerun
  • subsequent PR CI reproduced the same pre-existing PSI renewal timing failure on Python 3.12; correction commit be7f83f238ff20fb96e5f19087a6ed52bdaeed9d changes only that test timeout from 0.1 to 0.5 seconds
  • corrected head requires fully green exact-head push and PR CI before merge

Scope boundaries

This slice is host-side serialization only. It does not add MSV/MSB, unindexed MNU, automatic menu exit/back behavior, scanner-side transaction/atomicity claims, fallback MSI support, renderer behavior, firmware/model applicability claims, or physical scanner validation.

@stevenboyd78
stevenboyd78 merged commit 2a6a296 into main Aug 18, 2026
19 checks passed
@stevenboyd78
stevenboyd78 deleted the milestone-24.8-indexed-menu-snapshot-composition-foundation branch August 18, 2026 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant