story-kit: merge 166_story_add_done_column_to_pipeline_board
Add Done column to pipeline board. Adds the 'done' stage to PipelineState, exposes it via the WebSocket and REST API, and renders a Done column in the frontend pipeline board view. Squash merge from feature/story-166_story_add_done_column_to_pipeline_board. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -266,6 +266,7 @@ describe("ChatWebSocket", () => {
|
||||
current: [],
|
||||
qa: [],
|
||||
merge: [],
|
||||
done: [],
|
||||
};
|
||||
instances[1].simulateMessage({ type: "pipeline_state", ...freshState });
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ export interface PipelineState {
|
||||
current: PipelineStageItem[];
|
||||
qa: PipelineStageItem[];
|
||||
merge: PipelineStageItem[];
|
||||
done: PipelineStageItem[];
|
||||
}
|
||||
|
||||
export type WsResponse =
|
||||
@@ -45,6 +46,7 @@ export type WsResponse =
|
||||
current: PipelineStageItem[];
|
||||
qa: PipelineStageItem[];
|
||||
merge: PipelineStageItem[];
|
||||
done: PipelineStageItem[];
|
||||
}
|
||||
| {
|
||||
type: "permission_request";
|
||||
@@ -346,6 +348,7 @@ export class ChatWebSocket {
|
||||
current: data.current,
|
||||
qa: data.qa,
|
||||
merge: data.merge,
|
||||
done: data.done,
|
||||
});
|
||||
if (data.type === "permission_request")
|
||||
this.onPermissionRequest?.(
|
||||
|
||||
@@ -72,6 +72,7 @@ export function Chat({ projectPath, onCloseProject }: ChatProps) {
|
||||
current: [],
|
||||
qa: [],
|
||||
merge: [],
|
||||
done: [],
|
||||
});
|
||||
const [claudeSessionId, setClaudeSessionId] = useState<string | null>(null);
|
||||
const [activityStatus, setActivityStatus] = useState<string | null>(null);
|
||||
@@ -1074,6 +1075,7 @@ export function Chat({ projectPath, onCloseProject }: ChatProps) {
|
||||
stateVersion={agentStateVersion}
|
||||
/>
|
||||
|
||||
<StagePanel title="Done" items={pipeline.done} />
|
||||
<StagePanel title="To Merge" items={pipeline.merge} />
|
||||
<StagePanel title="QA" items={pipeline.qa} />
|
||||
<StagePanel title="Current" items={pipeline.current} />
|
||||
|
||||
@@ -13,6 +13,7 @@ function makePipeline(overrides: Partial<PipelineState> = {}): PipelineState {
|
||||
current: [],
|
||||
qa: [],
|
||||
merge: [],
|
||||
done: [],
|
||||
...overrides,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user