T-U3NR-task-write-set-conflicts
Status: closed/superseded · Impact: high · Complexity: medium
The orchestrator dispatches up to max_implementations parallel task-work runs
with no awareness of file overlap — two ready tasks touching the same files
discover it as a merge conflict after both burn a run. Derive each task’s
write-set from its ## Files to touch table and surface conflicts before
dispatch (D-3PDM-cross-project-data-model-adoption P1).
Proposed
Section titled “Proposed”- A task’s write-set = its
Files to touchrows withKind ∈ {new, modify, delete}(read-onlyTodayrows don’t count). No new frontmatter field — the body table stays the single source (parse-touchpointsalready reads it). - DarkFactory’s rules adopted wholesale: leaf-only declaration (a parent task’s effective set is the union of its leaf descendants; parent/child overlap is exempt — containment is not conflict); literal paths conflict even when the file doesn’t exist yet.
- Consumers: a
sdlc task conflictsop; an audit warning for overlapping ready/in-flight pairs with nodepends_onbetween them; a graph-schedulerfilterrule at dispatch (with T-8I15-adapt-task-next-onto-graph-scheduler); aworktree-scopegate extension comparing actual vs declared touches.
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
sdlc task conflictslists overlapping write-set pairs amongopen/readyand in-flight tasks, naming the overlapping locations. - AC-2:
entities auditemits a warning-level finding for each overlapping pair that has nodepends_onedge in either direction. - AC-3: a parent task’s effective write-set is the union of its leaf descendants; parent/child overlaps are not flagged.
- AC-4: two tasks declaring the same
newfile conflict before the file exists. - AC-5: the
worktree-scopegate reports files touched in a task worktree that its write-set never declared (report-only).
Out of scope
Section titled “Out of scope”- Wiring the graph-scheduler
filterrule — that rides T-8I15-adapt-task-next-onto-graph-scheduler once the scheduler lands. - Auto-inserting
depends_onedges between conflicting tasks (surface only). - Any frontmatter mirror of the write-set (open question in
D-3PDM-cross-project-data-model-adoption; only a generated mirror would be acceptable).
Dependencies
Section titled “Dependencies”- None hard. The scheduler-filter consumer waits on T-8I15-adapt-task-next-onto-graph-scheduler; the op and audit check don’t.
Discovery context
Section titled “Discovery context”D-3PDM-cross-project-data-model-adoptionP1 / finding F4: DarkFactory’simpactswas its most-adopted optional field (196/232 PRDs) with a validator-enforced leaf-only rule; ontological carried the same idea as agent sandbox envelopes. SDLC had the substrate (Location grammar,parse-touchpoints,worktree-scope) but no conflict awareness.