<commit_before>description: |
    The assessment object contains the general cataloguing information we have on an assessment, and includes both a set of links to documents that further describe the assessment and its use, as well as a configuration object for client applications. An assessment can be defined in an app context, or it can be shared in our shared assessment libary. Assessments are globally visible to all study authors in an app context, but are owned by a specific organization, and only members of that organization can edit the assessment. When shared, the configuration for an assessment is immutable and there are no APIs to update it.
type: object
required:
    - identifier
    - revision
    - title
    - osName
properties:
    guid:
        type: string
        description: |
            Each assessment revision is assigned a unique GUID which can be used to retrieve it through the API. Assessments will also have a unique combination of an identifier and a revision, and can be retrieved as a set of revisions under a given identifier.
        x-nullable: false
    identifier:
        type: string
        description: |
            A human-readable identifier for an assessment, which can have one or more revisions.
        x-nullable: false
    revision:
        type: integer
        format: int64        
        default: 1
        x-nullable: false
    ownerId:
        type: string
        description: |
          The ID of the organization that owns this assessment. Only members of that organization will be able to edit the assessment, either in an app context or in the shared assessment library.
    title:
        type: string
        x-nullable: false
    summary:
        type: string
    osName:
        type: string
        description: |
            The name of the operating system (conventional names are "Android" and "iPhone OS").
        x-nullable: false
    originGuid:
        type: string
        description: |
            If this assessment was copied from a shared assessment, this will be the GUID of the shared assessment revision that was used to make this copy. Certain aspects of the assessment (notably, the assessment's configuration) are guaranteed to be identical to this origin assessment.
    validationStatus:
        type: string
    normingStatus:
        type: string
    categories:
        type: array
        description: The assessment's categories in a catalog
        items:
            type: string
    tags:
        type: array
        description: A set of tags that apply to this assessment
        items:
            type: string
    customizationFields:
        type: object
        description: |
            A map of AssessmentNode GUIDs to a set of field identifiers in that node that can be customized by developers without invalidating an assessment (the assessment will maintain its link to the shared assessment it was derived from, if any, and the authors of the assessment are confident that these changes to the configuration will not invalidate the scientific validity of the assessment). This specification guides validation of submissions to update an AssessmentNode through a specific customization API.
        additionalProperties:
            type: array
            items:
                type: string
    createdOn:
        type: string
        format: date-time<commit_msg>Updates based on code review (ownerId is required and never null)<commit_after>description: |
    The assessment object contains the general cataloguing information we have on an assessment, and includes both a set of links to documents that further describe the assessment and its use, as well as a configuration object for client applications. An assessment can be defined in an app context, or it can be shared in our shared assessment libary. Assessments are globally visible to all study authors in an app context, but are owned by a specific organization, and only members of that organization can edit the assessment. When shared, the configuration for an assessment is immutable and there are no APIs to update it.
type: object
required:
    - identifier
    - ownerId
    - revision
    - title
    - osName
properties:
    guid:
        type: string
        description: |
            Each assessment revision is assigned a unique GUID which can be used to retrieve it through the API. Assessments will also have a unique combination of an identifier and a revision, and can be retrieved as a set of revisions under a given identifier.
        x-nullable: false
    identifier:
        type: string
        description: |
            A human-readable identifier for an assessment, which can have one or more revisions.
        x-nullable: false
    revision:
        type: integer
        format: int64        
        default: 1
        x-nullable: false
    ownerId:
        type: string
        description: |
          The ID of the organization that owns this assessment. Only members of that organization will be able to edit the assessment, either in an app context or in the shared assessment library.
        x-nullable: false
    title:
        type: string
        x-nullable: false
    summary:
        type: string
    osName:
        type: string
        description: |
            The name of the operating system (conventional names are "Android" and "iPhone OS").
        x-nullable: false
    originGuid:
        type: string
        description: |
            If this assessment was copied from a shared assessment, this will be the GUID of the shared assessment revision that was used to make this copy. Certain aspects of the assessment (notably, the assessment's configuration) are guaranteed to be identical to this origin assessment.
    validationStatus:
        type: string
    normingStatus:
        type: string
    tags:
        type: array
        description: A set of tags that apply to this assessment. Tags should be namespaced with a prefix followed by a period (e.g. "category.neurodegenerative"), as the tag API will give you these tags in a map keyed from the prefix to a list of the values under that prefix.
        items:
            type: string
    customizationFields:
        type: object
        description: |
            A map of AssessmentNode GUIDs to a set of field identifiers in that node that can be customized by developers without invalidating an assessment (the assessment will maintain its link to the shared assessment it was derived from, if any, and the authors of the assessment are confident that these changes to the configuration will not invalidate the scientific validity of the assessment). This specification guides validation of submissions to update an AssessmentNode through a specific customization API.
        additionalProperties:
            type: array
            items:
                type: string
    createdOn:
        type: string
        format: date-time
{'fraction_non_alphanumeric': 0.03475126171593367, 'fraction_numerical': 0.0008651766402307138, 'mean_word_length': 2.6257187663355985, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1457883', 'n_tokens_mistral': 1527, 'n_tokens_neox': 1493, 'n_words': 897}