@if (facade.providerError()) { } @if (facade.loading()) {

{{ 'XP.AgentEvolution.LoadingChanges' | translate }}

} @else if (selection()) { @for (change of resource() ? [resource()!] : []; track change.changeId) { } @if (selection()?.capabilities?.stagedRollout) { @if (release(); as item) {
{{ 'XP.AgentEvolution.TabRelease' | translate }}{{ item.releasePackageId }}

{{ targetName() }} · {{ item.targetVersionId }}

{{ 'XP.AgentEvolution.Status.' + item.status | translate: { Default: item.status } }}

{{ 'XP.AgentEvolution.Candidate' | translate }} {{ item.candidateId }} · {{ 'XP.AgentEvolution.Rollback' | translate }} {{ item.rollbackVersionId }} · {{ 'XP.AgentEvolution.ScopeType.' + item.scope.type | translate: { Default: item.scope.type } }}

@if (primaryAction(); as action) { } @if (item.status === 'active') { }
@for (step of timeline(); track step.label; let last = $last) {
{{ step.label }}
{{ step.detail }}
@if (!last) {
}
}
{{ 'XP.AgentEvolution.CandidateAccuracy' | translate }}
{{ percent(latestAccuracy()) }}
{{ 'XP.AgentEvolution.PersistedObservationsHealthy' | translate }}
{{ 'XP.AgentEvolution.SevereErrors' | translate }}
{{ severeErrors() }}
{{ 'XP.AgentEvolution.ThresholdZero' | translate }}
{{ 'XP.AgentEvolution.TotalRuntimeSamples' | translate }}
{{ totalSamples() }}
{{ 'XP.AgentEvolution.PersistedShadowCanary' | translate }}
{{ 'XP.AgentEvolution.CanaryTraffic' | translate }}
{{ item.canaryPercent }}%
{{ 'XP.AgentEvolution.DeterministicSlice' | translate }}
{{ 'XP.AgentEvolution.PointerRevision' | translate }}
{{ pointer()?.revision ?? '—' }}
{{ 'XP.AgentEvolution.CasProtected' | translate }}
{{ 'XP.AgentEvolution.ReleaseDecision' | translate }}
{{ releaseDecision().label }}
{{ releaseDecision().detail }}
{{ 'XP.AgentEvolution.PersistedRuntimeObservations' | translate }}{{ 'XP.AgentEvolution.RuntimeObservationDescription' | translate }}
{{ runtimeDataSource() }}
{{ 'XP.AgentEvolution.TrafficSlices' | translate }}{{ 'XP.AgentEvolution.TrafficSlicesDescription' | translate }}
{{ 'XP.AgentEvolution.DeploymentCount' | translate: { count: deployments().length } }}
@for (deployment of deployments(); track deployment.deploymentId) { } @empty { }
{{ 'XP.AgentEvolution.Channel' | translate }} {{ 'XP.AgentEvolution.StatusLabel' | translate }} {{ 'XP.AgentEvolution.DataSource' | translate }} {{ 'XP.AgentEvolution.Traffic' | translate }} {{ 'XP.AgentEvolution.Samples' | translate }} {{ 'XP.AgentEvolution.Accuracy' | translate }} {{ 'XP.AgentEvolution.SevereErrors' | translate }} {{ 'XP.AgentEvolution.StartTime' | translate }}
{{ 'XP.AgentEvolution.ChannelType.' + deployment.channel | translate: { Default: deployment.channel } }} {{ 'XP.AgentEvolution.Status.' + deployment.status | translate: { Default: deployment.status } }} {{ deployment.dataSource || '—' }} {{ deployment.canaryPercent }}% {{ deployment.sampleCount }} {{ percent(deployment.candidateAccuracy) }} {{ deployment.severeErrors }} {{ deployment.startedAt | date: 'MM-dd HH:mm:ss' }}
{{ 'XP.AgentEvolution.NoDeployments' | translate }}
{{ 'XP.AgentEvolution.ReleaseDecision' | translate }}{{ 'XP.AgentEvolution.GovernanceEngineRecommendation' | translate }}
{{ releaseDecision().label }}

{{ 'XP.AgentEvolution.ReleaseDecisionObservationSummary' | translate: { detail: releaseDecision().detail, count: runtimePoints().length } }}

{{ 'XP.AgentEvolution.ArtifactHash' | translate }}
{{ shortId(item.artifactHash, 18) }}
{{ 'XP.AgentEvolution.Provider' | translate }}
{{ item.providerKey }}@{{ item.providerVersion }}
{{ 'XP.AgentEvolution.Approvals' | translate }}
{{ item.approvalIds.length }}
{{ 'XP.AgentEvolution.ReleaseGatePolicy' | translate }}
{{ 'XP.AgentEvolution.GateProfile.' + gatePolicy()?.profile | translate }}
{{ 'XP.AgentEvolution.ReleaseGateThresholds' | translate }}

{{ 'XP.AgentEvolution.ShadowGateSummary' | translate : { hours: gatePolicy()?.shadowMinimumDurationHours, samples: gatePolicy()?.shadowMinimumSamples } }}

{{ 'XP.AgentEvolution.CanaryGateSummary' | translate : { hours: gatePolicy()?.canaryMinimumDurationHours, samples: gatePolicy()?.canaryMinimumSamples } }}

@if (gatePolicy()?.profile === 'manual_test') {

{{ 'XP.AgentEvolution.ManualTestGateWarning' | translate }}

}
@if (showManualTestOverride()) {
{{ 'XP.AgentEvolution.CanaryTestOverrideTitle' | translate }} {{ 'XP.AgentEvolution.CanaryTestOverrideSubtitle' | translate }}
{{ 'XP.AgentEvolution.AdministratorOnly' | translate }}
{{ 'XP.AgentEvolution.CanaryTestOverrideWarning' | translate }}
@if (manualTestOverrides().length) {
{{ 'XP.AgentEvolution.CanaryTestOverrideHistory' | translate }}
@for (override of manualTestOverrides().slice(0, 3); track override.overrideId) {
{{ override.subjectKey }} {{ 'XP.AgentEvolution.CanaryTestOverrideStatus.' + override.status | translate: { Default: override.status } }}

{{ override.reason }}

{{ shortId(override.overrideId, 18) }} @if (override.consumedByExecutionId) { {{ 'XP.AgentEvolution.Execution' | translate }} {{ override.consumedByExecutionId }} } @else { {{ 'XP.AgentEvolution.ExpiresAt' | translate }} {{ override.expiresAt | date: 'MM-dd HH:mm:ss' }} }
}
}
} {{ 'XP.AgentEvolution.VersionsAndPointers' | translate }}
{{ 'XP.AgentEvolution.ActiveVersion' | translate }}
{{ pointer()?.activeVersionId || item.targetVersionId }}
{{ 'XP.AgentEvolution.RollbackVersion' | translate }}
{{ pointer()?.rollbackVersionId || item.rollbackVersionId }}
{{ 'XP.AgentEvolution.PointerId' | translate }}{{ shortId(pointer()?.pointerId, 14) }}
{{ 'XP.AgentEvolution.ReleaseEvents' | translate }}{{ 'XP.AgentEvolution.ReleaseEventsDescription' | translate }}
{{ 'XP.AgentEvolution.EventCount' | translate: { count: auditEvents().length } }}
@for (audit of auditEvents(); track audit.auditId) { } @empty { }
{{ 'XP.AgentEvolution.Time' | translate }} {{ 'XP.AgentEvolution.Action' | translate }} {{ 'XP.AgentEvolution.Summary' | translate }} {{ 'XP.AgentEvolution.Actor' | translate }} {{ 'XP.AgentEvolution.AuditId' | translate }}
{{ audit.occurredAt | date: 'yyyy-MM-dd HH:mm:ss' }} {{ 'XP.AgentEvolution.AuditAction.' + audit.action | translate: { Default: audit.action } }} {{ auditSummary(audit) }}
{{ audit.actorId }}
{{ audit.actorRole }}
{{ audit.auditId }}
{{ 'XP.AgentEvolution.NoAuditEvents' | translate }}
{{ 'XP.AgentEvolution.Release' | translate }} {{ item.releasePackageId }}{{ 'XP.AgentEvolution.Evaluation' | translate }} {{ item.evaluationRunId }}{{ 'XP.AgentEvolution.Scope' | translate }} {{ 'XP.AgentEvolution.ScopeType.' + item.scope.type | translate: { Default: item.scope.type } }} / {{ item.scope.key }}{{ 'XP.AgentEvolution.RollbackTarget' | translate }} {{ item.rollbackVersionId }}
} @else {

{{ 'XP.AgentEvolution.NoReleaseRuns' | translate }}

{{ 'XP.AgentEvolution.NoReleaseDescription' | translate }}

} } } @else {

{{ 'XP.AgentEvolution.NoChanges' | translate }}

}