diff --git a/server/src/agents/pool/auto_assign/reconcile.rs b/server/src/agents/pool/auto_assign/reconcile.rs index 88488ad2..42ad4e86 100644 --- a/server/src/agents/pool/auto_assign/reconcile.rs +++ b/server/src/agents/pool/auto_assign/reconcile.rs @@ -215,10 +215,15 @@ impl AgentPool { message: format!("Failed to advance to QA: {e}"), }); } else { + // Story 929 / sub-story 932: the review_hold signal still + // lives in YAML on disk because no CRDT register exists. + // Wrapped in `yaml_residue` so the gap is grep-findable. let story_path = project_root .join(".huskies/work/3_qa") .join(format!("{story_id}.md")); - if let Err(e) = crate::db::yaml_legacy::write_review_hold(&story_path) { + if let Err(e) = crate::db::yaml_legacy::yaml_residue( + crate::db::yaml_legacy::write_review_hold(&story_path), + ) { eprintln!( "[startup:reconcile] Failed to set review_hold on '{story_id}': {e}" ); @@ -284,10 +289,14 @@ impl AgentPool { }; if needs_human_review { + // Story 929 / sub-story 932: see note above; review_hold + // is YAML-only until the CRDT register exists. let story_path = project_root .join(".huskies/work/3_qa") .join(format!("{story_id}.md")); - if let Err(e) = crate::db::yaml_legacy::write_review_hold(&story_path) { + if let Err(e) = crate::db::yaml_legacy::yaml_residue( + crate::db::yaml_legacy::write_review_hold(&story_path), + ) { eprintln!( "[startup:reconcile] Failed to set review_hold on '{story_id}': {e}" );