Syntax for $value['msg'] in alert template

I seem to be looping through the faults, but it only outputs the value[‘string’] and not the value[‘msg’]

Can you see anything wrong here?

Rule:

Template:

@if ($alert->state == 1)
<b>Timestamp: </b> {{ $alert->timestamp }} </br>
@else
<b> Duration: </b> {{ $alert->elapsed }} </br>
@endif

Rule: @if ($alert->name) {{ $alert->name }} @else {{ $alert->rule }} @endif </br>

@if ($alert->faults)
@foreach ($alert->faults as $key => $value) 
{{ $value['string'] }} {{ $value['msg'] }}
@endforeach 

@endif

Result:

Software changed on x.x.x.x
Timestamp:  2018-11-06 03:21:41 
Rule:  Software Update Two
 
sysObjectID = .1.3.6.1.4.1.9.1.1286; sysDescr = Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch  Software (cat4500es8-UNIVERSALK9-M), Version x.x.x RELEASE SOFTWARE (fc4)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2018 by Cisco Systems, Inc.
Compiled Thu; event_id = 28329682;

I believe the value[‘msg’] just used to pull out the eventlog line related to OS Version:
OS Version -> x.x.x RELEASE SOFTWARE

If i try to just use {{ $value['msg'] }} it is blank.

Many Thanks