huskies: merge 763
This commit is contained in:
@@ -53,9 +53,6 @@ pub(super) fn write_story_kit_gitignore(root: &Path) -> Result<(), String> {
|
|||||||
"worktrees/",
|
"worktrees/",
|
||||||
"merge_workspace/",
|
"merge_workspace/",
|
||||||
"coverage/",
|
"coverage/",
|
||||||
"work/2_current/",
|
|
||||||
"work/3_qa/",
|
|
||||||
"work/4_merge/",
|
|
||||||
"logs/",
|
"logs/",
|
||||||
"token_usage.jsonl",
|
"token_usage.jsonl",
|
||||||
"wizard_state.json",
|
"wizard_state.json",
|
||||||
|
|||||||
@@ -27,20 +27,8 @@ pub(crate) fn scaffold_story_kit(root: &Path, port: u16) -> Result<(), String> {
|
|||||||
let functional_root = specs_root.join("functional");
|
let functional_root = specs_root.join("functional");
|
||||||
let script_root = root.join("script");
|
let script_root = root.join("script");
|
||||||
|
|
||||||
// Create the work/ pipeline directories, each with a .gitkeep so empty dirs survive git clone
|
// The `.huskies/work/` directory tree is no longer scaffolded — the CRDT
|
||||||
let work_stages = [
|
// is the canonical pipeline state store (see stories 738 / 758 / 763).
|
||||||
"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"), "")?;
|
|
||||||
}
|
|
||||||
|
|
||||||
fs::create_dir_all(&tech_root).map_err(|e| format!("Failed to create specs/tech: {}", e))?;
|
fs::create_dir_all(&tech_root).map_err(|e| format!("Failed to create specs/tech: {}", e))?;
|
||||||
fs::create_dir_all(&functional_root)
|
fs::create_dir_all(&functional_root)
|
||||||
@@ -174,28 +162,18 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[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();
|
let dir = tempdir().unwrap();
|
||||||
scaffold_story_kit(dir.path(), 3001).unwrap();
|
scaffold_story_kit(dir.path(), 3001).unwrap();
|
||||||
|
|
||||||
let stages = [
|
let work_root = dir.path().join(".huskies/work");
|
||||||
"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!(
|
assert!(
|
||||||
path.join(".gitkeep").exists(),
|
!work_root.exists(),
|
||||||
"work/{} should have a .gitkeep file",
|
".huskies/work/ should not be created at scaffold time"
|
||||||
stage
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn scaffold_story_kit_agents_toml_has_coder_qa_mergemaster() {
|
fn scaffold_story_kit_agents_toml_has_coder_qa_mergemaster() {
|
||||||
|
|||||||
Reference in New Issue
Block a user