Skip to content

Implement update_projects and set_projects_status#44

Merged
deverman merged 7 commits into
masterfrom
issue-33-update-projects-and-status
Jun 1, 2026
Merged

Implement update_projects and set_projects_status#44
deverman merged 7 commits into
masterfrom
issue-33-update-projects-and-status

Conversation

@deverman

Copy link
Copy Markdown
Owner

Summary

  • implement update_projects and set_projects_status across the shared mutation core, CLI, MCP, and bridge plugin
  • narrow project writes to the documented Omni Automation surface and hide root-task-backed note/date details behind the public API
  • add validation and CLI/core tests for project patch and status 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 update-projects l6ZI4Q1HqpK --flagged true --preview-only --verify --return-fields id,name,status,flagged
  • swift run focusrelay set-projects-status l6ZI4Q1HqpK --status on_hold --preview-only --verify --return-fields id,name,status,flagged
  • swift run focusrelay update-projects l6ZI4Q1HqpK --flagged true --verify --return-fields id,name,status,flagged
  • swift run focusrelay update-projects l6ZI4Q1HqpK --flagged false --verify --return-fields id,name,status,flagged
  • swift run focusrelay set-projects-status l6ZI4Q1HqpK --status on_hold --verify --return-fields id,name,status,flagged
  • swift run focusrelay set-projects-status l6ZI4Q1HqpK --status active --verify --return-fields id,name,status,flagged

Copy link
Copy Markdown
Owner Author

Stack note: this draft PR is based on issue-32-move-tasks / PR #43, 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
  5. Implement update_projects and set_projects_status #44

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

@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Follow-on PR #46 is now stacked on this branch.

Merge order for this part of the stack is:

  1. Merge Implement update_projects and set_projects_status #44 (issue-33-update-projects-and-status) after its dependencies are in.
  2. Then merge Add set_projects_completion mutation #46 (issue-34-set-projects-completion).

#46 should stay draft until #44 has landed or the base is intentionally retargeted.

@deverman deverman changed the base branch from issue-32-move-tasks to master June 1, 2026 23:16
@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Maintainer validation note for #44:

  • Merge order: this PR is now retargeted to master after Implement move_tasks for homogeneous bulk moves #43 was merged. It should merge before Add set_projects_completion mutation #46 set_projects_completion.
  • Conflict resolution: kept Implement move_tasks for homogeneous bulk moves #43 move_tasks behavior, including compact returnedFields and save-before-verify/readback, then layered update_projects and set_projects_status on top.
  • Local validation passed: node check for BridgeLibrary.js, swift test with 86 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 on project l6ZI4Q1HqpK Personal single actions. Initial state was active and flagged=false.
  • Preview-only validation passed for update_projects flagged=true, set_projects_status on_hold, and update_projects dueDate.
  • Real reversible validation passed: flagged true with verify, restored flagged false with verify, status on_hold with verify, restored status active with verify. Final readback confirmed active and flagged=false.
  • I applied the Implement move_tasks for homogeneous bulk moves #43 lesson to project writes too: update_projects and set_projects_status now save before verify/readback so returnedFields reflect persisted state, not only in-memory pre-save state.

@deverman deverman marked this pull request as ready for review June 1, 2026 23:16
@deverman deverman merged commit 3b95361 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