Improve incremental review output and fix todo tracker race (#529)
* improve incremental review output and fix todo tracker race - reviewed changes section: summarize at logical-change level with past-tense verbs, not per-file enumerations - add TodoTracker.completeAll() to mark all non-cancelled items as completed before snapshotting the collapsible in review/progress posts Made-with: Cursor * completeAll -> completeInProgress: only mark in-progress items as completed Pending items that were genuinely skipped stay as-is in the collapsible, so the task list honestly reflects what the agent actually did. Made-with: Cursor
This commit is contained in:
committed by
pullfrog[bot]
parent
9ee9731c67
commit
b282e8b599
@@ -56,6 +56,8 @@ export type TodoTracker = {
|
||||
cancel: () => void;
|
||||
/** resolves when any in-flight onUpdate call completes */
|
||||
settled: () => Promise<void>;
|
||||
/** mark in-progress items as completed (for final snapshot before review/progress post) */
|
||||
completeInProgress: () => void;
|
||||
renderCollapsible: () => string;
|
||||
readonly enabled: boolean;
|
||||
/** true after the tracker has successfully called onUpdate at least once */
|
||||
@@ -135,6 +137,12 @@ export function createTodoTracker(onUpdate: (body: string) => Promise<void>): To
|
||||
await inflightPromise;
|
||||
},
|
||||
|
||||
completeInProgress() {
|
||||
for (const item of state.values()) {
|
||||
if (item.status === "in_progress") item.status = "completed";
|
||||
}
|
||||
},
|
||||
|
||||
renderCollapsible(): string {
|
||||
if (state.size === 0) return "";
|
||||
const todos = Array.from(state.values());
|
||||
|
||||
Reference in New Issue
Block a user