Closes issue #263 (reported by RSTAR: a landed proposal's queued run kept its place ahead of main's, seven times on 2026-10-18).
On landing, flow::moot_after_landing cancels the proposal's runs that no runner has started:
- its source bookmark's
pushruns, when the source is a bookmark in this repository and not the target; - its
proposal/Nruns (the re-check after the target moved).
Each job says moot: proposal #N landed. Runs already going finish; other bookmarks' runs are untouched. Called from every landing path: land_as (web, API, auto-land), settle_after_push (a push that holds the work), and the page finding it landed by another route.
Tests: landing_cancels_the_proposals_unstarted_runs (queued source run and proposal run cancelled with the reason, a running one left, another bookmark's left). Gate green (fmt, clippy, 284 tests); proposals tests green on Postgres. No migration.