Skip to content

Preflight every bulk mutation target before writing#147

Merged
deverman merged 1 commit into
masterfrom
agent/144-all-or-nothing-preflight
Jul 23, 2026
Merged

Preflight every bulk mutation target before writing#147
deverman merged 1 commit into
masterfrom
agent/144-all-or-nothing-preflight

Conversation

@deverman

Copy link
Copy Markdown
Owner

Closes #144

Acceptance journey

A mixed batch containing one valid task ID and one unknown ID fails the entire request before any apply or save, leaving the valid task unchanged.

Validation impact

mutation

Changes

  • preflight all target IDs in the shared Bridge mutation executor
  • return per-target failures that explicitly state no targets changed
  • document all-or-nothing target resolution in the public tool descriptions and write contract
  • add batch and per-item save-mode regression coverage

Validation

  • swift test — 161 tests passed
  • swift run focusrelay-dev validate --impact mutation — 161 tests and release build passed
  • live Bridge UAT after plugin install and OmniFocus restart:
    • edit-tasks j6U8yT2FZht lbJReNIcjBB --operation set_completion --state completed --verify
    • result: 0 successes, 2 failures, both report no targets changed
    • readback: valid task remained completed: false

Note: the AGENTS example includes --base origin/master, but the current focusrelay-dev validate command rejects --base; validation used the supported syntax above.

@deverman
deverman merged commit 690a09d into master Jul 23, 2026
4 checks passed
@deverman
deverman deleted the agent/144-all-or-nothing-preflight branch July 23, 2026 09:32
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.

Preflight every bulk mutation target before applying any write

1 participant