Skip to content

Let [after] start = false stop a done from starting ready dependents (T171) - #275

Closed
Tobi4161 wants to merge 2 commits into
smarzban:mainfrom
Tobi4161:tsk/t171-let-config-stop-a-done-from
Closed

Tobi4161 wants to merge 2 commits into
smarzban:mainfrom
Tobi4161:tsk/t171-let-config-stop-a-done-from

Conversation

@Tobi4161

@Tobi4161 Tobi4161 commented Nov 2, 2026

Copy link
Copy Markdown

Problem

A done starts every ready task waiting on it, and an assigned one dispatches. Workflows that dispatch each next task by hand find this unexpected.

Change

  • New top-level [after] table in config.toml: start = true | false, default true (no change for existing boards). Loader AfterSettings sits beside [merge] / [board] in src/agents.rs.
  • plan_released_with_host takes the setting. When it is off, each released task is reported as ReleasedStart::CanStart. Nothing starts, nothing launches, and the done still saves through the same releasing save and undo entry. Every done path goes through it: board ctrl+d, cleanup card, missing-worktree converge (save_releasing_with_host), and CLI status done (run_done_with_host).
  • The message reads T202 done · T205 can start, on the board status row and as the CLI's second line.
  • A broken [after] starts nothing until fixed, and a full board open shows the error on its status row. A file that is not valid TOML, or that cannot be read, also starts nothing, because the setting cannot be known.
  • The starter config lists [after] commented out.
  • Docs: storage.md (new ### After section, Errors row), links from board.md#after and cli.md Done, llms.txt, CHANGELOG Added, and the AGENTS.md invariant.

Tests

  • dispatch::tests::after_start_off_or_broken_leaves_released_tasks_ready uses the fake host. It covers default, on, off, a bad value, and an unknown key, with an assigned and a plain dependent. Off or broken: both stay ready, nothing launches, and the message is exact. It fails with the gate reverted.
  • cli_after::a_done_with_after_start_off_only_says_what_can_start checks the exact CLI output.
  • Loader tests: defaults, values, broken tables, and the starter example.

Green bar

cargo fmt --check, clippy -D warnings, and cargo test --no-fail-fast all ran on the pinned 1.96.0. Everything passes except git_base::two_tsk_processes_on_one_state_dir_share_one_fetch, which also fails on unchanged main (8d714a2) in this environment, so it is unrelated. Live herdr smoke was not run.

Tobias Wölm added 2 commits November 2, 2026 20:07
…(T171)

A done that releases a ready task leaves it ready and says
'T202 done · T205 can start' on the board and the CLI. A broken
[after] table starts nothing and shows on the board's status row.
@Tobi4161
Tobi4161 requested a review from smarzban as a code owner November 2, 2026 19:10
@vercel

vercel Bot commented Nov 2, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the smarzban Team on Vercel.

A member of the Team first needs to authorize it.

@Tobi4161

Tobi4161 commented Nov 2, 2026

Copy link
Copy Markdown
Author

Opened here by mistake; this belongs on my fork. Sorry for the noise.

@Tobi4161 Tobi4161 closed this Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant