# Linter Findings

Stand: 2026-03-22
Tool: `golangci-lint 2.11.3`
Config: Root `.golangci.yml`

Dieses Dokument beschreibt nur die Findings zum Zeitpunkt der ersten Linter-Einfuehrung in dieses Repository.

## Gesamtbild

- `server/backend`: 22 Findings
- `player/agent`: 18 Findings
- Hauptmuster: fehlende Package-/Export-Kommentare (`revive`) und nicht gepruefte `Close()`-Fehler (`errcheck`)

## `server/backend`

### `errcheck`

- `server/backend/internal/httpapi/errors.go`: Rueckgabewert von `r.Body.Close()` wird nicht geprueft

### `revive` - fehlende Package-Kommentare

- `server/backend/cmd/api/main.go`
- `server/backend/internal/app/app.go`
- `server/backend/internal/config/config.go`

### `revive` - fehlende Kommentare fuer exportierte Typen/Funktionen

- `server/backend/internal/app/app.go`: `App`, `New`, `Run`
- `server/backend/internal/campaigns/messagewall/resolver.go`: `Resolve`, `Validate`
- `server/backend/internal/campaigns/messagewall/types.go`: `Layout`, `CoordinateSpace`, `Slot`, `ResolveRequest`, `ResolveResult`, `ResolvedScene`, `Crop`
- `server/backend/internal/config/config.go`: `Config`, `Load`
- `server/backend/internal/httpapi/router.go`: `NewRouter`

### `revive` - ungenutzte Parameter

- `server/backend/internal/httpapi/meta.go`: Parameter `r`
- `server/backend/internal/httpapi/router.go`: Parameter `r` in `GET /healthz`
- `server/backend/internal/httpapi/router.go`: Parameter `r` in `GET /api/v1`

## `player/agent`

### `errcheck`

- `player/agent/internal/statusreporter/reporter.go`: Rueckgabewert von `resp.Body.Close()` wird nicht geprueft

### `revive` - fehlende Package-Kommentare

- `player/agent/cmd/agent/main.go`
- `player/agent/internal/app/app.go`
- `player/agent/internal/config/config.go`

### `revive` - fehlende Kommentare fuer exportierte Typen/Funktionen

- `player/agent/internal/app/app.go`: `Status`, `StatusStarting`-Block, `HealthSnapshot`, `App`, `New`, `Snapshot`, `Run`
- `player/agent/internal/config/config.go`: `Config`, `Load`
- `player/agent/internal/statusreporter/reporter.go`: `Snapshot`, `Reporter`, `New`, `Send`

### `revive` - ungenutzte Parameter

- `player/agent/internal/app/app_test.go`: Parameter `ctx` in `recordingReporter.Send`

## Einordnung

- Die Findings deuten aktuell nicht auf kaputten Build oder fehlschlagende Tests hin.
- Der groesste Teil ist Stil- und API-Sichtbarkeitsthema, nicht Laufzeitlogik.
- Die beiden `errcheck`-Findings sind die naechsten fachlich sinnvollen Fixes.
