e2df27a8 Andy McCall 11 days ago ↶
1
{
2
" number" : 300 ,
3
" title" : " Show a column's archived cards" ,
4
" body" : " Closes #263 (reported by RSTAR: a landed proposal's queued run kept its place ahead of main's, seven times on 2026-10-18).\n \n On landing, `flow::moot_after_landing` cancels the proposal's runs that **no runner has started**:\n - its source bookmark's `push` runs, when the source is a bookmark in this repository and not the target;\n - its `proposal/N` runs (the re-check after the target moved).\n \n 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.\n \n 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." ,
5
" author" : " andymccall" ,
6
" state" : " open" ,
7
" target" : " main" ,
8
" source" : {
9
" kind" : " bookmark" ,
10
" bookmark" : " cancel-landed-runs"
11
} ,
12
" changes" : [
13
{
14
" hash" : " 2abea30809ddf37d992b1ab5743b0f2b0c7daa1ddef9ecc1bd93864948816602" ,
15
" message" : " Cancel a landed proposal's runs that have not started\n \n They can no longer change anything, and they held the queue ahead of the\n target's own run (refs #263). On landing (web, API, auto-land, a push\n that holds the work, or the page finding it landed by another route),\n flow::moot_after_landing cancels the proposal's queued runs: its source\n bookmark's push runs, when that bookmark is in this repository, and its\n proposal/N runs, each job saying \" moot: proposal #N landed\" . Runs that\n have started finish. Test landing_cancels_the_proposals_unstarted_runs." ,
16
" author" : {
17
" name" : " Andy McCall" ,
18
" email" : " [email protected] " ,
19
" key" : " 4cd9916c150f426895a390868c6999314e0ef4955d657f30d2805647c747fc65" ,
20
" account" : null ,
21
" note" : " signed by a key not linked to any account; its owner links it under Settings \u2192 Keys (/settings/keys)"
22
} ,
23
" when_ms" : 1792360184287 ,
24
" deps" : [
25
" 0b20f1ec4007b9c864a8cebcb8945898b88c391cc0c6d85f8f58aeb60f685b47" ,
26
" 2a8b621676b42cbc143f985eb3226e83d515504dda995db118836ab6beb672f6"
27
] ,
28
" head" : false ,
29
" signature" : {
30
" status" : " unsigned"
31
}
32
}
33
] ,
34
" projected_heads" : [
35
" 021f36a627f32602d06536c414c44f9c7448e2424a05286b46da4804baa53591" ,
36
" 0cd118748131b9e7e98a2c9b7b50df8ebcbda337097e6b2d61110408cc4d9b33" ,
37
" 19355e2283aba765a8a52394216f332db76663c2c0f5c31719803c2a72ad2b55" ,
38
" 1966661b1880eb65b7662730b9e609f06d0cbe16dddba1e9a8be8599f5296079" ,
39
" 19c71c828f86cc7dbcdd8d0c8d34d9f470b90a45d4bc384686498305b0f6b33e" ,
40
" 1b770a1fecf00ba25f4dec05fffd399e8805234618e48ded335d64c955bb5374" ,
41
" 1d9702887eee79babadd1a7aa8314ef4500def25217c5137a4ee5587f8be3db0" ,
42
" 1e23d0105921f536b1cf0483972849e0255efeb89b7f53656e36d2a8839ca14d" ,
43
" 20c36ed92b6b052a02ef585998dc7e42b857a014d92920c913f3507ba345a620" ,
44
" 260c33b4b6c4d8d23000b3d146fed71ec748a95dc6fc058119ed2a7c1627d31f" ,
45
" 2bbdc0268c23bb07c0fd0ea8922eb70e8bfa18da6bb303ec4a59e7ab5dae7fe2" ,
46
" 2d58f17e728b4125bbd7b5d2be9c692536e336f53bd3b34dc56f0361b38b50df" ,
47
" 317d776c725b16fe9ed5fd849f2fcb21afdd53bdce4d1c1eca038fc90f44e426" ,
48
" 32cfb089f5e6a8eede757776fa39cf1fe98594bda3c89cfc867f07d768d7b510" ,
49
" 3a01077da29aabb3ce6154e495f4d2064756cdef5094f011eb0da88e1fe60687" ,
50
" 3e5cd2eba62654482a1214b1c387ffce03fa802047622660d17878689e42007f" ,
51
" 439ecd8708a13ffd255537fab186ab2b3f49ef9f6a8684d55b0b294d434d6ab7" ,
52
" 4745b9844987f696f39f21d7036d00f92adec2b9a507e740fdb7bd28f5fd1d72" ,
53
" 5436f0dd942938b88d95fa7451994bfec9477a11cea9c9d15df6854bd9f5a828" ,
54
" 56a786aa42f1e2a8c6da70e1acbc76edc81a8c746294d06d9c1be6fa6725e2bf" ,
55
" 6978fd76a0666e56bc28171db3f8add9e346ebe90497646c92b8ab10c99a28dc" ,
56
" 6ff755541a622b944b170f3a83dfb95ecf972a4387dd77ff481a34df28e05e82" ,
57
" 72cde3da4176aff69eecc9cc4a625aa277dc22cd4cd5728ab1e18d0646135100" ,
58
" 73beb84b202a8785d9caf0bb65e04c2feb6ae60cea0d5779133cba332a033cb8" ,
59
" 76f93eaefe451cb3fe2daefccf8fd5b8c3bbb071a030a6876459bcde7ac54664" ,
60
" 92cea629fdf6614fe819c850b117a530402d079bc5dfc690ddacb0fe044fd336" ,
61
" 967ef74f6fd9847b2d48a7a20b27bade903fe122f34d4eab7e48efb5242a0020" ,
62
" 9991530b4beee381b95233964971965ad66ac833968f4c8f1fdbf4f1c2fb1713" ,
63
" 9aee52d392a67323824e269c3f0ffdf4c0e066e2bba44bd4d9204368f3a034a1" ,
64
" 9bc6b4720fc12185874a9710b310ddb36d2625cd86d653d23783b960915ef19d" ,
65
" a0dd06b0094eb52d4347f6bde0572de667a0d2cbac5878d9e6928ec3bba09947" ,
66
" a2b29af1ce88b4649df2c55022862b05a3c1079a0a325a5bd4ab6764b473cbd5" ,
67
" a2ef53c5db269fa8bc86bb8abb13bb10ccba916129a301ca8738cb4829ff6680" ,
68
" a7c05940ebc4ba5c73eb14afcc7579680e1cdb53995e464db10d617e055c5d57" ,
69
" ad01845c4bf86859c3072a48277436580de78bbfe6ea6bc85de9b350522bf92b" ,
70
" ae138eea7a71055eed1bdb63b016828e6bbe2de7ff2b8b06a741ebeaa759e950" ,
71
" bd630386001ed3d0fc0d03c01548c193a2297f90b6fedb00b5883259f9ca1ad0" ,
72
" bd91edeb44f8f318af68521ca74c35ee48f09e1002ce0c5972bc8ac10cea6862" ,
73
" c21ef37dd4a0641cafb7fe4cf430093934e416d10b582d4183d9c30f722f42e5" ,
74
" c2732e07323b52f2491200ad8989352bc6fc6834c4d97a21e550b3abbe0acafb" ,
75
" c33dbd9a0d38f03313995c1259c16adbd34571f06efe1a71438b51783f1d7b36" ,
76
" cefb0ea24511445166d0db129929255276092d452c7832e877235b49fcdc5881" ,
77
" d2077a57b1f9a114ebdee7cf9e95e81f8932ebc82b59b4b126664a6b1941260b" ,
78
" d2c1d6a7d12edeaca968546dc2fde25068f3de0afaee844ff11d5afd514e43eb" ,
79
" d336629ffa906b6783adf44337015e3c3d9d4437a6a4f97734367f903674db51" ,
80
" d4a0043fded4b0533c2f0377373bce57e38279a2b3935cdc62be08123505630b" ,
81
" d94449e42718409b41ab98335c6641b2b4429332e8a1cab535e76467509986b4" ,
82
" d9b3b84605a4f30f778d73011e379e8178f33d8d2c6d3d6704c7f5f7e108d5f7" ,
83
" db72849cd22e82e6160e21528548f9766cf4b10867415ce1b2fe177bfa05e71f" ,
84
" dc71378db1dc95169f80a85c58c80bc86dbd44546a90607b3a49297ec2e1843e" ,
85
" df68c58de9471dd2f1eada82669cb2adee804c70fd2507876790c00f10edf73f" ,
86
" e1078e99c5604bb12c431c02dacb6fba8ea2a0515abe39b3accedd23c78af9ac" ,
87
" e15409084ed6de68f460f830d74c15458dcee9ab20a6c8dd39145d04a895d54e" ,
88
" edcef27575a73e6acece529d1c0d3bb9f3509123de1a2c049ef4c0dd28b38bba" ,
89
" efb51b39db1c38e7b881f05a1ce1c46d09dc3317349df6ebfd24a2c6d12279db" ,
90
" f0f6c2d96b1cbdde9c994fe79244bfc4237f3392fc53c71abc5537085c745353" ,
91
" f157bcea0e329a44ac78d59b88fb11028b05d17aa820106d94ba128d777df124" ,
92
" f59e9680d880b1abc8c0b3ac7efb316c71d0001936e45fae4decc1f4a9829f47"
93
] ,
94
" projected_state" : " 260f02ef1913677e77b72d5b40cbaf6b02def0d2b2bf8aca064e2e19b075c3e9" ,
95
" conflicted" : false ,
96
" approvals" : [ ] ,
97
" landable" : true ,
98
" blockers" : [ ] ,
99
" created_ms" : 1792360202344 ,
100
" updated_ms" : 1792400658285 ,
101
" url" : " https://oxygenhub.io/andymccall/oxygenhub/proposal/264" ,
102
" repository_url" : " https://oxygenhub.io/andymccall/oxygenhub" ,
103
" source_url" : null ,
104
" landed" : null ,
105
" auto_land" : null ,
106
" requested_reviewers" : [
107
" ada"
108
] ,
109
" labels" : [
110
{
111
" name" : " performance" ,
112
" colour" : " #b48cff" ,
113
" description" : " Faster or lighter"
114
}
115
]
116
}