huskies: merge 945
This commit is contained in:
+7
-15
@@ -18,7 +18,6 @@ pub struct ItemMeta {
|
||||
pub name: Option<String>,
|
||||
pub agent: Option<String>,
|
||||
pub retry_count: Option<i64>,
|
||||
pub blocked: Option<bool>,
|
||||
pub depends_on: Option<Vec<u32>>,
|
||||
}
|
||||
|
||||
@@ -50,12 +49,11 @@ fn normalise_stage_str(stage: &str) -> &str {
|
||||
"3_qa" => "qa",
|
||||
"4_merge" => "merge",
|
||||
"4_merge_failure" => "merge_failure",
|
||||
"4_merge_failure_final" => "merge_failure_final",
|
||||
"5_done" => "done",
|
||||
"6_archived" => "archived",
|
||||
// `7_frozen` has no direct clean equivalent (the variant was
|
||||
// removed in story 934 stage 4). Returning the unmapped string
|
||||
// makes `Stage::from_dir` return None, so the write is logged and
|
||||
// skipped — frozen items should be seeded via the `frozen` flag.
|
||||
"7_frozen" => "frozen",
|
||||
"7_review_hold" => "review_hold",
|
||||
other => other,
|
||||
}
|
||||
}
|
||||
@@ -94,7 +92,6 @@ pub fn write_item_with_content(story_id: &str, stage: &str, content: &str, meta:
|
||||
meta.name.as_deref(),
|
||||
meta.agent.as_deref(),
|
||||
meta.retry_count,
|
||||
meta.blocked,
|
||||
depends_on_json.as_deref(),
|
||||
None,
|
||||
None,
|
||||
@@ -109,7 +106,6 @@ pub fn write_item_with_content(story_id: &str, stage: &str, content: &str, meta:
|
||||
name: meta.name,
|
||||
agent: meta.agent,
|
||||
retry_count: meta.retry_count,
|
||||
blocked: meta.blocked,
|
||||
depends_on: depends_on_json,
|
||||
content: Some(content.to_string()),
|
||||
};
|
||||
@@ -139,10 +135,10 @@ pub fn move_item_stage(
|
||||
_ => None,
|
||||
};
|
||||
|
||||
// Story 929: metadata (name/agent/blocked/depends_on) is owned by the
|
||||
// CRDT typed registers — no need to re-derive it from the content body's
|
||||
// YAML front matter on every stage transition. Pass `None` for those
|
||||
// fields so write_item leaves the existing registers untouched.
|
||||
// Story 929: metadata (name/agent/depends_on) is owned by the CRDT typed
|
||||
// registers — no need to re-derive it from the content body's YAML front
|
||||
// matter on every stage transition. Pass `None` for those fields so
|
||||
// write_item leaves the existing registers untouched.
|
||||
let new_stage = normalise_stage_str(new_stage);
|
||||
let Some(typed_stage) = crate::pipeline_state::Stage::from_dir(new_stage) else {
|
||||
crate::slog!(
|
||||
@@ -161,7 +157,6 @@ pub fn move_item_stage(
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
None,
|
||||
merged_at_ts,
|
||||
);
|
||||
// Bug 780: stage transitions reset retry_count to 0. retry_count tracks
|
||||
@@ -177,7 +172,6 @@ pub fn move_item_stage(
|
||||
let view = crate::crdt_state::read_item(story_id);
|
||||
let name = view.as_ref().and_then(|v| v.name().map(str::to_string));
|
||||
let agent = view.as_ref().and_then(|v| v.agent().map(str::to_string));
|
||||
let blocked = view.as_ref().map(|v| v.blocked());
|
||||
let depends_on = view
|
||||
.as_ref()
|
||||
.map(|v| v.depends_on())
|
||||
@@ -189,7 +183,6 @@ pub fn move_item_stage(
|
||||
name,
|
||||
agent,
|
||||
retry_count: Some(0),
|
||||
blocked,
|
||||
depends_on,
|
||||
content,
|
||||
};
|
||||
@@ -212,7 +205,6 @@ pub fn delete_item(story_id: &str) {
|
||||
name: None,
|
||||
agent: None,
|
||||
retry_count: None,
|
||||
blocked: None,
|
||||
depends_on: None,
|
||||
content: None,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user