Files
KArtSell.Aegis/docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/backend/Shared/Experiments/KbxExperimentGuardrailJob.cs
T
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

12 lines
617 B
C#

namespace Kbx.Shared.Experiments;
// Schedule hourly at most. This is an operational safety net, not a statistical significance engine.
public sealed class KbxExperimentGuardrailJob(KbxExperimentOverviewQuery query,KbxExperimentRuntimeStore store)
{
public async Task ExecuteAsync(Guid tenantId,CancellationToken ct)
{
var overview=await query.ExecuteAsync(tenantId,ct);
foreach(var item in overview.Items.Where(x=>x.State=="running"&&x.Decision=="guardrail-breach"))
await store.RollbackAsync(tenantId,Guid.Empty,item.ExperimentId,"automatic guardrail rollback",null,ct);
}
}