Skip to content

Progress: "Completed today" counts closures instead of merges; metrics use inconsistent time dimensions #151

@FourWindff

Description

@FourWindff

Progress Panel: "Completed today" counts closures instead of merges;
metrics use inconsistent time dimensions

Bug: "Completed today" increments on any close, not just completed work

Reproduction steps:

  1. Create a new task, make no changes, and click Close.
  2. The "Completed today" counter in the sidebar increments from 0
    to 1.

Root cause:

recordTaskCompleted() is invoked unconditionally inside
removeTaskFromStore() (src/store/tasks.ts:504). removeTaskFromStore
is reached from multiple paths, including:

  • Normal close (closeTask) — covers empty tasks, unmerged tasks, etc. - Coordinator subtask closure (MCP_TaskClosed)

Expected: "Completed today" should only count tasks that were successfully merged into main/master today.


Design issue: The two metrics use different time dimensions

The current Progress panel shows:

  • Completed today — resets daily
  • Merged to main/master — global cumulative total

Problems:

  1. Semantic mismatch: Presented side-by-side, both numbers appear to
    be "today's" metrics, but Merged is actually a lifetime total.
  2. Readability decay: Over time, numbers like +15,000 / -3,200 become
    unwieldy and lose meaning as a daily progress indicator.
  3. Unclear purpose: Is Progress meant to show "what I did today" or
    "my total historical output"?

Proposal: Unify Progress as a "Today's Work" panel

Fix Completed today:

  • Rename to Merged today and only count tasks successfully merged
    today.
  • Increment inside mergeTask when cleanup=true; remove the
    unconditional call from removeTaskFromStore.

Update Merged to main/master:

  • Switch to a daily tally to match the time dimension of Merged
    today.
  • Show today's +added / -removed.

Future enhancement: Activity calendar (Contribution Graph)

The value of Progress is helping users feel their daily rhythm. The
current two-card layout is low-density. A small contribution
calendar—similar to GitHub's profile graph or Claude Code Stats—would
make daily activity much more tangible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions