Skip to content

feat(ai-209): add model rollback and safe rollout controls for appeal automation#3

Open
khaadish wants to merge 4 commits into
mainfrom
feat/ai-209-rollout-controls
Open

feat(ai-209): add model rollback and safe rollout controls for appeal automation#3
khaadish wants to merge 4 commits into
mainfrom
feat/ai-209-rollout-controls

Conversation

@khaadish

Copy link
Copy Markdown
Owner

Summary

Introduces guarded rollout modes (pinned → canary → full) so AI behaviour can be promoted incrementally and rolled back instantly if fairness or quality metrics drift.

Changes

  • ModelRolloutService — in-process rollout controller in appeal-decisions module
    • Three modes: pinned (stable only), canary (% split), full (all traffic)
    • rollback() restores previous RolloutConfig in one call
    • Deterministic per-request bucketing for consistent canary assignment
    • Structured rollout_config_updated / rollout_rolled_back log events
  • RolloutConfig, RolloutResolution, ModelRolloutState types in @devconsole/api-contracts
  • Operator runbook in docs/ai-209-rollout-controls.md

Acceptance Criteria

  • Explicit inputs (setRollout, resolveModel) and outputs (RolloutResolution.reason, ModelRolloutState) — no hidden routing
  • canaryPercent and mode are measurable and tunable at runtime
  • Single-call rollback() with preserved previous config for operator override

Closes Ibinola#426

khaadish and others added 4 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
…ation

feat(ai-206): add policy-aware score calibration for AI appeal outputs
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-209] Add model rollback and safe rollout controls for appeal automation

2 participants