In recordAsyncAnalytics, wasCorrect := allowed || requiresReview assumes every allow/review decision was correct. This collapses "reputation" into 1 − deny-rate, duplicating actorStats and providing no independent signal.
Location: engine/internal/server/server.go:732.
Fix: Derive correctness from a real outcome signal (e.g. human-review verdicts, post-hoc reversals) rather than the decision itself.
In
recordAsyncAnalytics,wasCorrect := allowed || requiresReviewassumes every allow/review decision was correct. This collapses "reputation" into1 − deny-rate, duplicatingactorStatsand providing no independent signal.Location:
engine/internal/server/server.go:732.Fix: Derive correctness from a real outcome signal (e.g. human-review verdicts, post-hoc reversals) rather than the decision itself.