Commit 7daa06d
committed
fix(core): reject explicit execution of a composite task (#958)
Flagged in PR review — the last gap in the "no execution path filters on
is_leaf" class this issue named.
The bulk selectors now filter is_leaf, but they are all *status-based*.
`cf work start <id> --execute` and the v2 execute route with an explicit
task_ids list both call start_task_run directly with an ID, bypassing every one
of those filters, and would walk a composite BACKLOG -> READY -> IN_PROGRESS
and hand it to an engine.
Guarded at start_task_run rather than at each caller: it is the chokepoint both
explicit paths funnel through, and the error names the fix ("run its child
tasks instead") rather than just refusing.1 parent e0a7982 commit 7daa06d
2 files changed
Lines changed: 37 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
87 | 99 | | |
88 | 100 | | |
89 | 101 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
268 | 292 | | |
269 | 293 | | |
270 | 294 | | |
| |||
0 commit comments