<commit_before><?php

namespace Gdbots\Schemas\Ncr;

use Gdbots\Pbj\AbstractMixin;
use Gdbots\Pbj\Enum\Format;
use Gdbots\Pbj\FieldBuilder as Fb;
use Gdbots\Pbj\SchemaId;
use Gdbots\Pbj\Type as T;

final class NodeV1Mixin extends AbstractMixin
{
    /**
     * {@inheritdoc}
     */
    public function getId()
    {
        return SchemaId::fromString('pbj:gdbots:ncr:mixin:node:1-0-0');
    }

    /**
     * {@inheritdoc}
     */
    public function getFields()
    {
        return [
          
            /**
             * The "_id" value:
             * - MUST never change for the life of the node.
             * - SHOULD be globally unique
             * - SHOULD be generated by the app (ideally in default value closure... e.g. uuid generation)
             */
            Fb::create('_id', T\IdentifierType::create())
                ->required()
                ->withDefault(function() { return \Gdbots\Identifiers\UuidIdentifier::generate(); })
                ->className('Gdbots\Identifiers\UuidIdentifier')
                ->overridable(true)
                ->build(),
          
            /**
             * The "slug" value:
             * - MUST be url friendly
             * - SHOULD not be case sensitive
             * - SHOULD be unique within the message curie namespace
             */
            Fb::create('slug', T\StringType::create())
                ->format(Format::SLUG())
                ->build(),
          
            /**
             * Status is intentionally not an enum to allow for customizations.
             * There is however a gdbots:ncr:node-status enum.
             */
            Fb::create('status', T\StringType::create())
                ->pattern('^[A-Za-z0-9_\-]+$')
                ->withDefault("draft")
                ->overridable(true)
                ->build(),
            Fb::create('etag', T\StringType::create())
                ->maxLength(100)
                ->pattern('^[A-Za-z0-9_\-]+$')
                ->build(),
            Fb::create('created_at', T\MicrotimeType::create())
                ->required()
                ->build(),
            Fb::create('updated_at', T\MicrotimeType::create())
                ->useTypeDefault(false)
                ->build(),<commit_msg>Re-run compiler - phpdocblock to comment block<commit_after><?php

namespace Gdbots\Schemas\Ncr;

use Gdbots\Pbj\AbstractMixin;
use Gdbots\Pbj\Enum\Format;
use Gdbots\Pbj\FieldBuilder as Fb;
use Gdbots\Pbj\SchemaId;
use Gdbots\Pbj\Type as T;

final class NodeV1Mixin extends AbstractMixin
{
    /**
     * {@inheritdoc}
     */
    public function getId()
    {
        return SchemaId::fromString('pbj:gdbots:ncr:mixin:node:1-0-0');
    }

    /**
     * {@inheritdoc}
     */
    public function getFields()
    {
        return [
          
            /*
             * The "_id" value:
             * - MUST never change for the life of the node.
             * - SHOULD be globally unique
             * - SHOULD be generated by the app (ideally in default value closure... e.g. uuid generation)
             */
            Fb::create('_id', T\IdentifierType::create())
                ->required()
                ->withDefault(function() { return \Gdbots\Identifiers\UuidIdentifier::generate(); })
                ->className('Gdbots\Identifiers\UuidIdentifier')
                ->overridable(true)
                ->build(),
          
            /*
             * The "slug" value:
             * - MUST be url friendly
             * - SHOULD not be case sensitive
             * - SHOULD be unique within the message curie namespace
             */
            Fb::create('slug', T\StringType::create())
                ->format(Format::SLUG())
                ->build(),
          
            /*
             * Status is intentionally not an enum to allow for customizations.
             * There is however a gdbots:ncr:node-status enum.
             */
            Fb::create('status', T\StringType::create())
                ->pattern('^[A-Za-z0-9_\-]+$')
                ->withDefault("draft")
                ->overridable(true)
                ->build(),
            Fb::create('etag', T\StringType::create())
                ->maxLength(100)
                ->pattern('^[A-Za-z0-9_\-]+$')
                ->build(),
            Fb::create('created_at', T\MicrotimeType::create())
                ->required()
                ->build(),
            Fb::create('updated_at', T\MicrotimeType::create())
                ->useTypeDefault(false)
                ->build(),
{'fraction_non_alphanumeric': 0.13660360756709194, 'fraction_numerical': 0.004839419269687638, 'mean_word_length': 1.4860579551667579, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 39, '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': '401920', 'n_tokens_mistral': 1340, 'n_tokens_neox': 1258, 'n_words': 266}