@@ -104,7 +104,7 @@ export default function DecisionReplayPage() {
104104 const s = parseInt ( score , 10 ) ;
105105 if ( s >= 70 ) return 'text-error bg-error-subtle border-error/20' ;
106106 if ( s >= 40 ) return 'text-warning bg-warning-subtle border-warning/20' ;
107- return 'text-success bg-green-500 /10 border-green-500/20' ;
107+ return 'text-success bg-status-success /10 border-green-500/20' ;
108108 } ;
109109
110110 // --- Assumption actions ---
@@ -317,7 +317,7 @@ export default function DecisionReplayPage() {
317317 < div className = "space-y-6 relative before:absolute before:left-3 before:top-2 before:bottom-2 before:w-px before:bg-white/5" >
318318 { /* 1. Goal */ }
319319 < div className = "relative flex gap-4 pl-1" >
320- < div className = "z-10 mt-1 h-4 w-4 rounded-full bg-blue-500 border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(59,130,246,0.3)]" />
320+ < div className = "z-10 mt-1 h-4 w-4 rounded-full bg-status-info border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(59,130,246,0.3)]" />
321321 < div >
322322 < div className = "text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1" > Goal Declared</ div >
323323 < div className = "text-sm text-white font-medium" > { action . declared_goal } </ div >
@@ -332,9 +332,9 @@ export default function DecisionReplayPage() {
332332 { /* 2. Policy Evaluation */ }
333333 < div className = "relative flex gap-4 pl-1" >
334334 < div className = { `z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${
335- guardDecision ?. decision === 'allow' ? 'bg-emerald-500 ' :
336- guardDecision ?. decision === 'block' ? 'bg-red-500 ' :
337- guardDecision ?. decision === 'require_approval' ? 'bg-amber-500 ' : 'bg-zinc-500'
335+ guardDecision ?. decision === 'allow' ? 'bg-status-success ' :
336+ guardDecision ?. decision === 'block' ? 'bg-status-error ' :
337+ guardDecision ?. decision === 'require_approval' ? 'bg-status-warning ' : 'bg-zinc-500'
338338 } `} />
339339 < div className = "flex-1" >
340340 < div className = "text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1" > Policy Evaluation</ div >
@@ -366,8 +366,8 @@ export default function DecisionReplayPage() {
366366 { assumptions . length > 0 && (
367367 < div className = "relative flex gap-4 pl-1" >
368368 < div className = { `z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${
369- assumptions . every ( a => a . validated ) ? 'bg-emerald-500 ' :
370- assumptions . some ( a => a . invalidated ) ? 'bg-red-500 ' : 'bg-amber-500 '
369+ assumptions . every ( a => a . validated ) ? 'bg-status-success ' :
370+ assumptions . some ( a => a . invalidated ) ? 'bg-status-error ' : 'bg-status-warning '
371371 } `} />
372372 < div >
373373 < div className = "text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1" > Assumption Check</ div >
@@ -388,7 +388,7 @@ export default function DecisionReplayPage() {
388388 { /* 4. Risk Signals */ }
389389 { trace ?. root_cause_indicators ?. length > 0 && (
390390 < div className = "relative flex gap-4 pl-1" >
391- < div className = "z-10 mt-1 h-4 w-4 rounded-full bg-amber-500 border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(245,158,11,0.3)]" />
391+ < div className = "z-10 mt-1 h-4 w-4 rounded-full bg-status-warning border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(245,158,11,0.3)]" />
392392 < div >
393393 < div className = "text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1" > Risk Signals</ div >
394394 < div className = "space-y-1.5 mt-2" >
@@ -405,7 +405,7 @@ export default function DecisionReplayPage() {
405405
406406 { /* 5. Final Decision */ }
407407 < div className = "relative flex gap-4 pl-1" >
408- < div className = { `z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${ getStatusVariant ( action . status ) === 'success' ? 'bg-emerald-500 ' : 'bg-red-500 ' } ` } />
408+ < div className = { `z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${ getStatusVariant ( action . status ) === 'success' ? 'bg-status-success ' : 'bg-status-error ' } ` } />
409409 < div >
410410 < div className = "text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1" > Final Outcome</ div >
411411 < div className = "flex items-center gap-2" >
@@ -552,7 +552,7 @@ export default function DecisionReplayPage() {
552552 </ div >
553553 ) }
554554 { asm . invalidated_reason && (
555- < div className = "text-xs text-error mt-2 p-2 rounded bg-red-500 /5 border border-error/10" >
555+ < div className = "text-xs text-error mt-2 p-2 rounded bg-status-error /5 border border-error/10" >
556556 < span className = "font-semibold uppercase text-[9px] tracking-wider" > Invalidated Reason:</ span > { asm . invalidated_reason }
557557 </ div >
558558 ) }
@@ -562,7 +562,7 @@ export default function DecisionReplayPage() {
562562 < button
563563 onClick = { ( ) => handleValidateAssumption ( asm . assumption_id ) }
564564 disabled = { isPending }
565- className = "px-3 py-1.5 bg-emerald-500 text-white hover:bg-emerald-600 disabled:opacity-50 text-[11px] rounded font-semibold transition-colors"
565+ className = "px-3 py-1.5 bg-status-success text-white hover:bg-emerald-600 disabled:opacity-50 text-[11px] rounded font-semibold transition-colors"
566566 >
567567 { pendingOps [ asm . assumption_id ] === 'validating' ? 'Validating...' : 'Validate' }
568568 </ button >
@@ -605,7 +605,7 @@ export default function DecisionReplayPage() {
605605 < span className = "text-sm font-bold text-success" > 0.02 (Nominal)</ span >
606606 </ div >
607607 < div className = "h-2 bg-tertiary rounded-full overflow-hidden" >
608- < div className = "h-full bg-emerald-500 " style = { { width : '2%' } } />
608+ < div className = "h-full bg-status-success " style = { { width : '2%' } } />
609609 </ div >
610610 < p className = "text-xs text-tertiary" >
611611 Drift is calculated by comparing actual outcomes against declared intent and verified assumptions. A nominal score indicates high alignment.
@@ -664,7 +664,7 @@ export default function DecisionReplayPage() {
664664 < div className = "flex items-center gap-4" >
665665 < div className = "flex-1 h-12 flex items-end gap-1" >
666666 { [ 20 , 35 , 25 , 60 , 45 , 30 , 80 , 20 , 15 , 25 , 30 , 35 , 40 ] . map ( ( h , i ) => (
667- < div key = { i } className = { `flex-1 rounded-t-sm transition-all ${ i === 6 ? 'bg-amber-500 ' : 'bg-tertiary' } ` } style = { { height : `${ h } %` } } />
667+ < div key = { i } className = { `flex-1 rounded-t-sm transition-all ${ i === 6 ? 'bg-status-warning ' : 'bg-tertiary' } ` } style = { { height : `${ h } %` } } />
668668 ) ) }
669669 </ div >
670670 < div className = "text-right" >
@@ -688,7 +688,7 @@ export default function DecisionReplayPage() {
688688 { parseJsonArray ( action . side_effects ) . length > 0 ? (
689689 < div className = "space-y-2" >
690690 { parseJsonArray ( action . side_effects ) . map ( ( se , i ) => (
691- < div key = { i } className = "flex items-center gap-3 p-3 rounded bg-amber-500 /5 border border-warning/10 text-xs text-amber-200" >
691+ < div key = { i } className = "flex items-center gap-3 p-3 rounded bg-status-warning /5 border border-warning/10 text-xs text-amber-200" >
692692 < AlertTriangle size = { 14 } className = "shrink-0" />
693693 { se }
694694 </ div >
@@ -704,7 +704,7 @@ export default function DecisionReplayPage() {
704704 { parseJsonArray ( action . artifacts_created ) . length > 0 ? (
705705 < div className = "flex flex-wrap gap-2" >
706706 { parseJsonArray ( action . artifacts_created ) . map ( ( a , i ) => (
707- < div key = { i } className = "px-3 py-1.5 rounded bg-blue-500 /5 border border-blue-500/10 text-xs text-info font-mono" >
707+ < div key = { i } className = "px-3 py-1.5 rounded bg-status-info /5 border border-blue-500/10 text-xs text-info font-mono" >
708708 { a }
709709 </ div >
710710 ) ) }
@@ -766,7 +766,7 @@ export default function DecisionReplayPage() {
766766 < div >
767767 < div className = "text-[9px] font-bold text-disabled uppercase tracking-widest mb-1" > Status</ div >
768768 < div className = "flex items-center gap-2" >
769- < div className = { `h-2 w-2 rounded-full ${ action . status === 'completed' ? 'bg-emerald-500 ' : 'bg-red-500 ' } ` } />
769+ < div className = { `h-2 w-2 rounded-full ${ action . status === 'completed' ? 'bg-status-success ' : 'bg-status-error ' } ` } />
770770 < span className = "text-xs font-semibold text-secondary" > { action . status . toUpperCase ( ) } </ span >
771771 </ div >
772772 </ div >
@@ -854,7 +854,7 @@ export default function DecisionReplayPage() {
854854 < button
855855 onClick = { ( ) => handleResolveLoop ( loop . loop_id ) }
856856 disabled = { ! resolveTexts [ loop . loop_id ] ?. trim ( ) || ! ! pendingOps [ loop . loop_id ] }
857- className = "flex-1 px-2 py-1 bg-emerald-500 text-white hover:bg-emerald-600 disabled:opacity-50 text-[10px] rounded font-bold transition-colors"
857+ className = "flex-1 px-2 py-1 bg-status-success text-white hover:bg-emerald-600 disabled:opacity-50 text-[10px] rounded font-bold transition-colors"
858858 >
859859 Resolve
860860 </ button >
0 commit comments