~bigbes/sr-ht-spec · parade

main · last commit 18 hours ago · 8tmadfpi

← Back to the parade

spec-0m2 Bump gqlparser/gqlgen in specs past the GO-2024-2920 floor and fix broken codegen Lined Up

status: open P0 bug
bd update spec-0m2 --claim bd close spec-0m2
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-17T20:40:04Z
Updated2026-08-17T20:40:04Z
Description
What is wrong: `sourcehut-specs/go.mod` pins `github.com/vektah/gqlparser/v2 v2.5.8` + `github.com/99designs/gqlgen v0.17.36`, and `sourcehut-specs/graph/generate.go`'s `go:generate` directive is unpinned (`go run github.com/99designs/gqlgen generate`). Two failure modes on one pin: gqlparser v2.5.8 is below the GO-2024-2920 floor (a DoS in `parseDirectives`, fixed in v2.5.14); and gqlgen v0.17.36 itself pins `golang.org/x/tools v0.9.3`, which does not compile under this toolchain, so `go generate ./graph` in specs is broken outright — specs' own comment records the cause.

Why it matters: specs' `/query` parses only after `graph/server.go::resolveCaller`/`::gate`, so this is not the fully unauthenticated shape the advisory describes — that's the mitigation. But codegen being broken means specs cannot regenerate its own GraphQL resolvers when the schema changes.

Sibling that does it correctly: `sourcehut-artifacts`, `sourcehut-bench`, `sourcehut-coverage`, `sourcehut-curator`, `sourcehut-dolt` (and `thistle`, `sr-ht-api`, `sourcehut-federation`) are all on `gqlparser v2.5.36` + `gqlgen v0.17.94`.

Fix: bump `sr-ht-core` and `sr-ht-ecore` first (they are libraries and set the floor for every consumer, tracked as separate issues in those repos), then in specs: `go get github.com/vektah/gqlparser/v2@v2.5.36 github.com/99designs/gqlgen@v0.17.94`; pin the `go:generate` line in `graph/generate.go` to `@v0.17.94` like the other five services.

Note: confidence verified — go.mod version strings were read directly across all nine services plus core/ecore, split exactly 5/5.

Audit: D06 (cross-repo audit, 2026-08-17)

Depends on

No outgoing dependencies.

Depended on by

Nothing depends on this issue.

No comments.

  • Eugene Blikh created the issue · 2026-08-17T23:40:04Z
Stored rows — what this pane was built from, as read
issues 1 row
id spec-0m2
content_hash 85310dd4858ac34216534b3cb2e7c029a0a7107d1a63c1dc37492e9eac29913d
title Bump gqlparser/gqlgen in specs past the GO-2024-2920 floor and fix broken codegen
description What is wrong: `sourcehut-specs/go.mod` pins `github.com/vektah/gqlparser/v2 v2.5.8` + `github.com/99designs/gqlgen v0.17.36`, and `sourcehut-specs/graph/generate.go`'s `go:generate` directive is unpinned (`go run github.com/99designs/gqlgen generate`). Two failure modes on one pin: gqlparser v2.5.8 is below the GO-2024-2920 floor (a DoS in `parseDirectives`, fixed in v2.5.14); and gqlgen v0.17.36 itself pins `golang.org/x/tools v0.9.3`, which does not compile under this toolchain, so `go generate ./graph` in specs is broken outright — specs' own comment records the cause. Why it matters: specs' `/query` parses only after `graph/server.go::resolveCaller`/`::gate`, so this is not the fully unauthenticated shape the advisory describes — that's the mitigation. But codegen being broken means specs cannot regenerate its own GraphQL resolvers when the schema changes. Sibling that does it correctly: `sourcehut-artifacts`, `sourcehut-bench`, `sourcehut-coverage`, `sourcehut-curator`, `sourcehut-dolt` (and `thistle`, `sr-ht-api`, `sourcehut-federation`) are all on `gqlparser v2.5.36` + `gqlgen v0.17.94`. Fix: bump `sr-ht-core` and `sr-ht-ecore` first (they are libraries and set the floor for every consumer, tracked as separate issues in those repos), then in specs: `go get github.com/vektah/gqlparser/v2@v2.5.36 github.com/99designs/gqlgen@v0.17.94`; pin the `go:generate` line in `graph/generate.go` to `@v0.17.94` like the other five services. Note: confidence verified — go.mod version strings were read directly across all nine services plus core/ecore, split exactly 5/5. Audit: D06 (cross-repo audit, 2026-08-17)
design
acceptance_criteria
notes
status open
priority 0
issue_type bug
assignee NULL
estimated_minutes NULL
created_at 2026-08-17T20:40:04Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-17T20:40:04Z
closed_at NULL
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at NULL
is_blocked 0
events 1 row
id 01a01173-e993-74e9-9e13-1cc36d2ddd2d
issue_id spec-0m2
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-17T23:40:04Z