tenseleyflow/loader / 2e56d2f

Browse files

Guard develop todos from reads

Authored by espadonne
SHA
2e56d2f5744837db8ba3a2e58c48025e7707f9ca
Parents
fa51860
Tree
9026818

2 changed files

StatusFile+-
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 = (
114114
 _MUTATION_STEP_HINTS = (
115115
     "create",
116116
     "creating",
117
+    "develop",
118
+    "developing",
119
+    "build",
120
+    "building",
117121
     "update",
118122
     "updating",
119123
     "edit",
tests/test_workflow.pymodified
@@ -931,6 +931,39 @@ def test_advance_todos_from_tool_call_tracks_bash_directory_creation_progress()
931931
     assert "Create index.html for nginx guide" in dod.pending_items
932932
 
933933
 
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
+
934967
 def test_advance_todos_from_tool_call_does_not_complete_linking_step_from_glob() -> None:
935968
     dod = create_definition_of_done("Create a multi-file nginx guide.")
936969
     sync_todos_to_definition_of_done(