huskies: merge 870
This commit is contained in:
+10
-10
@@ -322,14 +322,6 @@ pub fn move_item_stage(
|
||||
})
|
||||
.unwrap_or((None, None, None, None, None));
|
||||
|
||||
// Bug 780: stage transitions reset retry_count to 0. retry_count tracks
|
||||
// attempts at THIS stage's work (coding, merging, qa); a fresh attempt at
|
||||
// a new stage is conceptually distinct from prior attempts at a different
|
||||
// stage. `blocked` is preserved — that's a human-set signal that survives
|
||||
// transitions. Note: passing None to write_item is a no-op on the CRDT
|
||||
// register (the old value is kept), so we must pass Some(0) to force reset.
|
||||
let retry_count: Option<i64> = Some(0);
|
||||
|
||||
// CRDT stage transition.
|
||||
let merged_at_ts = if crate::pipeline_state::Stage::from_dir(new_stage)
|
||||
.is_some_and(|s| matches!(s, crate::pipeline_state::Stage::Done { .. }))
|
||||
@@ -343,15 +335,22 @@ pub fn move_item_stage(
|
||||
new_stage,
|
||||
name.as_deref(),
|
||||
agent.as_deref(),
|
||||
retry_count,
|
||||
None,
|
||||
blocked,
|
||||
depends_on.as_deref(),
|
||||
None,
|
||||
None,
|
||||
merged_at_ts,
|
||||
);
|
||||
// Bug 780: stage transitions reset retry_count to 0. retry_count tracks
|
||||
// attempts at THIS stage's work (coding, merging, qa); a fresh attempt at
|
||||
// a new stage is conceptually distinct from prior attempts at a different
|
||||
// stage. `blocked` is preserved — that's a human-set signal that survives
|
||||
// transitions.
|
||||
crate::crdt_state::set_retry_count(story_id, 0);
|
||||
|
||||
// Shadow table.
|
||||
// Shadow table — always reset retry_count to 0 on stage transition.
|
||||
let retry_count: Option<i64> = Some(0);
|
||||
if let Some(db) = PIPELINE_DB.get() {
|
||||
let msg = PipelineWriteMsg {
|
||||
story_id: story_id.to_string(),
|
||||
@@ -720,6 +719,7 @@ mod tests {
|
||||
/// deterministic-merge skip logic.
|
||||
#[test]
|
||||
fn move_item_stage_resets_retry_count_to_zero() {
|
||||
crate::crdt_state::init_for_test();
|
||||
ensure_content_store();
|
||||
let story_id = "9870_story_780_retry_reset";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user