From 3dfc064353e7b7450e7e685f2f9586309d1d9fbf Mon Sep 17 00:00:00 2001 From: Mathias Bergqvist Date: Fri, 17 Apr 2026 20:48:32 +0200 Subject: [PATCH] fix: extend valid phases and return empty slice for missing session Add "retrospective" to validPhases so non-TDD skills pass Validate(). Return []Entry{} instead of nil in session.Read when no file exists, so JSON serialisation produces [] rather than null. Co-Authored-By: Claude Sonnet 4.6 --- internal/exec/result.go | 7 ++++++- internal/session/session.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/exec/result.go b/internal/exec/result.go index 3dc01ee..79be573 100644 --- a/internal/exec/result.go +++ b/internal/exec/result.go @@ -20,7 +20,12 @@ type Result struct { } var validStatuses = map[string]bool{"pass": true, "fail": true, "error": true} -var validPhases = map[string]bool{"red": true, "green": true, "refactor": true} +var validPhases = map[string]bool{ + "red": true, + "green": true, + "refactor": true, + "retrospective": true, +} func (r Result) Validate() error { var errs []string diff --git a/internal/session/session.go b/internal/session/session.go index f1d368f..8b60055 100644 --- a/internal/session/session.go +++ b/internal/session/session.go @@ -68,7 +68,7 @@ func Read(sessionsDir, sessionID string) ([]Entry, error) { path := filepath.Join(sessionsDir, sessionID+".jsonl") f, err := os.Open(path) if errors.Is(err, fs.ErrNotExist) { - return nil, nil + return []Entry{}, nil } if err != nil { return nil, fmt.Errorf("open session log: %w", err)