Repository navigation
docs(python): complete the README, test it, and score the SDK (#1395) - #1517
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
|
This comment has been minimized.
This comment has been minimized.
d6115f0 to
111280f
Compare
The README gains the topics a new user needs: what a printed model hides and what it does not, the rule against changing a class after its Cipher, two ways to store a UUID key, and what is not supported yet. Its first Python block now reads DATABASE_URL, which the later blocks used without defining. The README now runs in CI. tests/test_readme_live.py runs its SQL and Python blocks in order, in a schema of its own, in the live job, and checks that the equality query finds the row. tests/test_readme.py needs no credentials. It compiles the Python blocks, checks that every fence is parsed and that the blocks bind the names the live check reads, and checks that the README installs the bundle the live task installs. tests/_live.py now holds the credential checks, the live marks and the child-process runner. The encrypt, concurrency and README live tests share it. languages/python/docs/scorecard.md marks the eight shared principles against the code, with evidence: seven held, and G3 strained, since the SDK ships no type checker or linter rules. The principles doc no longer says no code shows its Python principles. It links to the scorecard, and principle 5 now says an error names a field and a reason where one applies. Python ADR-0002 is accepted, since query shipped in its shape. AGENTS.md names the scorecard and the README test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
111280f to
08a0554
Compare
cipherstash-agent
left a comment
There was a problem hiding this comment.
Review attestation
Reviewed 08a0554 · posted from Claude Code · claude-sonnet-5-5 · effort medium
Sources: code-review · claude-sonnet-5-5
Skills: code-review, review-cross-check, review-post
No blocking findings. The README claims I spot-checked against the head tree held: __rich_repr__ redaction, the three-request batching tests, docs/gate-facts/, and the bundle path in mise.toml. The head live job and the Python 3.9 and 3.14 jobs were green at this commit.
Findings (2): 0 blocking, 2 minor, both inline.
Generated by Claude Code
cipherstash-bot
left a comment
There was a problem hiding this comment.
Recommendation: 🟢 merge as it is
No change is needed before merging. The review found six optional test and test-helper cleanups, all in the README tests. They can wait for a follow-up.
How this review was made
| Agent | Model | Review type | Result |
|---|---|---|---|
| claude | claude-opus-5-5 | test-gap | 3 found, 3 posted |
| claude | claude-opus-5-5 | rust | 0 found, 0 posted |
| claude | claude-opus-5-5 | python | 3 found, 3 posted |
| claude | claude-opus-5-5 | infracode | 0 found, 0 posted |
Synthesis: claude-sonnet-5-5 merged the findings, removed duplicates and dropped findings it could not confirm in the code. 0 posted finding(s) were raised by two or more models.
Plain language: claude-sonnet-5-5 read every comment as a new reader would. 1 comment(s) had a problem that stopped the reader acting; it rewrote 0.
Stack: position 14 of 15 (#1405, #1406, #1414, #1415, #1433, #1437, #1453, #1499, #1509, #1510, #1511, #1513, #1516, *️⃣ #1517, #1582). *️⃣ marks this pull request.
Context loaded: the description, 2 linked issue(s) and 6 discussion entries.
Summary
This is the last ticket under spec #1341. It makes the Python SDK's README something a new user can follow to a found row. It also records how well the SDK keeps the shared SDK principles.
Why
livejob. An offline test also checks every pull request that changes the Python tree.asdict,pickle, and a logged field do not. A class changed after itsCipheris made goes unchecked. The README now says both, and how to store a UUID key.languages/python/docs/scorecard.mdmarks each of the eight with evidence. Seven are held. G3 is strained, because the SDK ships no type checker or linter rules.Verification
livejob on this PR is its first run.Related
Closes #1395. Refs #1341.
🤖 Generated with Claude Code