huskies: merge 945

This commit is contained in:
dave
2026-05-13 06:05:01 +00:00
parent 3a8894ea8f
commit 9ce5a8df0c
53 changed files with 497 additions and 654 deletions
+11 -4
View File
@@ -94,11 +94,15 @@ pub fn load_pipeline_state(ctx: &AppContext) -> Result<PipelineState, String> {
let sid = &item.story_id.0;
let agent = agent_map.get(sid).cloned();
// Stories 929/932/933: review_hold, qa_mode, epic_id come from typed
// CRDT registers. merge_failure detail lives on the MergeJob CRDT
// entry (same as status_tools.rs).
// Story 945: review_hold is `Stage::ReviewHold`; qa_mode and epic_id
// come from typed CRDT registers. merge_failure detail lives on the
// MergeJob CRDT entry (same as status_tools.rs).
let view = crate::crdt_state::read_item(sid);
let review_hold = view.as_ref().map(|v| v.review_hold()).filter(|b| *b);
let review_hold = if item.stage.is_review_hold() {
Some(true)
} else {
None
};
let qa = view.as_ref().and_then(|v| v.qa_mode().map(str::to_string));
let epic_id = view.as_ref().and_then(|v| v.epic().map(str::to_string));
let merge_failure = crate::crdt_state::read_merge_job(sid).and_then(|j| j.error);
@@ -151,6 +155,9 @@ pub fn load_pipeline_state(ctx: &AppContext) -> Result<PipelineState, String> {
Stage::Qa => state.qa.push(story),
Stage::Merge { .. } => state.merge.push(story),
Stage::MergeFailure { .. } => state.merge.push(story), // show merge failures with merge
Stage::MergeFailureFinal { .. } => state.merge.push(story), // mergemaster gave up
Stage::ReviewHold { .. } => state.qa.push(story), // review-held shown with QA
Stage::Frozen { .. } => state.backlog.push(story), // paused, route to backlog
Stage::Done { .. } => state.done.push(story),
Stage::Archived { .. } => {} // skip archived
}