Handle merge conflicts as orchestration events
This commit is contained in:
@@ -52,10 +52,16 @@ This keeps orchestration policy resolution separate from executor enforcement. E
|
||||
- planning: `requirements_defined`, `tasks_planned`
|
||||
- execution: `code_committed`, `task_blocked`
|
||||
- validation: `validation_passed`, `validation_failed`
|
||||
- integration: `branch_merged`
|
||||
- integration: `branch_merged`, `merge_conflict_detected`, `merge_conflict_resolved`, `merge_conflict_unresolved`, `merge_retry_started`
|
||||
- Pipeline edges can trigger on domain events (`edge.event`) in addition to legacy status triggers (`edge.on`).
|
||||
- `history_has_event` route conditions evaluate persisted domain event history entries (`validation_failed`, `task_blocked`, etc.).
|
||||
|
||||
## Merge conflict orchestration
|
||||
|
||||
- Task merge/close merge operations return structured outcomes (`success`, `conflict`, `fatal_error`) instead of throwing for conflicts.
|
||||
- Task state supports conflict workflows (`conflict`, `resolving_conflict`) and conflict metadata is persisted under `task.metadata.mergeConflict`.
|
||||
- Conflict retries are bounded by `AGENT_MERGE_CONFLICT_MAX_ATTEMPTS`; exhaustion emits `merge_conflict_unresolved` and the session continues without crashing.
|
||||
|
||||
## Security note
|
||||
|
||||
Security enforcement now lives in `src/security`:
|
||||
|
||||
Reference in New Issue
Block a user