Skip to content

feat: Add approval evidence to sprint dry-runs#628

Merged
StatPan merged 1 commit into
mainfrom
issue-627-add-approval-evidence-to-sprint-dry-runs
May 23, 2026
Merged

feat: Add approval evidence to sprint dry-runs#628
StatPan merged 1 commit into
mainfrom
issue-627-add-approval-evidence-to-sprint-dry-runs

Conversation

@StatPan
Copy link
Copy Markdown
Owner

@StatPan StatPan commented May 23, 2026

Closes #627

@StatPan StatPan merged commit 0071e39 into main May 23, 2026
11 checks passed
@StatPan StatPan deleted the issue-627-add-approval-evidence-to-sprint-dry-runs branch May 23, 2026 07:10
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements shared approval evidence for sprint-related dry-run mutations, including planning, starting, closing, and rolling over sprints. It introduces schema versioning for sprint reports and updates the domain layer to automatically populate approval evidence. The review feedback highlights that the manual schema and approval assignments added to the CLI layer are redundant as the domain functions already handle these tasks. Additionally, there is a recommendation to maintain internal consistency by using the existing shell-quoting utility function within the approval logic.

Comment thread internal/cli/cli.go
Comment on lines +7459 to +7462
gira.EnsureSprintPlanReportSchema(&report)
if report.Mode == "dry-run" {
report.Approval = gira.SprintPlanApprovalEvidence(report)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This logic is redundant. The gira.PlanSprint function (called at line 7454) already populates the SchemaVersion and Approval fields when in dry-run mode. Re-assigning them here in the CLI layer is unnecessary and can be removed to simplify the code.

Comment thread internal/cli/cli.go
Comment on lines +7494 to +7497
gira.EnsureSprintStartReportSchema(&report)
if report.Mode == "dry-run" {
report.Approval = gira.SprintStartApprovalEvidence(report)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Redundant logic. gira.StartSprint already ensures the schema version and populates the approval evidence for dry-runs. These lines should be removed to keep the CLI layer clean and avoid duplicate processing.

Comment thread internal/cli/cli.go
Comment on lines +7541 to +7544
gira.EnsureSprintCloseReportSchema(&report)
if report.Mode == "dry-run" {
report.Approval = gira.SprintCloseApprovalEvidence(report)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Redundant logic. gira.CloseSprint already handles schema versioning and approval evidence population for dry-runs. This duplication in the CLI layer is unnecessary.

Comment thread internal/cli/cli.go
Comment on lines +7580 to +7583
gira.EnsureSprintRolloverReportSchema(&report)
if report.Mode == "dry-run" {
report.Approval = gira.SprintRolloverApprovalEvidence(report)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Redundant logic. The domain functions called by newSprintRolloverReport already populate these fields. This assignment in the CLI layer is unnecessary and should be removed.

Comment thread internal/gira/approval.go
Comment on lines +1124 to +1125
"--repo", QuoteShellArg(report.Repo),
"--iteration", QuoteShellArg(report.Iteration),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Inconsistent quoting function usage. The existing code in this file uses the private shellQuoteArg (defined at line 185), while the new sprint-related functions use QuoteShellArg. For consistency within the file, consider using shellQuoteArg throughout, or unify the quoting logic across the package if QuoteShellArg is intended to be the new standard.

References
  1. Maintain internal consistency in utility function usage within the same file. (link)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add approval evidence to sprint dry-runs

1 participant