feat(planning): explain and trace planning decisions

This commit is contained in:
nessar committed 2026-08-31 00:02:45 +02:00
1 parent 609b3dece9
commit d7a13b0b1e
24 files changed
+6073 -342

No files matched your search

+97
View File
@@ -109,6 +109,103 @@ export interface AppTranslations {
incomplete: string;
error: string;
complete: string;
whyPlacement: string;
placementNavigation: string;
placement: string;
placements: string;
decision: string;
of: string;
first: string;
previous: string;
next: string;
last: string;
balance: string;
rules: string;
noRules: string;
supporting: string;
yes: string;
no: string;
remaining: string;
timeOffPeriod: string;
firstDecisive: string;
contributions: string;
objectiveVector: string;
finalMetrics: string;
unplacedAtRisk: string;
holidayWeekValue: string;
shortSequenceDeficit: string;
supportingPlacements: string;
preferenceSatisfaction: string;
removedRestoredComparison: string;
fullComparison: string;
comparisonHelp: string;
counterfactual: string;
hypothetical: string;
counterfactualLoading: string;
counterfactualReady: string;
counterfactualError: string;
eligible: string;
ineligible: string;
historical: string;
reason: string;
explanationError: string;
conflictDetails: string;
conflictingRules: string;
bottleneck: string;
incompleteDetails: string;
incumbentExplanation: string;
completedStages: string;
uncompletedStages: string;
none: string;
currentPlacement: string;
outsideHorizon: string;
traceTitle: string;
traceLoading: string;
traceUnavailable: string;
phases: string;
firstPhase: string;
previousPhase: string;
nextPhase: string;
lastPhase: string;
decisions: string;
firstDecision: string;
previousDecision: string;
nextDecision: string;
lastDecision: string;
replay: string;
before: string;
after: string;
finalPlan: string;
dates: string;
candidates: string;
previousCandidates: string;
nextCandidates: string;
page: string;
compareAlternatives: string;
tieBreak: string;
deltas: string;
activations: string;
noDecisions: string;
traceStatuses: {
chosen: string;
'evaluated-rejected': string;
pruned: string;
'not-examined': string;
ineligible: string;
};
tracePhaseStatuses: {
completed: string;
interrupted: string;
'not-run': string;
};
traceChanges: {
added: string;
'moved-from': string;
'moved-to': string;
removed: string;
shared: string;
unchanged: string;
};
};
benchmark: {
title: string;