Sanity Library Reference Docs
    Preparing search index...

    Variable DATA_MODEL_CHANGESConst

    DATA_MODEL_CHANGES: readonly [
        Readonly<
            {
                applicability: "unconditional";
                compatibility: "additive";
                documentTypes: readonly ["definition", "instance"];
                id: "governed-model-stamps";
                introducedInModel: 1;
                minReaderModel: 0;
                summary: "Definition and instance documents carry model provenance and reader-floor stamps.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["definition", "instance"];
                id: "subject-field-kind";
                introducedInModel: 2;
                minReaderModel: 0;
                summary: "A workflow-level subject field identifies the document a workflow is about.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "reader-floor";
                documentTypes: readonly ["definition", "instance"];
                id: "typed-scalar-choice-lists";
                introducedInModel: 2;
                minReaderModel: 2;
                summary: "Scalar fields may constrain writes to a persisted typed choice list.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["definition"];
                id: "action-semantics";
                introducedInModel: 2;
                minReaderModel: 0;
                summary: "Ordinary actions may carry advisory workflow semantics.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "reader-floor";
                documentTypes: readonly ["definition", "instance"];
                id: "inclusive-scalar-bounds";
                introducedInModel: 2;
                minReaderModel: 2;
                summary: "String, text, and number values may carry persisted inclusive bounds.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["definition", "instance"];
                id: "progress-field-kind";
                introducedInModel: 3;
                minReaderModel: 0;
                summary: "A progress field kind carries application-defined 0–100 completion.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["instance"];
                id: "effect-claim-tokens";
                introducedInModel: 3;
                minReaderModel: 0;
                summary: "Pending-effect claims carry an exact-claim token gating mid-dispatch state reports.";
            },
        >,
        Readonly<
            {
                applicability: "unconditional";
                compatibility: "reader-floor";
                documentTypes: readonly ["instance"];
                id: "classified-principal-ids";
                introducedInModel: 4;
                minReaderModel: 4;
                summary: string;
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "reader-floor";
                documentTypes: readonly ["definition"];
                id: "readiness-requirements";
                introducedInModel: 4;
                minReaderModel: 4;
                summary: "Start and activity readiness use named polymorphic requirement arrays.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["definition", "instance"];
                id: "due-date-field-kinds";
                introducedInModel: 5;
                minReaderModel: 0;
                summary: string;
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["definition"];
                id: "node-semantics";
                introducedInModel: 6;
                minReaderModel: 0;
                summary: "Workflow, stage, activity, and action nodes may carry signal or custom advisory semantics.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "additive";
                documentTypes: readonly ["definition", "instance"];
                id: "field-patch-ops";
                introducedInModel: 6;
                minReaderModel: 0;
                summary: "Field ops may increment, decrement, or initialize a missing field value.";
            },
        >,
        Readonly<
            {
                applicability: "unconditional";
                compatibility: "additive";
                documentTypes: readonly ["definition"];
                id: "attributes-condition-var";
                introducedInModel: 7;
                minReaderModel: 0;
                summary: string;
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "reader-floor";
                documentTypes: readonly ["definition", "instance"];
                id: "role-constrained-assignment-fields";
                introducedInModel: 8;
                minReaderModel: 8;
                summary: "Assignee fields may restrict newly assigned users and collective roles by role.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "reader-floor";
                documentTypes: readonly ["definition", "instance"];
                id: "split-guard-id-spaces";
                introducedInModel: 9;
                minReaderModel: 9;
                summary: "Guards spanning edit and lifecycle id spaces emit independently retractable documents.";
            },
        >,
        Readonly<
            {
                applicability: "detectable";
                compatibility: "reader-floor";
                documentTypes: readonly ["definition", "instance"];
                id: "singular-assignee-lists";
                introducedInModel: 9;
                minReaderModel: 9;
                summary: "Singular assignee fields use member lists with at most one user and any number of roles.";
            },
        >,
    ] = ...

    Append-only, machine-readable counterpart of the model log in DATAMODEL.md, which keeps the full reasoning.