review: preserve guided profile custom task · Entire

Review: Preserve Guided Profile Custom Task

df29bfb → main ·

dipree · 3w ago · 2 files · +32 added / -3 removed

Sessions

8e1adbe6738d View transcript

Checkout the hand off doc that I just added. Pi · Opus 4.8 · 5 steps

Changes

2

135 unmodified lines

136
137
138
139
140
141
139
140
141
142
18 unmodified lines

161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179

135 unmodified lines

if err != nil {
        return "", settings.ReviewProfileConfig{}, err
    }
    if customTask != "" {
        profile.Task = customTask
    }
    profile.Task = guidedProfileTask(profileName, profile.Task, existing.Task, customTask)
    if len(profile.Agents) > 1 {
        judge, err := promptForJudge(ctx, launchable, existing)
        if err != nil {
18 unmodified lines

// launchableInstalledAgentNames returns the installed agents that have a
// review-runner adapter, in the order they can be offered to the user.
func guidedProfileTask(profileName, generatedTask, existingTask, customTask string) string {
    if customTask != "" {
        return customTask
    }
    if strings.TrimSpace(existingTask) != "" {
        return existingTask
    }
    if strings.TrimSpace(generatedTask) != "" {
        return generatedTask
    }
    return profileTask(profileName, settings.ReviewProfileConfig{})
}

func launchableInstalledAgentNames(installed []types.AgentName, reviewerFor func(string) reviewtypes.AgentReviewer) []string {
    names := make([]string, 0, len(installed))
    for _, name := range installed {

Mcmd/entire/cli/review/picker.go +14 / -3

24 unmodified lines

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

24 unmodified lines

}

func TestGuidedProfileTaskPreservesExistingCustomTask(t *testing.T) {
    t.Parallel()
    const (
        generated = "built-in generated task"
        existing  = "saved custom task"
        custom    = "new custom task"
    )
    if got := guidedProfileTask(DefaultProfileName, generated, existing, ""); got != existing {
        t.Fatalf("guidedProfileTask without new custom task = %q, want existing %q", got, existing)
    }
    if got := guidedProfileTask(DefaultProfileName, generated, existing, custom); got != custom {
        t.Fatalf("guidedProfileTask with new custom task = %q, want %q", got, custom)
    }
    if got := guidedProfileTask(DefaultProfileName, generated, "", ""); got != generated {
        t.Fatalf("guidedProfileTask without existing task = %q, want generated %q", got, generated)
    }
}

func TestReviewModelSelectOptionsPreservesCurrentCustomModel(t *testing.T) {
    t.Parallel()
    const current = "my-custom-model"