Skip to content

Describe the scoped tag catalogue in OpenAPI, and say why govulncheck keeps its cron-only SARIF category - #1503

Merged
bradflaugher merged 1 commit into
mainfrom
docs/tags-openapi-and-govulncheck-category
Sep 14, 2026
Merged

bradflaugher merged 1 commit into
mainfrom
docs/tags-openapi-and-govulncheck-category

Conversation

@bradflaugher

Copy link
Copy Markdown
Contributor

What changed, and why

Two leftovers from #1501 and #1502.

GET /tasks/tags in docs/openapi.yaml still described a global catalogue. Since #1501 the endpoint requires view_tasks and is scoped by the same own-rows rule as GET /tasks (#1082): a non-admin user or scoped API key gets only the tags on tasks it created, with counts over those tasks, while the admin key, PermissionAdmin carriers and view_all_logs holders get the fleet-wide catalogue. The summary now says so in the same words the /tasks entry uses, so an API consumer does not mistake an omitted tag for a nonexistent one.

The govulncheck cron category is correct and now says why. #1502 moved the weekly Grype upload onto the PR gate's category because GitHub expected the cron-only grype-scheduled configuration on every PR. govulncheck-scheduled.yml looks like the same shape, but is not: the per-PR govulncheck step in ci.yml runs the scan and uploads no SARIF, so this lane is the only govulncheck upload, there is no PR-side category to share, and GitHub shows no missing-configuration check for it (confirmed on #1501 and #1502, where only the Grype phantom appeared). The workflow comment and docs/TESTING.md record that so the category is not renamed by analogy. No scan command, schedule or alarm changed.

How you verified it

Scope and deviations

Docs and one workflow comment only; no runtime, gate or schedule change. The alternative of making the PR gate emit SARIF under a shared category was not taken: it would change the per-PR gate for no visible defect.


  • The title and "What changed, and why" are written for the release notes they become
  • A design note (docs/<FEATURE>.md) added, if this ships a feature — not a feature
  • An ADR added or superseded in docs/adr/, if this adds, weakens or reverses an invariant — none touched
  • The diff is scoped to one change (no unrelated refactors)

🤖 Generated with Claude Code

… keeps its cron-only category

GET /tasks/tags has been scoped by the #1082 own-rows rule and gated on
view_tasks since #1501, but docs/openapi.yaml still described a global
catalogue; the summary now says what a non-admin user or scoped key gets and
who sees the fleet-wide list, in the words the /tasks entry already uses.

govulncheck-scheduled.yml uploads under its own category like the weekly
Grype scan did before #1502, but the two are not the same shape: ci.yml's
govulncheck gate uploads no SARIF, so the cron lane is the only govulncheck
upload and GitHub raises no missing-configuration check for it on PRs. The
workflow comment and docs/TESTING.md record that so the category is not
renamed by analogy. No scan, schedule or alarm changed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-14T22:57:39.455978Z 9b14763 PR opened
🔒 Security Review Completed 2026-09-14T22:57:57.869251Z 9b14763 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@bradflaugher
bradflaugher merged commit 63a5c13 into main Sep 14, 2026
21 checks passed
@bradflaugher
bradflaugher deleted the docs/tags-openapi-and-govulncheck-category branch September 14, 2026 23:03
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.

1 participant