diff --git a/server/src/io/fs/scaffold/helpers.rs b/server/src/io/fs/scaffold/helpers.rs index 31691b7e..ea81b06b 100644 --- a/server/src/io/fs/scaffold/helpers.rs +++ b/server/src/io/fs/scaffold/helpers.rs @@ -53,9 +53,6 @@ pub(super) fn write_story_kit_gitignore(root: &Path) -> Result<(), String> { "worktrees/", "merge_workspace/", "coverage/", - "work/2_current/", - "work/3_qa/", - "work/4_merge/", "logs/", "token_usage.jsonl", "wizard_state.json", diff --git a/server/src/io/fs/scaffold/mod.rs b/server/src/io/fs/scaffold/mod.rs index 51b3d7d0..b06c9fa2 100644 --- a/server/src/io/fs/scaffold/mod.rs +++ b/server/src/io/fs/scaffold/mod.rs @@ -27,20 +27,8 @@ pub(crate) fn scaffold_story_kit(root: &Path, port: u16) -> Result<(), String> { let functional_root = specs_root.join("functional"); let script_root = root.join("script"); - // Create the work/ pipeline directories, each with a .gitkeep so empty dirs survive git clone - let work_stages = [ - "1_backlog", - "2_current", - "3_qa", - "4_merge", - "5_done", - "6_archived", - ]; - for stage in &work_stages { - let dir = story_kit_root.join("work").join(stage); - fs::create_dir_all(&dir).map_err(|e| format!("Failed to create work/{}: {}", stage, e))?; - write_file_if_missing(&dir.join(".gitkeep"), "")?; - } + // The `.huskies/work/` directory tree is no longer scaffolded — the CRDT + // is the canonical pipeline state store (see stories 738 / 758 / 763). fs::create_dir_all(&tech_root).map_err(|e| format!("Failed to create specs/tech: {}", e))?; fs::create_dir_all(&functional_root) @@ -174,27 +162,17 @@ mod tests { } #[test] - fn scaffold_story_kit_creates_work_pipeline_dirs() { + fn scaffold_story_kit_does_not_create_work_pipeline_dirs() { + // After 763 the `.huskies/work/` tree is no longer scaffolded; CRDT is + // the canonical pipeline state store. let dir = tempdir().unwrap(); scaffold_story_kit(dir.path(), 3001).unwrap(); - let stages = [ - "1_backlog", - "2_current", - "3_qa", - "4_merge", - "5_done", - "6_archived", - ]; - for stage in &stages { - let path = dir.path().join(".huskies/work").join(stage); - assert!(path.is_dir(), "work/{} should be a directory", stage); - assert!( - path.join(".gitkeep").exists(), - "work/{} should have a .gitkeep file", - stage - ); - } + let work_root = dir.path().join(".huskies/work"); + assert!( + !work_root.exists(), + ".huskies/work/ should not be created at scaffold time" + ); } #[test]