' . esc_html( $guide['title'] ) . '
'; echo '' . esc_html( FindingGuide::text( $finding['location'] ?? null, __( 'Location not recorded', 'shieldlume-security' ), 500 ) ) . '
'; echo '' . esc_html( $guide['explanation'] ) . '
' . esc_html__( 'Next step', 'shieldlume-security' ) . '
' . esc_html( $guide['next'] ) . '
' . esc_html__( 'Review available actions', 'shieldlume-security' ) . '' . esc_html__( 'Review the recorded evidence before approving changes.', 'shieldlume-security' ) . '
' . esc_html__( 'Why this matters', 'shieldlume-security' ) . '
' . esc_html( $guide['why'] ) . '
' . esc_html__( 'Limits of this check', 'shieldlume-security' ) . '
- ';
foreach ( array_slice( $limitations, 0, 20 ) as $limitation ) {
$text = FindingGuide::text( $limitation );
if ( '' !== $text ) { echo '
- ' . esc_html( $text ) . ' '; } } echo '
' . esc_html__( 'Recorded observation', 'shieldlume-security' ) . '
' . esc_html( FindingGuide::text( $finding['reason'] ?? null, __( 'No observation text is recorded. Review the original record before taking action.', 'shieldlume-security' ) ) ) . '
- ';
$source = is_array( $finding['source'] ?? null ) ? $finding['source'] : array();
self::fact( __( 'Source', 'shieldlume-security' ), FindingGuide::text( $source['provider'] ?? null, __( 'Source provider not recorded', 'shieldlume-security' ) ) );
self::fact( __( 'How the source supports this finding', 'shieldlume-security' ), FindingGuide::text( $source['provenance'] ?? null, __( 'See the full source record; no brief provenance is recorded.', 'shieldlume-security' ) ) );
self::fact( __( 'Detector / version', 'shieldlume-security' ), FindingGuide::text( $finding['detector_id'] ?? null, __( 'Not recorded', 'shieldlume-security' ), 300 ) . ' / ' . FindingGuide::text( $finding['detector_version'] ?? null, __( 'Not recorded', 'shieldlume-security' ), 100 ) );
self::fact( __( 'Component version', 'shieldlume-security' ), FindingGuide::text( $finding['component_version'] ?? null, __( 'Not recorded', 'shieldlume-security' ), 100 ) );
$freshness = is_array( $finding['rule_freshness'] ?? null ) ? $finding['rule_freshness'] : array();
if ( isset( $freshness['status'] ) ) { self::fact( __( 'Recorded rule freshness', 'shieldlume-security' ), FindingGuide::text( $freshness['status'], __( 'Not recorded', 'shieldlume-security' ), 100 ) ); }
self::fact( __( 'Finding ID', 'shieldlume-security' ), $id );
echo '
' . esc_html__( 'Open complete recorded evidence', 'shieldlume-security' ) . '
'; $advisory = FindingGuide::text( $source['advisory_url'] ?? null ); if ( preg_match( '~^https://[^\s]+$~D', $advisory ) ) { echo '' . esc_html__( 'Read source advisory (external site)', 'shieldlume-security' ) . '
'; } echo ''; echo '