Skip to content

Add set_projects_completion mutation#46

Merged
deverman merged 8 commits into
masterfrom
issue-34-set-projects-completion
Jun 2, 2026
Merged

Add set_projects_completion mutation#46
deverman merged 8 commits into
masterfrom
issue-34-set-projects-completion

Conversation

@deverman

@deverman deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • adds CLI and MCP set_projects_completion for homogeneous project complete/uncomplete by ID
  • implements bridge/JXA mutation handling with preview, verify, per-item results, repeating-project result handling, and selected return fields
  • uses a mutation-specific bridge response timeout so slow explicit writes do not change read timeout behavior

Validation

  • node --check Plugin/FocusRelayBridge.omnijs/Resources/BridgeLibrary.js
  • swift test
  • installed plugin with ./scripts/install-plugin.sh and restarted OmniFocus
  • swift run focusrelay bridge-health-check
  • live preview: swift run focusrelay set-projects-completion jdiFnpbNXj- --state active --preview-only --verify --return-fields id,name,status,completionDate
  • live write cycle on low-risk project Travel Hacking MCP Server (jdiFnpbNXj-): completed and restored to active; restore returned active with completionDate: null

Notes

One completion attempt exposed existing URL-dispatch stranding: the CLI timed out, but the bridge response later appeared and showed the mutation itself took 1.288s. The project was restored successfully afterward under the mutation timeout. This PR keeps the timeout change scoped to mutations; a broader dispatch reliability fix should stay separate if needed.

Stack order: merge after #44 (issue-33-update-projects-and-status). Closes #34.

@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Stack/merge reminder for this PR:

Full mutation stack order remains #38 -> #40 -> #41 -> #42 -> #43 -> #44 -> #46.

This PR is intentionally based on issue-33-update-projects-and-status, so it should merge after #44. After #44 lands, retarget/rebase as needed before marking ready.

@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Architecture follow-up from validation: opened #47 to harden mutation dispatch reliability before #35.

This PR remains focused on set_projects_completion. The observed URL-dispatch stranding should be fixed in #47 rather than expanding #46 further. Updated roadmap tail: #47 -> #35 -> #48 -> #36.

@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Follow-on PR #49 is now stacked after this PR for #47 mutation dispatch reliability.

Updated tail order: #46 -> #49 -> #35 -> #48 -> #36.

#49 should remain draft until #46 lands or is intentionally retargeted.

@deverman deverman changed the base branch from issue-33-update-projects-and-status to master June 2, 2026 03:09
@deverman

deverman commented Jun 2, 2026

Copy link
Copy Markdown
Owner Author

Merge-order note: #44 is merged into master, and this PR has been retargeted directly to master. This should now be reviewed/merged before the next stacked roadmap item.

Validation run on issue-34-set-projects-completion:

  • node --check Plugin/FocusRelayBridge.omnijs/Resources/BridgeLibrary.js
  • swift test (88 Swift Testing tests passed; existing MCP Content.text deprecation warnings remain)
  • Installed bridge plugin with ./scripts/install-plugin.sh and fully restarted OmniFocus
  • bridge-health-check passed
  • Live preview validation passed for project l6ZI4Q1HqpK
  • Live invalid-ID validation returned the expected per-item failure
  • Live reversible mutation passed on empty active project m-DXY_Ga2lD (swift markdown parser formatter): completed -> verified done, then active -> verified active with completionDate null
  • Semantic gates passed: task-counts, list-tasks, project-counts

Scope correction: I removed the mutation-specific timeout env var from this PR. That belongs in diagnostics/root-cause work, not in set_projects_completion.

@deverman deverman marked this pull request as ready for review June 2, 2026 03:10
@deverman deverman merged commit 6843a10 into master Jun 2, 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.

Implement set_projects_completion for Homogeneous Bulk Completion State

1 participant