Skip to content

Implement move_tasks for homogeneous bulk moves#43

Merged
deverman merged 7 commits into
masterfrom
issue-32-move-tasks
Jun 1, 2026
Merged

Implement move_tasks for homogeneous bulk moves#43
deverman merged 7 commits into
masterfrom
issue-32-move-tasks

Conversation

@deverman

Copy link
Copy Markdown
Owner

Summary

  • implement move_tasks across the shared mutation core, CLI, MCP, and bridge plugin
  • validate and execute homogeneous bulk task moves to inbox, project, or parent task destinations
  • add mutation validation and CLI/core tests for move-specific constraints

Testing

  • node --check Plugin/FocusRelayBridge.omnijs/Resources/BridgeLibrary.js
  • swift test
  • ./scripts/install-plugin.sh
  • osascript -e 'tell application "OmniFocus" to quit' && sleep 2 && open -a "OmniFocus"
  • swift run focusrelay bridge-health-check
  • swift run focusrelay move-tasks e-Wn5k27h6g --destination-kind inbox --preview-only --verify --return-fields id,name,projectName
  • swift run focusrelay move-tasks e-Wn5k27h6g --destination-kind inbox --verify --return-fields id,name
  • swift run focusrelay move-tasks e-Wn5k27h6g --destination-kind project --destination-id l6ZI4Q1HqpK --verify --return-fields id,name,projectName

Copy link
Copy Markdown
Owner Author

Stack note: this draft PR is based on issue-31-set-tasks-completion / PR #42, not master.

Merge order for the stack:

  1. Add shared mutation core preview pipeline #40
  2. Implement update_tasks mutation flow #41
  3. Implement set_tasks_completion lifecycle flow #42
  4. Implement move_tasks for homogeneous bulk moves #43

After #42 merges, retarget or rebase #43 onto the updated base before final merge if needed.

Copy link
Copy Markdown
Owner Author

@deverman deverman changed the base branch from issue-31-set-tasks-completion to master June 1, 2026 22:31
@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Maintainer validation note for #43:

  • Merge order: this PR is now retargeted to master after Implement set_tasks_completion lifecycle flow #42 was merged. It is the next roadmap PR before Implement update_projects and set_projects_status #44 update_projects and set_projects_status.
  • Local validation passed: node check for BridgeLibrary.js, swift test with 82 Swift Testing tests, git diff --check, plugin install plus full OmniFocus restart, bridge-health-check, and benchmark-gate-check for task-counts, list-tasks, and project-counts.
  • Live mutation validation passed for task mveToEQy4AJ: preview-only project move, preview-only inbox move, preview-only parent task move, real project move to Leave DFS with verify, and real restore to Personal single actions with verify.
  • I found and fixed a bridge bug where move_tasks verified and built returnedFields before save. That could report a stale successful inbox result if OmniFocus cleanup changed the saved destination. The branch now saves before verify/readback for real moves.
  • I also compacted mutation returnedFields so requesting id,name,projectID,projectName returns only those keys instead of the whole sparse task payload full of nulls.
  • Product note: on my OmniFocus setup, a real move to inbox can be auto-cleaned into the default single-action project Personal single actions after save/restart. The new save-before-verify behavior makes that visible instead of claiming stale inbox verification.

@deverman deverman marked this pull request as ready for review June 1, 2026 22:50
@deverman deverman merged commit 8400793 into master Jun 1, 2026
1 check passed
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.

1 participant