<commit_before>syntax = "proto3";

package spine.core;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_package = "io.spine.core";
option java_outer_classname = "DiagnosticsProto";
option java_multiple_files = true;

import "google/protobuf/any.proto";

import "spine/core/actor_context.proto";
import "spine/core/version.proto";

// An identifier of a domain message, such as a signal, or an entity state.
message MessageId {
    option (is).java_type = "io.spine.core.MessageIdMixin";

    // The ID of the message.
    //
    // If the message is a signal (an event of a command), `id` has the value of the signal ID (an
    // `EventId` or a `CommandId`).
    //
    // If the message is an entity state, `id` had the value of the entity identifier.
    //
    google.protobuf.Any id = 1 [(required) = true, (validate) = true];

    // The type of the message.
    string type_url = 2 [(required) = true];

    // The version associated with this message.
    //
    // If the message is an entity state, this is the version of the entity. If the message is
    // an event, this is the `EventContext.version`. If the message is a command, the version is
    // absent.
    //
    core.Version version = 3 [(required) = false, (validate) = true];
}

// An origin of a message.
//
// Describes the message chain which led to the associated message to be produced.
//
message Origin {
    option (is).java_type = "io.spine.core.OriginMixin";

    // The messageId of the direct parent of the message.
    MessageId message = 1 [(required) = true, (validate) = true];

    // The origin of the direct parent of the message.
    Origin grand_origin = 2 [(required) = false, (validate) = true];

    // The actor of the message.
    //
    // The actor context is shared between all the messages in the chain.
    //
    ActorContext actor_context = 3 [(validate) = true];
}
<commit_msg>Fix typo in docs<commit_after>syntax = "proto3";

package spine.core;

import "spine/options.proto";

option (type_url_prefix) = "type.spine.io";
option java_package = "io.spine.core";
option java_outer_classname = "DiagnosticsProto";
option java_multiple_files = true;

import "google/protobuf/any.proto";

import "spine/core/actor_context.proto";
import "spine/core/version.proto";

// An identifier of a domain message, such as a signal, or an entity state.
message MessageId {
    option (is).java_type = "io.spine.core.MessageIdMixin";

    // The ID of the message.
    //
    // If the message is a signal (an event of a command), `id` has the value of the signal ID (an
    // `EventId` or a `CommandId`).
    //
    // If the message is an entity state, `id` has the value of the entity identifier.
    //
    google.protobuf.Any id = 1 [(required) = true, (validate) = true];

    // The type of the message.
    string type_url = 2 [(required) = true];

    // The version associated with this message.
    //
    // If the message is an entity state, this is the version of the entity. If the message is
    // an event, this is the `EventContext.version`. If the message is a command, the version is
    // absent.
    //
    core.Version version = 3 [(required) = false, (validate) = true];
}

// An origin of a message.
//
// Describes the message chain which led to the associated message to be produced.
//
message Origin {
    option (is).java_type = "io.spine.core.OriginMixin";

    // The messageId of the direct parent of the message.
    MessageId message = 1 [(required) = true, (validate) = true];

    // The origin of the direct parent of the message.
    Origin grand_origin = 2 [(required) = false, (validate) = true];

    // The actor of the message.
    //
    // The actor context is shared between all the messages in the chain.
    //
    ActorContext actor_context = 3 [(validate) = true];
}

{'fraction_non_alphanumeric': 0.11627303399948093, 'fraction_numerical': 0.003633532312483779, 'mean_word_length': 2.854, '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': '6338201', 'n_tokens_mistral': 1176, 'n_tokens_neox': 1136, 'n_words': 459}