docs: WHOOP 4 protocol parity, contract-to-implementation map and source-reference check - #2310
Merged
Merged
Conversation
bhelm
force-pushed
the
feature/whoop4-complete-protocol-docs
branch
2 times, most recently
from
September 17, 2026 19:32
08b3ffe to
d0e785f
Compare
…rce-reference check
bhelm
force-pushed
the
feature/whoop4-complete-protocol-docs
branch
from
September 17, 2026 19:45
d0e785f to
95d1b90
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Follows #2183. It brings the WHOOP 4 side of the protocol reference to the same topical depth as WHOOP 5/MG, and it changes the direction of the protocol pages: they now read as an interoperability reference for the wire protocol, while NOOP's own implementation is described in one place and linked by file and symbol.
## WHOOP 4and a## WHOOP 5/MGsection, and the large chapters have a contents list. Renamed headings keep their previous anchors, so all 174 anchors onmainstill resolve.PROTOCOL_IMPLEMENTATION.md. What remains on the protocol pages are support statements such as "supported by NOOP". The acknowledgement-versus-effect statements you pointed at in docs: expand protocol coverage and clarify WHOOP 4/5 compatibility #2183 are kept on every page.PROTOCOL_IMPLEMENTATION.mdnow maps 57 contracts to the Swift and Android file and symbol that implement them. A dash marks a contract a platform does not implement: type-43 variants on Android, R22 versions and gyro mode on both, and firmware updates on both by design.cmdOff + 12/16/24, matchingDataRange.swift; the implementation notes had them two bytes early.The credits section on the entry page and the existing attribution are unchanged.
CI
docs/protocol-examples/check_source_references.pyis stdlib-only. For every file-plus-symbol link inPROTOCOL_IMPLEMENTATION.mdit checks that the file exists and that the symbol occurs as a whole word; backtick paths are checked for existence. It runs as one more step in Source Hygiene, beside the example validator, on every PR and in under a second. Six unit tests inTools/test_check_source_references.pycover it, and the core Tools floor moves from 108 to 114.Type of change
How it was tested
python3 docs/protocol-examples/validate_examples.pypasses.python3 docs/protocol-examples/check_source_references.py: 163 references in 46 files, 0 failures. The new unit tests cover missing files, missing symbols, missing backtick paths and whole-word matching.Tools/suite: 115 tests pass locally.docs/**/*.mdandREADME.md: 642 links into the protocol pages, 0 broken; every anchor present onmainstill resolves.Checklist
swift testinPackages/<name>) — N/A; no packages changed.android/(./gradlew testFullDebugUnitTest) — N/A; Android unchanged.StrandDesigntokens — no hardcoded colors, fonts, or spacing — N/A; no UI changes.docs/CONTRIBUTING.md.Strand.xcodeproj/) or any secrets/keystores.Related issues
No issue is closed by this PR.