Skip to content

feat: check release tag and assets for license in LE-03.02 - #468

Open
Satarupa22-SD wants to merge 5 commits into
ossf:mainfrom
Satarupa22-SD:OSPS-LE-03.02
Open

feat: check release tag and assets for license in LE-03.02#468
Satarupa22-SD wants to merge 5 commits into
ossf:mainfrom
Satarupa22-SD:OSPS-LE-03.02

Conversation

@Satarupa22-SD

Copy link
Copy Markdown
Contributor

fixes #70
CC: @jmeridth

@Satarupa22-SD
Satarupa22-SD requested a review from a team as a code owner August 26, 2026 11:11
Signed-off-by: Satarupa22-SD <satarupa2212@gmail.com>
@eddie-knight

Copy link
Copy Markdown
Collaborator

Moving to draft just while checks are failing, feel free to mark it as ready for review when the CI goes green

@eddie-knight
eddie-knight marked this pull request as draft August 26, 2026 13:56
eddie-knight and others added 2 commits August 29, 2026 10:39
- data/payload.go: use promoted LicenseAtRef selector (staticcheck QF1008)
- steps_test.go: discard fmt.Fprintf return in test stub (errcheck)

Signed-off-by: Eddie Knight <knight@linux.com>
@eddie-knight
eddie-knight marked this pull request as ready for review August 29, 2026 15:53

@jmeridth jmeridth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 (summary) This is a well-built PR in the places that are hardest to get right: the data layer distinguishes 404 from error, the caching is deliberate and commented, the tests are genuinely load-bearing (we mutation-tested them), and the merge base is current. The findings are all in the verdict ladder, and the top one is the interesting kind: a behavior your own tests pin correctly but that punishes the control's recommended practice. Four models reviewed this; the inline comments are the survivors after cross-checking, several confirmed against the live GitHub API.

Comment thread evaluation_plans/osps/legal/steps.go Outdated
Comment thread evaluation_plans/osps/legal/steps.go
Comment thread evaluation_plans/osps/legal/steps.go
Comment thread evaluation_plans/osps/legal/steps.go
return gemara.Failed, fmt.Sprintf("A license exists on the default branch, but none was found in the released source code at tag %q", latest.TagName), gemara.High
}
return gemara.Failed, fmt.Sprintf("No license was found in the released source code at tag %q", latest.TagName), gemara.High
default:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 (medium) A failed tag lookup lands here, logs a Warn, and falls through to Passed on default-branch evidence, which the comment above rightly calls untrustworthy. GitHub signals rate-limit exhaustion with 403 (not 429), retry.go treats 403 as permanent, and the error is cached, so a rate-limited bulk scan disables exactly the tamper check issue #70 asks for and reports Passed. The failed /releases fetch above correctly yields NeedsReview; the same class of failure should get the same disposition here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Partially fixed at b1c332c: the 403 path now correctly lands NeedsReview (mutation-checked), and a tag failure with a license asset present does too. But a generic failure (say a 500, which isTransientError also does not retry) still logs a warning and falls through to Passed/Medium on the HEAD evidence, and steps_test.go pins that. The inconsistency this comment flagged remains for that class: a failed /releases fetch gets NeedsReview while a failed tag lookup gets Passed. Is the generic-failure Passed deliberate? If not, aligning it is a one-line disposition change plus the test expectation. Minor related nit: every 403 is messaged as "rate limited", including permission-denied; the disposition is right either way, just the wording.

Comment thread evaluation_plans/osps/legal/steps.go
Comment thread data/payload.go Outdated
Signed-off-by: Satarupa22-SD <satarupa2212@gmail.com>
Signed-off-by: Satarupa22-SD <satarupa2212@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve quality of OSPS-LE-03.02

3 participants