WIP: profile phonebook write contracts - #14
Draft
MarcLeinenDE wants to merge 19 commits into
Draft
MarcLeinenDE wants to merge 19 commits into
MarcLeinenDE wants to merge 19 commits into
Conversation
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.
Adds a hard-gated physical research profiler for the next complete-SDK-coverage block.
Scope of the profiler:
update_pbcandidate matrix with polling and semantic classificationmove_contacts_to_groupPhysical evidence — first run:
addnew_groupresult=0 + readback successupdate_groupresult=0 + readback successaddnew_pbresult=0 + readback successupdate_pbreturned result=0 but expected name change was not visiblePhysical evidence — hardened second run:
update_pbcandidates (STRINGS_FULL,INT_IDS_FULL,STRINGS_MINIMAL) returned result=0 on the same indexmobilevalue was appliednameand targetemailwere not observedupdate_pbpayload returned result=-5move_contacts_to_groupconfirmed withnewgroupas a string andcontactsas a single string contact index; result=0 and both group-specific/local readbacks confirmed the moveImportant profiler defect found by the second run:
Required harness correction before another lifecycle run:
update_pbfollow-up must change each field independently to resolve actual firmware behaviorSafety/privacy:
NR2301_WRITE_INTEGRATION=1WIP until residue from the second run is explicitly cleaned, the profiler harness is corrected, and the remaining
update_pbfield semantics are resolved.2026-09-21 continuation:
examples/check_cleanup_phonebook_residue.pyfor the known second-run residueNR2301_PHONEBOOK_RESIDUE_CLEANUP=1Superseded contract-development status
As of 2026-09-21, this old research PR must not be used as the canonical source for Phonebook SDK contracts.
Canonical order remains:
nr2301-api/mainis the authoritative contract/evidence baseline.Phonebook contract work from this PR has since been superseded by later API evidence, including:
UniEncode/UniDecodecontact text codec,update_pbfield behavior,Those normalized contracts are already reflected in current
nr2301-python/main.Remaining purpose of this PR/branch:
Do not run the old plaintext update profilers to derive or change SDK behavior. Any genuinely new physical finding must first be recorded/normalized in
nr2301-api, then propagated to the SDK.