Skip to content

Refactor bridge mutation helpers#51

Closed
deverman wants to merge 1 commit into
issue-35-move-projectsfrom
issue-48-refactor-bridge-mutation-helpers
Closed

Refactor bridge mutation helpers#51
deverman wants to merge 1 commit into
issue-35-move-projectsfrom
issue-48-refactor-bridge-mutation-helpers

Conversation

@deverman

@deverman deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Extracts shared bridge mutation helpers for primary-key indexing, per-item result construction, response envelopes, verified message formatting, and save-if-mutated behavior.
  • Reuses the shared ID indexer for task, project, tag, and folder lookup paths.
  • Keeps CLI and MCP request/response shapes unchanged while reducing repeated mutation boilerplate.

Stack / merge order

Depends on PR #50. Merge order remains:

  1. Improve bridge timeout diagnostics #49
  2. Implement move_projects folder moves #50
  3. this PR
  4. Document AI-Optimized Mutation Workflows for CLI and MCP #36 docs / AI guidance

Validation

  • node --check Plugin/FocusRelayBridge.omnijs/Resources/BridgeLibrary.js
  • swift test
  • ./scripts/install-plugin.sh
  • Restarted OmniFocus
  • ./.build/debug/focusrelay bridge-health-check
  • Live temp-project smoke: preview move to Travel, move to Travel with verify, move back to root with verify, delete temp project and confirm deletion

Refs #48

@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Stack note: this PR is intentionally based on #50. Merge #49 first, then #50, then #51. After #51, continue with #36 docs / AI guidance.

@deverman

deverman commented Jun 1, 2026

Copy link
Copy Markdown
Owner Author

Stack note update: #52 (issue #36 AI-optimized mutation docs) is now stacked on this PR. Merge #49, #50, #51, then #52.

@deverman

Copy link
Copy Markdown
Owner Author

Reviewed against current master before closure. PR #57 is the complete replacement for this stacked draft: the final implementation retains shared task/project/tag/folder ID indexes, shared mutation envelopes, and one executor used by all seven v1 mutation operations (task/project update, completion, status, and move). PR #57 was based on master after #49 and #50, passed CI, node syntax validation, Swift tests, plugin restart, and live task/project mutation smoke checks. The changed stack order did not change the public CLI/MCP contract. Closing this conflicting draft as superseded by #57.

@deverman deverman closed this Jul 13, 2026
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