def augmentCrlStatus(msg):
    """Augment CRL message with status of ``COMPLETE`` or ``INCOMPLETE``.

    Check the CRL message for completeness.
    Will add a ``status`` field to the message with a value of 
    ``COMPLETE`` or ``INCOMPLETE``.

    ``COMPLETE`` messages meet the following criteria:

    - Doesn't have an overflow (i.e. has more the 138 reports).
    - Has no reports.
    - All reports are in the database (including both text and graphics if
      indicated).

    Args:
        msg (dict): CRL message dictionary to be augmented.

    Returns:
        dict: ``msg`` dictionary with new ``status`` field indicating
        completeness.
    """
    reports = msg['reports']

    # A no document report is a complete report.
    if len(reports) == 0:
        msg['status'] = 'COMPLETE'
        return msg

    # An overflow CRL is also incomplete
    if ('overflow' in msg) and (msg['overflow'] == 1):
        msg['status'] = 'INCOMPLETE'
        return msg
        
    for reportNumber in reports:
        if not ('*' in reportNumber):
            msg['status'] = 'INCOMPLETE'
            return msg
        
    msg['status'] = 'COMPLETE'
    return msg