From 6ca9b9096f9fb8de04ee86f49907e9e20608ca0a Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Wed, 21 Oct 2026 13:00:00 -0700 Subject: [PATCH] Derive review timestamps at insertion and remove unused lookup --- internal/store/review.go | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/internal/store/review.go b/internal/store/review.go index f897f1d..28b04b5 100644 --- a/internal/store/review.go +++ b/internal/store/review.go @@ -15,16 +15,16 @@ import ( const reviewColumns = `id, task_id, snapshot_n, stage, coalesce(agent_session_id, ''), vendor, model, state, result, error, created_at, finished_at, finding_states, finding_responses` func (s *Store) CreateReview(ctx context.Context, r api.Review, definitionID string) error { + return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error { + return insertReview(ctx, tx, emit, r, definitionID) + }) +} + +func insertReview(ctx context.Context, tx *sql.Tx, emit emitFunc, r api.Review, definitionID string) error { finishedAt := "" if r.FinishedAt != nil { finishedAt = formatTime(*r.FinishedAt) } - return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error { - return insertReview(ctx, tx, emit, r, definitionID, finishedAt) - }) -} - -func insertReview(ctx context.Context, tx *sql.Tx, emit emitFunc, r api.Review, definitionID, finishedAt string) error { _, err := tx.ExecContext(ctx, ` INSERT INTO reviews (id, task_id, snapshot_n, stage, definition_id, agent_session_id, vendor, model, state, error, created_at, finished_at) VALUES (?, ?, ?, ?, nullif(?, ''), nullif(?, ''), ?, ?, ?, ?, ?, ?) @@ -46,7 +46,7 @@ type Reviewer struct { func (s *Store) StartReviewers(ctx context.Context, projectID, definitionID string, reviewers []Reviewer, failed []api.Review) error { return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error { for _, r := range failed { - err := insertReview(ctx, tx, emit, r, definitionID, formatTime(*r.FinishedAt)) + err := insertReview(ctx, tx, emit, r, definitionID) if err != nil { return err } @@ -59,7 +59,7 @@ func (s *Store) StartReviewers(ctx context.Context, projectID, definitionID stri } r.Review.State = api.ReviewStateRunning r.Review.AgentSessionId = r.Session.Id - err = insertReview(ctx, tx, emit, r.Review, definitionID, "") + err = insertReview(ctx, tx, emit, r.Review, definitionID) if err != nil { return err } @@ -294,19 +294,6 @@ func settleReviews(ctx context.Context, tx *sql.Tx, pending []StageStart) ([]Sna return scanSnapshotRefs(rows) } -func (s *Store) ReviewDefinition(ctx context.Context, id string) (string, api.WorkflowDefinition, error) { - defID := sql.NullString{} - err := s.db.QueryRowContext(ctx, `SELECT definition_id FROM reviews WHERE id = ?`, id).Scan(&defID) - if errors.Is(err, sql.ErrNoRows) { - return "", api.WorkflowDefinition{}, ErrNotFound - } - if err != nil || !defID.Valid { - return "", api.WorkflowDefinition{}, err - } - def, err := loadDefinition(ctx, s.db, defID.String) - return defID.String, def, err -} - func (s *Store) GetReview(ctx context.Context, id string) (api.Review, error) { r, err := scanReview(s.db.QueryRowContext(ctx, `SELECT `+reviewColumns+` FROM reviews WHERE id = ?`, id)) if errors.Is(err, sql.ErrNoRows) {