Ship's gate policy stops paying for a durable runtime to assert it - #262
Merged
Conversation
test_build_durable booted a module-scoped Postgres and a DBOS runtime, then polled a 20s _wait loop, to make five assertions. Four of them were already made elsewhere, cheaply, and the fifth was the platform's. The two plan-gate tests duplicated test_build_plan_phase, which covers every mode against the body's own phase methods with no runtime at all. The happy path asserted an assembly whose parts each have a home: the journal's delivery in test_build_journal, merge_when_ready's client behaviour in test_github, and the pr.closed settlement in test_webhooks_pull_request — the file's own comment already pointed at the last one. The claim test asserted that a gate resume does not re-run the claim, but the claim is @subscribe(SCHEDULED) and a resume emits no SCHEDULED, so that is the platform's event lifecycle, not ship's. Only the repark survived with no other home, and it did not need the runtime either: _approved_work re-enters the work gate when declare_merge_intent comes back false. Twenty lines against the phase, same as its neighbours. The suite loses the harness that made it flake — the uncommitted cancel holding work_items row locks across a whole module, on the one background loop every workflow body shares.
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.
test_build_durablebooted a module-scoped Postgres and a DBOS runtime, then polled a 20s_waitloop, to make five assertions. Four were already made elsewhere, cheaply; the fifth was the platform's.machine_mode_reaches_work_gate…test_build_plan_phase, which covers every gate mode with no runtimemachine_then_human_reviews…happy_path_declares_merge_intenttest_build_journal,merge_when_readyintest_github, settlement intest_webhooks_pull_request(the file's own comment pointed there)the_attempt_claims_the_item_once@subscribe(SCHEDULED); a resume emits no SCHEDULED, so this asserts the platform's event lifecyclerejected_merge_intent_reparks_work_gateThe repark did not need the runtime either:
_approved_workre-enters the work gate whendeclare_merge_intentreturns false. Twenty lines against the phase, same shape as its neighbours. Mutation-checked — removing the repark turns it red.The suite also loses the harness that made it flake: the uncommitted cancel holding
work_itemsrow locks across a whole module, on the one background loop every workflow body shares.366 lines out, 21 in. Backend suite 1189 passed / 50 skipped.
🤖 Generated with Claude Code