Fix expansion operators: update dependencies after expansion
When a step is expanded (e.g., implement -> implement.draft, implement.refine-1, etc.), any steps that depended on the original step should now depend on the last step of the expansion. Call UpdateDependenciesForExpansion after both expand and map operations. Fixes gt-8tmz.3 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,13 @@ func ApplyExpansions(steps []*Step, compose *ComposeRules, parser *Parser) ([]*S
|
||||
result = replaceStep(result, rule.Target, expandedSteps)
|
||||
expanded[rule.Target] = true
|
||||
|
||||
// Update dependencies: any step that depended on the target should now
|
||||
// depend on the last step of the expansion
|
||||
if len(expandedSteps) > 0 {
|
||||
lastStepID := expandedSteps[len(expandedSteps)-1].ID
|
||||
result = UpdateDependenciesForExpansion(result, rule.Target, lastStepID)
|
||||
}
|
||||
|
||||
// Update step map with new steps
|
||||
for _, s := range expandedSteps {
|
||||
stepMap[s.ID] = s
|
||||
@@ -122,6 +129,13 @@ func ApplyExpansions(steps []*Step, compose *ComposeRules, parser *Parser) ([]*S
|
||||
result = replaceStep(result, targetStep.ID, expandedSteps)
|
||||
expanded[targetStep.ID] = true
|
||||
|
||||
// Update dependencies: any step that depended on the target should now
|
||||
// depend on the last step of the expansion
|
||||
if len(expandedSteps) > 0 {
|
||||
lastStepID := expandedSteps[len(expandedSteps)-1].ID
|
||||
result = UpdateDependenciesForExpansion(result, targetStep.ID, lastStepID)
|
||||
}
|
||||
|
||||
// Update step map
|
||||
for _, s := range expandedSteps {
|
||||
stepMap[s.ID] = s
|
||||
|
||||
Reference in New Issue
Block a user