Only actions derived from persisted project and catalog evidence are offered. Review-only runs remain ineligible for findings unless every downstream invariant is satisfied.
{feedback &&
Reprocessing {!overview.actions.reprocess.length ? No processed GPO source available.
: overview.actions.reprocess.slice(0, 20).map(action =>
GPO source {shortId(action.artifactId)}
void run(action.id, () => assessorApi.reprocessGpoBackup(projectId, action.artifactId, action.expectedLatestProcessingRunId!), 'GPO reprocessing queued.', 'Starting GPO processing')}>{busyId === action.id ? 'Queuing …' : action.status === 'blocked' ? 'Blocked' : 'Reprocess'}
)}
Snapshot aggregation {!overview.actions.aggregate.length ? Create a profile and process a GPO backup first.
: overview.actions.aggregate.slice(0, 20).map(action =>
{profileById.get(action.environmentProfileId)?.name ?? 'Environment profile'} {action.sourceAnalysisRunIds.length} identity run
void run(action.id, () => assessorApi.aggregatePolicySnapshot(projectId, { environmentProfileId: action.environmentProfileId, sourceAnalysisRunIds: action.sourceAnalysisRunIds }), 'Snapshot aggregation persisted.', 'Calculating snapshot')}>{busyId === action.id ? 'Running …' : actionLabel(action.status)}
)}
Baseline evaluation {!overview.actions.evaluate.length ? No snapshot aggregation available.
: overview.actions.evaluate.slice(0, 20).map(action =>
{profileById.get(action.environmentProfileId)?.name ?? 'Environment profile'} {action.baselineAnalysisIds.length} baseline analysis source{action.baselineAnalysisIds.length === 1 ? '' : 's'}
void run(action.id, () => assessorApi.evaluatePolicy(projectId, { aggregationRunId: action.aggregationRunId, baselineAnalysisIds: action.baselineAnalysisIds }), 'Policy evaluation persisted.', 'Evaluating baseline')}>{busyId === action.id ? 'Running …' : actionLabel(action.status)}
)}
Finding Factory {!overview.actions.createFindings.length ? No policy evaluation available.
: overview.actions.createFindings.slice(0, 20).map(action =>
{action.eligibleResultCount} eligible result{action.eligibleResultCount === 1 ? '' : 's'} {shortId(action.evaluationRunId)}
void run(action.id, () => assessorApi.createPolicyFindingRun(projectId, { evaluationRunId: action.evaluationRunId }), 'Finding Factory run persisted.', 'Creating findings')}>{busyId === action.id ? 'Running …' : actionLabel(action.status)}
)}