Skip to content

feat(ai-210): detect coordinated abuse patterns across contributors, issues, and appeals#4

Open
khaadish wants to merge 7 commits into
mainfrom
feat/ai-210-coordinated-abuse
Open

feat(ai-210): detect coordinated abuse patterns across contributors, issues, and appeals#4
khaadish wants to merge 7 commits into
mainfrom
feat/ai-210-coordinated-abuse

Conversation

@khaadish

Copy link
Copy Markdown
Owner

Summary

AI-assisted anomaly detection that helps operators spot coordinated rule-breaking, contributor farming, and suspicious appeal clusters — without automated punishment.

Changes

  • CoordinatedAbuseDetectionService — batch event analyser in the wave module
    • Detects 4 pattern kinds: VELOCITY_CLUSTER, APPEAL_FLOODING, ISSUE_FARMING, SHARED_METADATA
    • Returns CoordinatedAbuseReport with patterns[], overallRisk, requiresHumanReview
    • requiresHumanReview=true for any risk above low — no automated punishment path
    • Internal _signalStrength drives risk level but is stripped from public API types
    • All thresholds in AbuseDetectionPolicy — tunable without code changes
    • Structured coordinated_abuse_flagged WARN log for operator pipelines
  • Public contract types in @devconsole/api-contracts
  • Operator guide in docs/ai-210-coordinated-abuse-detection.md

Acceptance Criteria

  • Explicit inputs (AbuseEvent[], AbuseDetectionPolicy) and outputs (DetectedPattern[], overallRisk) — no hidden heuristics
  • All thresholds in AbuseDetectionPolicy — measurable and safe to tune over time
  • requiresHumanReview is the only action gate; service never applies consequences directly

Closes Ibinola#427

khaadish and others added 7 commits June 24, 2026 11:49
- ScoreCalibrationService decouples raw model confidence from policy thresholds
- CalibrationPolicy exposes approveThreshold, rejectThreshold, humanReviewThreshold, biasCorrectionFactor
- needsHumanReview=true whenever confidence < humanReviewThreshold (explicit review boundary)
- appliedPolicy + rawScore preserved in every output for audit/replay
- Corresponding types exported from @devconsole/api-contracts
- Spec covers approve/escalate/reject bands, bias correction, clamping, and traceability

Closes Ibinola#423
… automation

- ModelRolloutService supports pinned / canary / full rollout modes
- rollback() restores previous RolloutConfig instantly (single-level undo)
- resolveModel() is deterministic per requestId for consistent canary bucketing
- setRollout / rollback emit structured log events for operator audit
- RolloutConfig/RolloutResolution/ModelRolloutState types in @devconsole/api-contracts
- Spec covers all three modes, determinism, rollback, and no-op safety

Closes Ibinola#426
…issues, and appeals

- CoordinatedAbuseDetectionService analyses batches of AbuseEvents for 4 pattern kinds
- VELOCITY_CLUSTER, APPEAL_FLOODING, ISSUE_FARMING, SHARED_METADATA detectors
- overallRisk and requiresHumanReview computed from _signalStrength (never automated punishment)
- All thresholds in AbuseDetectionPolicy — tunable without code changes
- _signalStrength internal; stripped from public API contract types
- Structured coordinated_abuse_flagged log for operator pipelines
- Spec covers all detectors, clean-events baseline, and immutability

Closes Ibinola#427
…ation

feat(ai-206): add policy-aware score calibration for AI appeal outputs
…rols

feat(ai-209): add model rollback and safe rollout controls for appeal automation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[AI-210] Detect coordinated abuse patterns across contributors, issues, and appeals

2 participants