feat(data): add splitting, turns-preflight, merge-order rules to list-handler prompt

Phase 2 can now propose splitting a bundled/blocked task via add_task/add_subtask
instead of forcing it into one description. Phase 3 reports each task's effective
max-turns and asks before queuing a substantial task with a low value. Phase 4
checks Phase 2's file lists for cross-task collisions and may reorder merges with
a stated reason instead of always following brief order.
This commit is contained in:
mika kuns
2026-08-05 10:51:36 +02:00
parent 334cf1e1d2
commit 8ed6e08710
2 changed files with 33 additions and 1 deletions
@@ -87,6 +87,34 @@ public class PromptFilesTests
Assert.DoesNotContain("whenever you are unsure", d);
}
[Fact]
public void DefaultFor_merge_helper_allows_splitting_bundled_tasks_in_phase_2()
{
var d = PromptFiles.DefaultFor(PromptKind.MergeHelper);
Assert.Contains("Propose splitting it to the user", d);
Assert.Contains("add_task/add_subtask", d);
Assert.Contains("do not invent requirements", d);
}
[Fact]
public void DefaultFor_merge_helper_checks_effective_max_turns_before_queuing()
{
var d = PromptFiles.DefaultFor(PromptKind.MergeHelper);
Assert.Contains("effective max-turns", d);
Assert.Contains("get_list_config", d);
Assert.Contains("set_task_config", d);
Assert.Contains("get_task_config", d);
}
[Fact]
public void DefaultFor_merge_helper_checks_file_collisions_before_merge_order()
{
var d = PromptFiles.DefaultFor(PromptKind.MergeHelper);
Assert.Contains("Default to the order the brief lists them", d);
Assert.Contains("tell the user which tasks collide", d);
Assert.Contains("NORMAL case, not a failure", d);
}
[Fact]
public void DefaultFor_merge_helper_initial_has_repo_token()
{