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)
|
result = replaceStep(result, rule.Target, expandedSteps)
|
||||||
expanded[rule.Target] = true
|
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
|
// Update step map with new steps
|
||||||
for _, s := range expandedSteps {
|
for _, s := range expandedSteps {
|
||||||
stepMap[s.ID] = s
|
stepMap[s.ID] = s
|
||||||
@@ -122,6 +129,13 @@ func ApplyExpansions(steps []*Step, compose *ComposeRules, parser *Parser) ([]*S
|
|||||||
result = replaceStep(result, targetStep.ID, expandedSteps)
|
result = replaceStep(result, targetStep.ID, expandedSteps)
|
||||||
expanded[targetStep.ID] = true
|
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
|
// Update step map
|
||||||
for _, s := range expandedSteps {
|
for _, s := range expandedSteps {
|
||||||
stepMap[s.ID] = s
|
stepMap[s.ID] = s
|
||||||
|
|||||||
Reference in New Issue
Block a user