Skip to content

feat: add percentDone support to task update - #25

Merged
netadvanced merged 2 commits into
mainfrom
upstream-59-percent-done
Jul 17, 2026
Merged

feat: add percentDone support to task update#25
netadvanced merged 2 commits into
mainfrom
upstream-59-percent-done

Conversation

@netadvanced

Copy link
Copy Markdown
Owner

Summary

Re-implements upstream PR #59 by @nahugomez (democratize-technology#59).

Adds a percentDone parameter to the vikunja_tasks update subcommand, allowing task progress (0.0-1.0) to be set via the MCP alongside the existing fields.

  • Added percentDone: z.number().min(0).max(1).optional() to the update subcommand's Zod schema (src/tools/tasks/index.ts)
  • Added percentDone to UpdateTaskArgs, analyzeUpdateState (previous-state/affected-fields tracking), and buildUpdateData in TaskUpdateService.ts
  • Carried over the upstream test coverage for percentDone in the "update task with all optional fields" test

Testing

  • npm run lint - clean
  • npm run typecheck - clean
  • tests/tools/tasks.test.ts - 107 passed / 32 failed, identical pass/fail split to plain main (verified via a side-by-side worktree run). The 32 failures are pre-existing bulk-create subcommand failures unrelated to this change, tracked in the baseline-repair effort (fork PR fix: repair pre-existing test-suite baseline (Wave 0) #12, unmerged). The percentDone-specific test passes.

Note: repo-wide npm run test:coverage does not fully pass yet on main (baseline-repair PR #12 in progress, unmerged) — this PR's own changed-area tests are green and introduce no regressions.

Add percentDone parameter to the task update subcommand, allowing AI
assistants to set task progress percentages (0.0 to 1.0) via the MCP.

Changes:
- Add percentDone to Zod schema in tasks tool registration
- Add percentDone to UpdateTaskArgs interface, analyzeUpdateState,
  and buildUpdateData in TaskUpdateService
- Add test coverage for percentDone in update with all optional fields
Resolve trivial additive conflict in TaskUpdateService.ts analyzeUpdateState:
keep both #59's percent_done and #65's project_id previousState tracking.

Claude-Session: https://claude.ai/code/session_016D2e7m4RD4YLiVN9Dvp2Vf
@netadvanced
netadvanced merged commit 1419104 into main Jul 17, 2026
1 check passed
@nahugomez

Copy link
Copy Markdown

👏

@netadvanced
netadvanced deleted the upstream-59-percent-done branch August 3, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants