huskies: merge 1086 story Pipeline+Status split — Step C: migrate auto-assign, subscribers, and lifecycle transitions to read Pipeline + Status
This commit is contained in:
@@ -281,6 +281,11 @@ pub fn write_item(
|
||||
merged_at: Option<f64>,
|
||||
) {
|
||||
let stage_str = stage_dir_name(stage);
|
||||
// Story 1086: persist the typed Pipeline + Status projections alongside
|
||||
// the stage register so subscribers/display code on remote peers can route
|
||||
// by them without re-deriving from the stage string.
|
||||
let pipeline_str = stage.pipeline().as_str();
|
||||
let status_str = stage.status().as_str();
|
||||
let claim: Option<&AgentClaim> = match stage {
|
||||
Stage::Coding { claim, .. } => claim.as_ref(),
|
||||
Stage::Merge { claim, .. } => claim.as_ref(),
|
||||
@@ -336,6 +341,14 @@ pub fn write_item(
|
||||
apply_and_persist(&mut state, |s| {
|
||||
s.crdt.doc.items[idx].stage.set(stage_str.to_string())
|
||||
});
|
||||
// Story 1086: keep `pipeline` and `status` registers in lock-step with
|
||||
// the stage write so subscribers/display can read them directly.
|
||||
apply_and_persist(&mut state, |s| {
|
||||
s.crdt.doc.items[idx].pipeline.set(pipeline_str.to_string())
|
||||
});
|
||||
apply_and_persist(&mut state, |s| {
|
||||
s.crdt.doc.items[idx].status.set(status_str.to_string())
|
||||
});
|
||||
|
||||
if let Some(n) = name {
|
||||
apply_and_persist(&mut state, |s| {
|
||||
@@ -419,6 +432,9 @@ pub fn write_item(
|
||||
"resume_to": "",
|
||||
"plan_state": "",
|
||||
"merge_server_start": merge_server_start_val,
|
||||
// Story 1086: typed Pipeline + Status projections written at insert.
|
||||
"pipeline": pipeline_str,
|
||||
"status": status_str,
|
||||
"origin": "",
|
||||
})
|
||||
.into();
|
||||
@@ -450,6 +466,9 @@ pub fn write_item(
|
||||
item.resume_to.advance_seq(floor);
|
||||
item.plan_state.advance_seq(floor);
|
||||
item.merge_server_start.advance_seq(floor);
|
||||
// Story 1086.
|
||||
item.pipeline.advance_seq(floor);
|
||||
item.status.advance_seq(floor);
|
||||
item.origin.advance_seq(floor);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user