Expose workflow effect reconciliation controls
This commit is contained in:
@@ -5,6 +5,9 @@ The Campaign review flow is the reference for runtime workflow progress:
|
|||||||
- a compact stage rail communicates order, current state, completion, warning,
|
- a compact stage rail communicates order, current state, completion, warning,
|
||||||
failure, partial progress, and locks;
|
failure, partial progress, and locks;
|
||||||
- the active handoff owns the detailed controls;
|
- the active handoff owns the detailed controls;
|
||||||
|
- unknown module-action outcomes expose evidence fields plus **Effect
|
||||||
|
confirmed** and **Effect absent** actions; Retry stays hidden until absence is
|
||||||
|
verified;
|
||||||
- evidence remains visible without turning every stage into a permanent card;
|
- evidence remains visible without turning every stage into a permanent card;
|
||||||
- unavailable stages stay visibly unavailable while non-blocking optional
|
- unavailable stages stay visibly unavailable while non-blocking optional
|
||||||
stages do not interrupt the connector state.
|
stages do not interrupt the connector state.
|
||||||
|
|||||||
@@ -640,7 +640,7 @@ export function resolveWorkflowStep(
|
|||||||
instanceId: string,
|
instanceId: string,
|
||||||
stepId: string,
|
stepId: string,
|
||||||
payload: {
|
payload: {
|
||||||
action: "complete" | "approve" | "changes" | "reject" | "resume" | "retry" | "cancel";
|
action: "complete" | "approve" | "changes" | "reject" | "resume" | "retry" | "confirm_effect" | "confirm_absent" | "cancel";
|
||||||
output?: Record<string, unknown>;
|
output?: Record<string, unknown>;
|
||||||
evidence?: string[];
|
evidence?: string[];
|
||||||
comment?: string | null;
|
comment?: string | null;
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ type WorkflowAction =
|
|||||||
| "reject"
|
| "reject"
|
||||||
| "resume"
|
| "resume"
|
||||||
| "retry"
|
| "retry"
|
||||||
|
| "confirm_effect"
|
||||||
|
| "confirm_absent"
|
||||||
| "cancel";
|
| "cancel";
|
||||||
|
|
||||||
export default function WorkflowRunsDialog({
|
export default function WorkflowRunsDialog({
|
||||||
@@ -452,6 +454,7 @@ export default function WorkflowRunsDialog({
|
|||||||
: action === "approve"
|
: action === "approve"
|
||||||
|| action === "complete"
|
|| action === "complete"
|
||||||
|| action === "resume"
|
|| action === "resume"
|
||||||
|
|| action === "confirm_effect"
|
||||||
? "primary"
|
? "primary"
|
||||||
: undefined
|
: undefined
|
||||||
}
|
}
|
||||||
@@ -549,6 +552,8 @@ function handoffActions(step: WorkflowInstanceStep | null): WorkflowAction[] {
|
|||||||
"reject",
|
"reject",
|
||||||
"resume",
|
"resume",
|
||||||
"retry",
|
"retry",
|
||||||
|
"confirm_effect",
|
||||||
|
"confirm_absent",
|
||||||
"cancel"
|
"cancel"
|
||||||
].includes(action)
|
].includes(action)
|
||||||
));
|
));
|
||||||
@@ -562,6 +567,8 @@ function actionLabel(action: WorkflowAction): string {
|
|||||||
reject: "Reject",
|
reject: "Reject",
|
||||||
resume: "Resume",
|
resume: "Resume",
|
||||||
retry: "Retry",
|
retry: "Retry",
|
||||||
|
confirm_effect: "Effect confirmed",
|
||||||
|
confirm_absent: "Effect absent",
|
||||||
cancel: "Cancel"
|
cancel: "Cancel"
|
||||||
}[action];
|
}[action];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user