From 8657a28bdbb9966e0a58dd9a9f199da949156197 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Sat, 29 Aug 2026 20:43:44 +0000 Subject: [PATCH] Preserve flag-based artifact regeneration arguments --- internal/app/regenerate_artifacts.go | 2 +- internal/app/regenerate_artifacts_test.go | 29 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/internal/app/regenerate_artifacts.go b/internal/app/regenerate_artifacts.go index bd8c2ec..45fa36b 100644 --- a/internal/app/regenerate_artifacts.go +++ b/internal/app/regenerate_artifacts.go @@ -15,7 +15,7 @@ func RegenerateArtifacts(ctx context.Context, args []string, out io.Writer) erro } expanded := make([]string, 0, len(args)+5) - if len(args) > 0 { + if len(args) > 0 && !isCLIFlagToken(args[0]) { expanded = append(expanded, args[0]) args = args[1:] } diff --git a/internal/app/regenerate_artifacts_test.go b/internal/app/regenerate_artifacts_test.go index 013ba5a..8fe8654 100644 --- a/internal/app/regenerate_artifacts_test.go +++ b/internal/app/regenerate_artifacts_test.go @@ -40,6 +40,35 @@ func TestRegenerateArtifactsForwardsExactCanonicalRunArguments(t *testing.T) { } } +func TestRegenerateArtifactsForwardsSessionIDCompatibilityFlag(t *testing.T) { + original := runCommandFn + t.Cleanup(func() { runCommandFn = original }) + var captured []string + runCommandFn = func(_ context.Context, args []string, _ io.Writer) error { + captured = append([]string(nil), args...) + return nil + } + + code := Execute([]string{ + "regenerate-artifacts", + "--config", "pipeline.yml", + "--session-id", "2026-05-03", + "--artifacts", "session_recap", + }, io.Discard, io.Discard) + if code != 0 { + t.Fatalf("Execute() code = %d, want 0", code) + } + want := []string{ + "--force", "--from", "extract", "--through", "analyze", + "--config", "pipeline.yml", + "--session-id", "2026-05-03", + "--artifacts", "session_recap", + } + if !reflect.DeepEqual(captured, want) { + t.Fatalf("forwarded args = %#v, want %#v", captured, want) + } +} + func TestRegenerateArtifactsHelpDoesNotInvokeRun(t *testing.T) { original := runCommandFn t.Cleanup(func() { runCommandFn = original })