Repository navigation
test: fix flaky/order-dependent tests (#855 #860 #861) and drop LEGACY_FLAT - #864
Merged
Merged
Conversation
…ratchet - users (#860): the password-offload test patched the shared PASSWORD_HELPER instance; monkeypatch's undo leaves a bound method in its __dict__ that shadows later class-level patches. Patch the class instead and assert the shared helper carries no instance attributes. - background_tasks (#861): "" is the intended "no owner" reset (it keeps a headerless worker task from adopting an ambient user, #759); document it, prove a stranded prerun never reaches the next task's owner, and unwind any stranded task binding after each test. - tenants (#855): on SQLite a losing invite can also get the retryable admission_conflict under lock contention; accept either refusal there, still requiring exactly one success and one invitation row. - Every module now follows the layout: remove LEGACY_FLAT and its dead checks, and update docs/module-layout.md and CLAUDE.md. Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
…nd 1, pass 1) Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Deploying simple-module-python with
|
| Latest commit: |
9256f2d
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://eaef989b.simple-module-python.pages.dev |
| Branch Preview URL: | https://fix-followups-855-860-861.simple-module-python.pages.dev |
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.
Summary
PASSWORD_HELPERinstance. Undoing an instance patch leaves a bound method in its__dict__, and that method shadows every later class-level patch ofPasswordHelper(8 lockout/regression tests failed when this file ran first). The test now patches the class, and a guard test asserts that the shared helper carries no instance attributes.""owner reset is deliberate. It stops a headerless worker task from taking on an ambient user, andtest_headerless_task_clears_ambient_authorityfrom fix(background_tasks): execution-local bindings, publish-time tenant validation, typed task arguments #759 depends on that. This PR documents it and adds a regression test showing that a stranded prerun never reaches the next task's owner. An autouse fixture also unwinds any task binding a test leaves behind. No runtime behaviour changes; the source change is a comment.admission_conflictunder writer-lock contention, so the test accepts it on SQLite only. It still requires exactly one success and exactly one invitation row. Postgres stays strict.LEGACY_FLATratchet and its dead checks fromhost/tests/test_module_layout.py. It also removes the stale "modules migrate one at a time" wording from the docs,CLAUDE.mdand the shipped skills.No CHANGELOG entry: the changes are test and docs only.
Closes #855
Closes #860
Closes #861
Verification
make lint: greenmake test-py: 8146 passed, 47 skippedmake test-js: greenhttps://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq