Governor risk-sized autonomy for GitLab Duo agents

Every change an agent makes gets autonomy sized to its risk: low-risk changes ship on their own, risky ones get fewer privileges and more verification.

T0 docs T1 low T2 elevated T3 high (restricted agent, dark launch) T4 refused

Hash chain verified: 230 entries

[demo] injected regression

T3promoted with unverified flag, then made safe

commit 592fb22d · 12 Oct 15:39:06 to 12 Oct 16:16:15 (37 min 10 s) · 9 ledger entries · raw JSON

Run timeline

Issue

skipped

Triage

skipped

Delivery

skipped

Pipeline

15:39:06

Canary

15:39:08
20 min 01 s

Promoted

15:59:09
Safety action 16:16:15

Close

not reached

GitLab DevSecOps stages this run touched

Tier and evidence

Tier T3, 1 points. A signal's floor sets a minimum tier; points add to it. No LLM is in this decision.

SignalDetailPointsFloor
auth_or_secretsapp/users.py0T3
touched_line_coverageunknown, +1 (no coverage data yet, so the scorer assumes worse)1

Human actions

Safety action · 12 Oct 16:16:15 · L92-8fc4653deba3
Actor: arnavgupta2004. Executed by: Claude Code session on the owner's machine, at the owner's instruction.
Gate 4 run 2 promoted the [demo] injected regression (592fb22d) to 100% while the app could not read flags (it saw t3_dark_launch as off). The flag was still on in GitLab, so a working flag read would have failed about half of production logins. Turned off until the revert ships.

Ledger entries

TimeEntryKindWhat happened
Pipeline
15:39:06L84-94fe5a730c7btier_computedtier T3 (1 points, scorer v1)
Canary
15:39:08L85-1ed75a41f373flag_onfeature flag t3_dark_launch turned on
15:39:08L86-ce5a0a2b7245traffic_shift1% of traffic to app-00048-rug, soak 20 min
15:59:09L87-74abba9187d1slo_checkSLO ok: 200 samples, 0 errors, p95 55.7 ms at 1%
Promote / roll back
15:59:09L88-6fe1418886aftraffic_shift100% of traffic to app-00048-rug
15:59:10L89-a1ccf7a37bb8slo_checkSLO insufficient: 10 samples, 0 errors, p95 37.7 ms at 100%
15:59:10L90-029b2f02ef81promotedapp-00048-rug promoted to 100% (flag on)
15:59:10L91-d8b44a3c24e4release_outcomerelease outcome: clean_release
Human action
16:16:15L92-8fc4653deba3safety_actionarnavgupta2004: Gate 4 run 2 promoted the [demo] injected regression (592fb22d) to 100% while the app could not read flags (it saw t3_dark_launch as off). The flag was still on in GitLab, so a working flag read would have failed about half of production logins. Turned off until the revert ships.