Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile OverviewGreptile SummaryFixed edge manager to correctly handle convergent error edges where multiple nodes have error edges pointing to the same error handler node. Key changes:
Why this matters: Test coverage: Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant W1 as Workflow 1
participant W7 as Workflow 7
participant EM as EdgeManager
participant EH as Error Handler
Note over W1,EH: Initial state: EH has incoming edges from W1 and W7
W1->>EM: processOutgoingEdges(error: "Failed")
EM->>EM: shouldActivateEdge(error edge) → true
EM->>EM: Add EH to activatedTargets
EM->>EM: Add EH to nodesWithActivatedEdge
EM->>EH: Remove W1 from incomingEdges
EM->>EM: Check isTargetReady(EH) → false (W7 still pending)
EM-->>W1: readyNodes: [] (EH not ready yet)
W7->>EM: processOutgoingEdges(result: "success")
EM->>EM: shouldActivateEdge(error edge) → false
EM->>EM: Add W7→EH to edgesToDeactivate
EM->>EM: deactivateEdgeAndDescendants(W7→EH)
EM->>EM: Add edge to deactivatedEdges
Note over EM: New logic (lines 80-90)
EM->>EM: Check deactivation targets
EM->>EM: Is EH in nodesWithActivatedEdge? → true
EM->>EM: Check isTargetReady(EH) → true
EM->>EM: Add EH to readyNodes
EM-->>W7: readyNodes: [EH]
Note over EH: Error Handler now ready to execute
|
Summary
Fix convergent error edges
Type of Change
Testing
Manual
Checklist