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
+7 -5
View File
@@ -29,14 +29,16 @@ pub fn resolve_qa_mode(story_id: &str, default: QaMode) -> QaMode {
.unwrap_or(default)
}
/// Return `true` if the story's `frozen` CRDT flag is set (story 934, stage 4).
/// Return `true` if the story is currently in `Stage::Frozen`
/// (story 945: frozen is a typed stage variant, not a flag).
///
/// Used by the pipeline advance code to suppress stage transitions for frozen
/// stories. `frozen` is orthogonal to [`Stage`]: a frozen story still has its
/// stage register intact but is paused until unfrozen.
/// stories.
pub fn is_story_frozen_in_store(story_id: &str) -> bool {
crate::crdt_state::read_item(story_id)
.map(|view| view.frozen())
crate::pipeline_state::read_typed(story_id)
.ok()
.flatten()
.map(|item| item.is_frozen())
.unwrap_or(false)
}
+6
View File
@@ -58,6 +58,12 @@ pub fn stage_metadata(stage: &str, item_id: &str) -> Option<(&'static str, Strin
Stage::MergeFailure { .. } => {
("merge_failure", format!("huskies: merge_failure {item_id}"))
}
Stage::MergeFailureFinal { .. } => (
"merge_failure_final",
format!("huskies: merge_failure_final {item_id}"),
),
Stage::Frozen { .. } => ("freeze", format!("huskies: freeze {item_id}")),
Stage::ReviewHold { .. } => ("review_hold", format!("huskies: review_hold {item_id}")),
Stage::Done { .. } => ("done", format!("huskies: done {item_id}")),
Stage::Archived { .. } => ("accept", format!("huskies: accept {item_id}")),
};
-2
View File
@@ -166,7 +166,6 @@ fn sweep_uses_crdt_merged_at_not_utc_now() {
None,
None,
None,
None,
Some(ten_seconds_ago),
);
@@ -199,7 +198,6 @@ fn sweep_keeps_item_newer_than_retention() {
None,
None,
None,
None,
Some(one_second_ago),
);