Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions src/apps/tracker-web/src/components/gate/GatePolicyEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,9 @@ const EditPolicyBody: React.FC<{
</div>
</div>

{/* Required evidence editor */}
{/* Required evidence editor — hidden at intake: opportunities have no
deliverable/evidence restrictions; intake is a promotion gate (T-036 §2.2). */}
{phase !== 'intake' && (
<div style={{ marginBottom: 16 }}>
<label style={{ fontSize: 12, color: 'var(--ink-3)', fontWeight: 600, display: 'inline-flex', alignItems: 'center', gap: 1 }}>
{t('Required evidence', 'Evidencia requerida')}
Expand Down Expand Up @@ -338,6 +340,7 @@ const EditPolicyBody: React.FC<{
</div>
)}
</div>
)}

{/* Approval policy */}
<div style={{ marginBottom: 12 }}>
Expand Down Expand Up @@ -550,9 +553,20 @@ const EditPolicyBody: React.FC<{
</div>
))}
</div>
<Button size="sm" icon="add" onClick={addCriterion}>
{t('Add criterion', 'Agregar criterio')}
</Button>
{phase !== 'intake' && phaseArtifacts.length === 0 ? (
<p style={{ fontSize: 11.5, color: 'var(--ink-3)', margin: '2px 2px 0' }}>
{profiles.isLoading
? t('Loading Core artifacts…', 'Cargando artefactos del Core…')
: t(
'Evolith Core defines no artifacts for this phase — no gate criteria can be added here (ADR T-036).',
'Evolith Core no define artefactos para esta fase — no se pueden agregar criterios de gate aquí (ADR T-036).',
)}
</p>
) : (
<Button size="sm" icon="add" onClick={addCriterion}>
{t('Add criterion', 'Agregar criterio')}
</Button>
)}
</div>

{/* Core verdict toggle */}
Expand Down
Loading