You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9f32467
Browse filesBrowse the repository at this point in the historyBrowse files
Remove static writePaths lock; detect concurrent lane overlap at spawn
Deletes DirectorPackage.writePaths / AgentProfile.writePaths and the
gate.ts enforcement that read them (write-path-policy.ts and its test
are now dead and removed). No shipped director ever set a non-empty
writePaths, so this was already unenforced-in-practice authz machinery
that read as active.
Replaces it with a non-blocking conflict detector in the task tool:
each running dispatch is tracked by call id and resolved cwd; a new
dispatch that shares a still-running lane's cwd is recorded (not
blocked) as a concurrent-lane-overlap intervention. A completed lane
is removed before the next dispatch starts, so sequential work against
the same cwd never triggers it.
Judgement calls:
- task() has no field for a caller to declare which paths a dispatch
will touch, so cwd is the only intended-scope signal honestly
available at spawn. Worktree-isolated lanes get distinct cwds by
construction and can never collide here; this only fires in the
shared-cwd fallback, which is the one case where two lanes can
really overwrite each other.
- Warn/record, not block: cwd equality does not prove two lanes touch
the same files, only that they could, so refusing the spawn would
invent precision the signal does not have.
- Recorded in intervention-log.ts (new "conflict" class) rather than a
separate mechanism, alongside the existing parent-side refusal/outcome
records it already keeps for this task tool instance.
0 commit comments