The isRowProducer comment now says it matches method names only and
names the evasion that follows: a repo-local Row or QueryRow helper
returning *gorm.DB gets past it. unguardedScans states method values
(f := db.Scan) as out of scope, with the reason. The 40-file floor is
replaced by a check that every directory under cmd and internal was
walked, so skipping a whole package fails the test. The planted
snippets now cover the struct-field receiver and are all valid Go
inside a wrapper that declares the names they use; the Rows snippet
that could not compile is replaced by the variable form the guard
reports. The stale "one caller" sentence is dropped.
Model: opus-5-5