hydraissue stores a venue per issue but cannot filter by it.
The write path exists:
SessionContext.Venue (internal/store/issue.go:116), set through session on POST /api/v1/issues and through the venue form field on POST /report (internal/api/handlers_web.go:160).IssueSummary.Venue (internal/store/issue.go:158), populated from issue.Session.Venue into the index (internal/store/store.go:590-601).The read path does not:
Store.List(status, category, project, activeOnly) has no venue argument.apiListIssues (internal/api/handlers_issues.go:87) exposes only status, category, project, active_only and stage.So the data is there and unreachable.
venue argument to Store.List and a ?venue= query parameter to GET /api/v1/issues.updateIssueRequest (internal/api/handlers_issues.go:24) has no session field, so an existing issue's venue cannot be set through the API. Every issue that predates this has no venue and will never appear in a venue feed. Add session to the update request, or add a dedicated PATCH /api/v1/issues/{id}/venue.
Then backfill. As of today only 51 issues carry a venue, spread over inconsistent values: Rupelmonde and rupelmonde, Gallo-Romeins against the hydravenues id gallo-romeins-museum, and cloud-seven / nerdland as a single string. Normalize to the hydravenues venue id, and consider validating the value against the hydravenues venue list at write time.
cloud-seven / nerdland also shows that one issue can belong to two venues. Decide whether venue stays a single string or becomes a list before backfilling.
Blocks the venue-scoped issue feed in hydravenues, which is the thing that lets a venue contact see their own issues instead of mailing us a document. See the Cloud Seven master tracker.