Repository navigation
Merge the duplicate decision_log keys in the bridge YAML - #109
Merged
Merged
Conversation
The database, sqlitedb and binaryTable entries each had two decision_log keys. YAML keeps the last, so the first block of each -- the notes on porting DID-matlab#229, #233 and #235, among others -- was silently dropped from the parsed entry. Each entry now has one decision_log holding both blocks, older notes first; no note text is changed. test_bridge_contract gains TestNoEntryWritesAKeyTwice, which loads every bridge file with a loader that reports a key written twice in one mapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012MroTijyNKsCMqFHpXFbpc
stevevanhooser
pushed a commit
that referenced
this pull request
Oct 24, 2026
…er-quoting #109 merged the database entry's two decision_log keys into one. The #236 note and the 2c08472c merge note move to the end of that merged block; matlab_last_sync_hash stays 2c08472c. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C7XsYS2DKSy2ucFzEEWR3D
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.
Follow-up to #107.
The problem
Three bridge entries each had two
decision_log:keys. YAML keeps the last of two equal keys and drops the first without any warning, so the first block never reached the parsed entry:databasedid_matlab_python_bridge.yamlsqlitedbdid_matlab_python_bridge_implementations.yamlbinaryTabledid_matlab_python_bridge_file.yamlThe checks never noticed, because every one of them reads the parsed YAML, where the lost block leaves no trace.
What changes
decision_logper entry. It sits where the first key was and holds both blocks: the older block first, then the newer notes. Fordatabase, the #237 note from Pin the negation of '~or' in SQLite search (DID-matlab#237) #107 stays last. No note text changed. Comparing the files line by line against main, the only line removed in each is the extradecision_log: >.TestNoEntryWritesAKeyTwiceintests/test_bridge_contract.py. It loads every bridge file with aSafeLoadersubclass that reports any key written twice in one mapping, so this can't come back unnoticed. It also has a hand-built case to show the guard catches one. On main it reports exactly the three entries above; on this branch it reports none.No
matlab_last_sync_hashchanges.Checks run locally
black --check src tests: cleanruff check src tests: cleanpytest: 847 passed, 10 skipped, 1 xfailedbin/check_bridge_coverage.py --check file/hash/status/drift/member/missingagainst DID-matlab main: 0 problems eachGenerated by Claude Code