diff --git a/public/js/admin/media-triage.js b/public/js/admin/media-triage.js
index 0e57fa6f..0feed5d4 100644
--- a/public/js/admin/media-triage.js
+++ b/public/js/admin/media-triage.js
@@ -432,6 +432,76 @@ async function showInquiryDetails(inquiryId) {
`;
}
+ // Cultural Sensitivity Check (Phase 1: inst_081 pluralism)
+ if (currentInquiry.response?.cultural_sensitivity) {
+ const cultural = currentInquiry.response.cultural_sensitivity;
+ const riskColors = {
+ 'LOW': { bg: 'green', text: 'green' },
+ 'MEDIUM': { bg: 'yellow', text: 'yellow' },
+ 'HIGH': { bg: 'red', text: 'red' }
+ };
+ const colors = riskColors[cultural.risk_level] || riskColors['LOW'];
+
+ html += `
+
+
+
🌍 Cultural Sensitivity Analysis
+
+
+
+
+ ${cultural.risk_level === 'HIGH' ? '⚠️ ' : cultural.risk_level === 'MEDIUM' ? '⚡ ' : '✓ '}Risk Level: ${cultural.risk_level}
+
+
+ Recommended Action: ${cultural.recommended_action}
+
+ ${cultural.risk_level === 'HIGH' ? `
+
+ 🚨 Human review recommended before sending (inst_081 pluralism)
+
+ ` : ''}
+
+
+ ${cultural.concerns?.length > 0 ? `
+
+
+
Cultural Concerns (${cultural.concerns.length}):
+
+ ${cultural.concerns.map(concern => `
+ -
+ ${concern.type.replace(/_/g, ' ')}: ${escapeHtml(concern.detail)}
+ ${concern.audience_context ? `
Context: ${escapeHtml(concern.audience_context)}` : ''}
+
+ `).join('')}
+
+
+ ` : ''}
+
+ ${cultural.suggestions?.length > 0 ? `
+
+
+
Suggested Adaptations (${cultural.suggestions.length}):
+
+ ${cultural.suggestions.map(suggestion => `
+ - ${escapeHtml(suggestion.suggestion || suggestion)}
+ `).join('')}
+
+
+ ` : ''}
+
+
+
+ Framework: PluralisticDeliberationOrchestrator (inst_081) |
+ Checked: ${new Date(cultural.checked_at).toLocaleString()}
+
+
+ Note: AI flags cultural concerns but never blocks. Human decides final approach.
+
+
+
+ `;
+ }
+
content.innerHTML = html;
// Update modal buttons visibility