Skip to content

wr-itil: work-problems orchestrator can double-dispatch the same ticket to concurrent iters #343

Description

@tompahoward

Description

The AFK work-problems orchestrator can double-dispatch the same ticket to two concurrent iter sessions, risking a commit race with no framework control. Observed: an iter ran gate reviews for a ticket, then discovered on first edit ("file modified since read") that a concurrent session was writing the identical ratified fix to the same files; the race was avoided only by ad-hoc settle-check discipline.

Symptoms

  • No per-ticket lock, no iter-liveness check before dispatch, no working-tree-dirty preflight abort.
  • Cost: double gate-review spend, double implementation spend, near-miss commit/index race in a shared working tree.

Affected plugin / component

@windyroad/itil — work-problems orchestrator (Step 5 dispatch).

Fix direction

Step 5 dispatch should take a per-ticket advisory lock and/or preflight-abort when the working tree already carries edits matching the ticket's fix paths.

Cross-reference

Reported from a downstream adopter; tracked locally as P112.

Versions

  • Local plugin: @windyroad/* (cache: itil 0.57.1)
  • Claude Code CLI: 2.1.201 (Claude Code)
  • Node: v22.17.1
  • OS: Darwin 25.3.0 x86_64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions