Guard develop todos from reads
- SHA
2e56d2f5744837db8ba3a2e58c48025e7707f9ca- Parents
-
fa51860 - Tree
9026818
2e56d2f
2e56d2f5744837db8ba3a2e58c48025e7707f9cafa51860
9026818| Status | File | + | - |
|---|---|---|---|
| M |
src/loader/runtime/workflow.py
|
4 | 0 |
| M |
tests/test_workflow.py
|
33 | 0 |
src/loader/runtime/workflow.pymodified@@ -114,6 +114,10 @@ _PARSE_STEP_HINTS = ( | ||
| 114 | 114 | _MUTATION_STEP_HINTS = ( |
| 115 | 115 | "create", |
| 116 | 116 | "creating", |
| 117 | + "develop", | |
| 118 | + "developing", | |
| 119 | + "build", | |
| 120 | + "building", | |
| 117 | 121 | "update", |
| 118 | 122 | "updating", |
| 119 | 123 | "edit", |
tests/test_workflow.pymodified@@ -931,6 +931,39 @@ def test_advance_todos_from_tool_call_tracks_bash_directory_creation_progress() | ||
| 931 | 931 | assert "Create index.html for nginx guide" in dod.pending_items |
| 932 | 932 | |
| 933 | 933 | |
| 934 | +def test_advance_todos_from_tool_call_does_not_complete_develop_step_from_reference_read() -> None: | |
| 935 | + dod = create_definition_of_done("Create a multi-file nginx guide.") | |
| 936 | + sync_todos_to_definition_of_done( | |
| 937 | + dod, | |
| 938 | + [ | |
| 939 | + { | |
| 940 | + "content": "First, examine the existing fortran guide structure and content", | |
| 941 | + "active_form": "Working on: First, examine the existing fortran guide structure and content", | |
| 942 | + "status": "pending", | |
| 943 | + }, | |
| 944 | + { | |
| 945 | + "content": "Develop the main index.html file for the nginx guide", | |
| 946 | + "active_form": "Working on: Develop the main index.html file for the nginx guide", | |
| 947 | + "status": "pending", | |
| 948 | + }, | |
| 949 | + ], | |
| 950 | + ) | |
| 951 | + | |
| 952 | + assert advance_todos_from_tool_call( | |
| 953 | + dod, | |
| 954 | + ToolCall( | |
| 955 | + id="read-reference-index", | |
| 956 | + name="read", | |
| 957 | + arguments={"file_path": "~/Loader/guides/fortran/index.html"}, | |
| 958 | + ), | |
| 959 | + ) | |
| 960 | + assert ( | |
| 961 | + "First, examine the existing fortran guide structure and content" | |
| 962 | + in dod.completed_items | |
| 963 | + ) | |
| 964 | + assert "Develop the main index.html file for the nginx guide" in dod.pending_items | |
| 965 | + | |
| 966 | + | |
| 934 | 967 | def test_advance_todos_from_tool_call_does_not_complete_linking_step_from_glob() -> None: |
| 935 | 968 | dod = create_definition_of_done("Create a multi-file nginx guide.") |
| 936 | 969 | sync_todos_to_definition_of_done( |