[3/6] refactor(pg): remove the in-memory completion path the targeted settle replaced

BN
5d ago
+5-281

Stacked on #481, merge in order. Stack: 3/6, splitting #479.

Summary

Dead-code removal; no behaviour change intended. Sweep::complete_node and its fail-fast helper Sweep::fail_fast_siblings had no callers: settle_job and complete_job run settle_job_targeted, which does the same work with targeted statements.

What changed

  • Removes Sweep::complete_node, Sweep::fail_fast_siblings, CompletionApplied and the graph-based enqueue_cancellation (its only caller was the fail-fast helper). The graph-free cancellation helpers (enqueue_cancellation_job, queue_job_cancellation) are unchanged.
  • logic::matrix_fail_fast stays in logic.rs; the lite backend's tests share it.
  • Docs: lists the deleted path in internal/settle-redesign.md ("What Gets Deleted").

Net: 281 lines deleted from control/pg/dispatch.rs, 2 added.

Not included

The other PRs in the stack: groundwork (#4), job-scoped admission (#5), dependent and waiter promotion (#6).

Test plan

On this PR's tip, against a disposable Postgres 17 (max_connections=2000, PRELOOP_PG_WRITERS=3 PRELOOP_PG_READERS=3, PRELOOP_TEST_POSTGRES_URL set):

  • cargo fmt --all --check: clean
  • cargo clippy --workspace --all-targets -- -D warnings: clean
  • cargo test --locked -p preloop-runner-server --lib -- control::: 351 passed, 0 failed, 0 skipping: lines

just test-ci and the local engine CI run were not run on this PR's tip: the laptop engine's runner pool does not advertise the preloop-cpane label that ci.yml requires, so jobs fail at enqueue. The checks on this PR are the first full CI run for these commits.

Stack

  1. #480 fix(pg): max-parallel stall, cohort waiter retry, nested-caller fold, non-terminal guard
  2. #481 fix(pg): deferred reusable callers
  3. #482 refactor(pg): remove the in-memory completion path
  4. #483 refactor(pg): row-based enqueue target, needs view, settle hand-off (no behaviour change)
  5. #484 perf(control/pg): max-parallel admission over rows
  6. #485 perf(control/pg): dependents and job waiters over rows

Each PR's base is the previous PR's branch, so each shows only its own diff. Supersedes #479 (closed).