Repository navigation
Document BSON value semantics and enforce strict docs - #154
Merged
Merged
Conversation
Explain decoded-copy and append semantics, and execute a dictionary-to-BSON rebuild example during documentation builds. Include the three missing documented types and correct the BSONValue reference so the complete manual passes strict Documenter checks. Relates to #113; runtime mutation behavior remains unchanged. AI disclosure: This work was prepared with assistance from OpenAI Codex.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #154 +/- ##
==========================================
+ Coverage 84.01% 84.14% +0.12%
==========================================
Files 11 11
Lines 1652 1652
==========================================
+ Hits 1388 1390 +2
+ Misses 264 262 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Member
Author
|
Merged as The published tutorial and API manual return HTTP 200 with the corrected text; all 60 API source links name the merge commit. Issue #113 remains open for live nested mutation. AI disclosure: This work was prepared with assistance from OpenAI Codex. |
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.
The BSON docstring promises Dict-like mutation, but indexing an embedded document returns a decoded copy. Changing
b["foo"]["bar"]leavesbunchanged, while assigning an existing key appends another field. Document these behaviors and execute a small dictionary-to-BSON rebuild example during the manual build.The recipe is limited to ordinary decoded values supported by BSON's constructor. It states that dictionary conversion collapses duplicate keys and can lose binary subtype information;
BSONTimestampandBSONUnsupportedrequire an explicit encoding. The example checks the nested result, original document, unrelated field, and unique field count.Enable strict documentation checks after adding three missing type entries and fixing the existing
BSONValuereference. Unchanged master fails those exact strict checks; the repaired complete manual passes. Package runtime code, dependencies, exports, versions, and workflows are unchanged.Validation:
Strict Documenter 0.27 builds pass on Linux Julia 1.6.7 and 1.13.0, including the executable example's five assertions and rendered tutorial/API checks.
Sixteen public controls verify the nested-copy, array-copy, encoded-child snapshot, duplicate-key, and safe ordinary-value rebuild behavior on current source with both runtimes, and on the existing v0.9.0 source with Julia 1.13.0. These controls use native MongoC 1.30.8; the issue's historical Julia 1.9.3/native-driver combination was not recreated.
Exact head
d6da3368c6ac9939134203e7d0262d3baa3ab239passes all 22 checks: both complete ten-job push/PR workflows and both coverage gates. All 18 expected uploads explicitly target Mongoc and that head; the public report is complete with 18 sessions at 83.77%.A private review of the complete source/documentation diff found no remaining blocker. This does not provide GitHub approval.
Merged as
5d68e41a214ca1fbb0b0aff281b49d987d0ddab3; all ten main-branch jobs pass. All nine expected coverage uploads are accepted for that commit, with nine processed sessions at 84.14%. The tested and merged Git trees are identical.The published tutorial and API manual return HTTP 200 and include the corrected content. All 60 API source links point to the merge commit.
Relates to #113. The request for live nested mutation remains open; this change documents current behavior.
Co-authored by Codex
AI disclosure: This work was prepared with assistance from OpenAI Codex.