From 37877db38da43a21efd6a45627bd9c697b6be932 Mon Sep 17 00:00:00 2001 From: Timmy Date: Tue, 12 May 2026 19:22:26 +0100 Subject: [PATCH] =?UTF-8?q?wip(929):=20stage=208=20=E2=80=94=20wrap=20reco?= =?UTF-8?q?ncile=20review=5Fhold=20FS=20writes=20in=20yaml=5Fresidue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The startup reconciler still pokes review_hold into the on-disk story file when promoting human-QA items, because no CRDT register exists yet for review_hold (filed as sub-story 932). The two write-side callsites in reconcile.rs were the last bare yaml_legacy:: calls in production write paths; wrap them in yaml_residue so the gap shows up in `grep -rn yaml_residue` like the other 932/933 markers. Co-Authored-By: Claude Opus 4.7 (1M context) --- server/src/agents/pool/auto_assign/reconcile.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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}" );