huskies: merge 1087 story Pipeline+Status split — Step D: migrate CRDT storage to (Pipeline, Status) and remove the Stage enum

This commit is contained in:
dave
2026-05-15 08:42:35 +00:00
parent e82602db77
commit df32a1542b
5 changed files with 349 additions and 0 deletions
+11
View File
@@ -92,9 +92,20 @@ pub(crate) fn tool_dump_crdt(args: &Value) -> Result<String, String> {
.items
.into_iter()
.map(|item| {
// Story 1087: emit `pipeline` and `status` alongside `stage` so
// crdt-dump consumers can route by column/badge without re-deriving
// the projection from the stage string.
let (pipeline, status) = item
.stage
.as_deref()
.and_then(crate::pipeline_state::Stage::from_dir)
.map(|s| (s.pipeline().as_str(), s.status().as_str()))
.unwrap_or(("", ""));
json!({
"story_id": item.story_id,
"stage": item.stage,
"pipeline": pipeline,
"status": status,
"name": item.name,
"agent": item.agent,
"retry_count": item.retry_count,