From 36afbadc012f3b952ed146615dd01a181051a6b5 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Mon, 11 May 2026 23:22:41 +0200 Subject: [PATCH] fix(mc-browser): add all missing field fallbacks for ControlDetail tags, generation_metadata, source_citation, verification_method, evidence_type, similar_controls, source_original_text, parent_control_uuid Co-Authored-By: Claude Opus 4.6 (1M context) --- .../app/sdk/master-controls/page.tsx | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/admin-compliance/app/sdk/master-controls/page.tsx b/admin-compliance/app/sdk/master-controls/page.tsx index a2a593f..9de2d64 100644 --- a/admin-compliance/app/sdk/master-controls/page.tsx +++ b/admin-compliance/app/sdk/master-controls/page.tsx @@ -37,16 +37,28 @@ export default function MasterControlsPage() { // DETAIL mode — add fallback fields that ControlDetail expects if (state.mode === 'detail' && state.selectedControl) { + const c = state.selectedControl const safeCtrl = { - ...state.selectedControl, - scope: state.selectedControl.scope || { platforms: [], components: [], data_classes: [] }, - target_audience: state.selectedControl.target_audience || [], - requirements: state.selectedControl.requirements || [], - test_procedure: state.selectedControl.test_procedure || [], - evidence: state.selectedControl.evidence || [], - open_anchors: state.selectedControl.open_anchors || [], - risk_score: state.selectedControl.risk_score || null, - implementation_effort: state.selectedControl.implementation_effort || null, + ...c, + scope: c.scope || { platforms: [], components: [], data_classes: [] }, + target_audience: c.target_audience || [], + requirements: c.requirements || [], + test_procedure: c.test_procedure || [], + evidence: c.evidence || [], + open_anchors: c.open_anchors || [], + tags: c.tags || [], + risk_score: c.risk_score ?? null, + implementation_effort: c.implementation_effort ?? null, + generation_metadata: c.generation_metadata || null, + source_citation: c.source_citation || null, + source_original_text: c.source_original_text || '', + verification_method: c.verification_method || null, + evidence_type: c.evidence_type || null, + release_state: c.release_state || 'active', + category: c.category || 'master_control', + severity: c.severity || 'medium', + parent_control_uuid: c.parent_control_uuid || null, + similar_controls: c.similar_controls || [], } return (