Skip to content

P3: evaluate CodeQL/dependency-review/Dependabot — decline all three (roadmap Low) - #337

Merged
EHotwagner merged 1 commit into
mainfrom
p3-dependency-review-gate
Jul 15, 2026
Merged

EHotwagner merged 1 commit into
mainfrom
p3-dependency-review-gate

Conversation

@EHotwagner

@EHotwagner EHotwagner commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

Works the final P3 roadmap item in docs/reports/2026-07-15-code-and-architecture-review.md — the review's §5 gap "No CodeQL / dependency-review / Dependabot", framed as "Evaluate ... given the small dependency surface." Documentation-only decision: decline all three, each for a distinct, verified reason.

Why this ended as a decline, not an add

I first built and pushed the one genuine candidate — a SHA-pinned dependency-review gate — and it passed local + CI actionlint. But it failed at runtime:

##[error]Dependency review is not supported on this repository. Please ensure that Dependency graph is enabled.

I then verified the blocker is org/enterprise-level, not a repo toggle:

  • GET /repos/FS-GG/FS.GG.Game/dependency-graph/compare/{base}...{head} → 403 Forbidden
  • repo-admin PATCH … security_and_analysis[dependency_graph][status]=enabled → accepted (200) but silently drops the key (not repo-settable)
  • no FS-GG repo uses dependency-review-action → the Dependency Graph is off org-wide

Enabling the Dependency Graph is an FS-GG org security-settings decision (github.com/organizations/FS-GG/settings/security_analysis) — the same upstream-owned-boundary class this roadmap already deferred (the @main reusable workflows; the DO-NOT-EDIT Directory.Build.props comment). Rather than merge a gate that 403s red on every PR, I removed it and preserved it verbatim in the roadmap as a drop-in for the day the org enables the graph.

Decision

Tool Verdict Reason
Dependabot ❌ Decline Redundant with the already-configured Renovate (renovate.json extends the org preset: version bumps + dependency dashboard + vulnerability alerts). Running both mints duplicate PRs.
CodeQL ❌ Decline F# is not CodeQL-supported → can't scan Game.Core/Game.Render. Its actions mode overlaps the existing SHA-pin (#335) + checksum-pinned actionlint/shellcheck posture.
dependency-review ⛔ Blocked upstream The right control, but its prerequisite (org Dependency Graph) is disabled org-wide. Flagged upstream; not forced here for a Low item on a tiny, all-public, lockfile-pinned surface already under Renovate's vulnerability alerts.

Follow-up (org-owned, not code)

If the FS-GG org enables the Dependency Graph in its security settings, adopting the gate is a ~5-minute drop-in of the workflow preserved in the roadmap. Not driven from this repo at Low priority.

🤖 Generated with Claude Code

…(roadmap Low)

Works the final P3 roadmap item — "Evaluate CodeQL / dependency-review /
Dependabot given the small dependency surface". Documentation-only decision;
declines all three, each for a distinct verified reason:

- Dependabot: redundant with the already-configured Renovate (renovate.json
  extends the org preset); running both mints duplicate PRs.
- CodeQL: F# is unsupported (can't scan Game.Core/Game.Render); its actions
  mode overlaps the existing SHA-pin + actionlint/shellcheck posture.
- dependency-review: the right control, but BLOCKED on an org-owned
  prerequisite. Built the gate (SHA-pinned dependency-review-action@v5.0.0,
  contents:read, fail-on-severity:high) and it was correct — actionlint green —
  but it fails at runtime: "Dependency graph is not enabled." Verified this is
  org/enterprise-level, not repo-settable: the dependency-graph compare API
  403s, a repo-admin PATCH silently drops the dependency_graph key, and no
  FS-GG repo uses dependency-review. Enabling the Dependency Graph is an FS-GG
  org security-settings decision — the same upstream-owned boundary class this
  roadmap already deferred (the @main reusable workflows, the DO-NOT-EDIT props
  comment). For a Low item on a tiny all-public lockfile-pinned surface already
  under Renovate's vulnerability alerts, driving that org change isn't
  warranted, so it is flagged upstream, not forced here. The ready-to-adopt
  workflow is preserved verbatim in the roadmap for the day the org enables it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@EHotwagner
EHotwagner force-pushed the p3-dependency-review-gate branch from 4169d07 to 8784b1e Compare July 15, 2026 10:43
@EHotwagner EHotwagner changed the title P3: add dependency-review PR gate; decline CodeQL/Dependabot (roadmap Low) P3: evaluate CodeQL/dependency-review/Dependabot — decline all three (roadmap Low) Jul 15, 2026
@EHotwagner
EHotwagner merged commit c1684b6 into main Jul 15, 2026
25 checks passed
@EHotwagner
EHotwagner deleted the p3-dependency-review-gate branch July 15, 2026 10:45
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