Here is my schema btw:
{
    "previewUrls": {},
    "properties": {
        "validateOnPublish": false
    },
    "scripts": {
        "query": "",
        "create": "ctx.data.debugCreate.iv = JSON.stringify(ctx, null, 2);\n\nlet year = ctx.data.purchaseYear.iv ? ctx.data.purchaseYear.iv : new Date().getFullYear();\nlet month = ctx.data.purchaseMonth.iv ? ctx.data.purchaseMonth.iv - 1 : 0; // default January (0-based)\nlet day = ctx.data.purchaseDay.iv ? ctx.data.purchaseDay.iv : 1; // default first day of month\n\nlet purchaseDate = new Date(Date.UTC(year, month, day, 0, 0, 0));\nctx.data.purchaseDate = { iv: purchaseDate.toISOString() };\n\nlet monthsToAdd = 3;\nlet nextDue = new Date(purchaseDate.getTime());\nnextDue.setUTCMonth(nextDue.getUTCMonth() + monthsToAdd);\n\nctx.data.nextReminderDue = { iv: nextDue.toISOString() };\nreplace();",
        "update": "// works\n//ctx.data.purchaseDay.iv = 1;\n//replace();\n\n// works\n//ctx.data.purchaseDate = { iv: \"2020-12-31T00:00:00.000Z\" };\n//replace();\n\n// works\n//let purchaseDate = new Date(Date.UTC(2019, 2, 6, 0, 0, 0));\n//ctx.data.purchaseDate = { iv: purchaseDate.toISOString() };\n//replace();\n\n// works\n//let year = ctx.data.purchaseYear.iv ? ctx.data.purchaseYear.iv : new Date().getFullYear();\n//let month = ctx.data.purchaseMonth.iv ? ctx.data.purchaseMonth.iv - 1 : 0; // default January (0-based)\n//let day = ctx.data.purchaseDay.iv ? ctx.data.purchaseDay.iv : 1; // default first day of month\n\n//let purchaseDate = new Date(Date.UTC(year, month, day, 0, 0, 0));\n//ctx.data.purchaseDate = { iv: purchaseDate.toISOString() };\n\n//replace();\n\n// works\n//let year = ctx.data.purchaseYear.iv ? ctx.data.purchaseYear.iv : new Date().getFullYear();\n//let month = ctx.data.purchaseMonth.iv ? ctx.data.purchaseMonth.iv - 1 : 0; // default January (0-based)\n//let day = ctx.data.purchaseDay.iv ? ctx.data.purchaseDay.iv : 1; // default first day of month\n\n//let purchaseDate = new Date(Date.UTC(year, month, day, 0, 0, 0));\n//ctx.data.purchaseDate = { iv: purchaseDate.toISOString() };\n\n//let monthsToAdd = 3;\n//let nextDue = new Date(purchaseDate.getTime());\n//nextDue.setUTCMonth(nextDue.getUTCMonth() + monthsToAdd);\n\n//ctx.data.nextReminderDue = { iv: nextDue.toISOString() };\n//replace();\n\n//ctx.data.debugUpdate.iv = JSON.stringify(ctx, null, 2);\n\nlet year = ctx.data.purchaseYear.iv ? ctx.data.purchaseYear.iv : new Date().getFullYear();\nlet month = ctx.data.purchaseMonth.iv ? ctx.data.purchaseMonth.iv - 1 : 0; // default January (0-based)\nlet day = ctx.data.purchaseDay.iv ? ctx.data.purchaseDay.iv : 1; // default first day of month\n\nlet purchaseDate = new Date(Date.UTC(year, month, day, 0, 0, 0));\nctx.data.purchaseDate = { iv: purchaseDate.toISOString() };\n\nlet monthsToAdd = 3;\nlet nextDue = new Date(purchaseDate.getTime());\nnextDue.setUTCMonth(nextDue.getUTCMonth() + monthsToAdd);\n\nctx.data.nextReminderDue = { iv: nextDue.toISOString() };\nreplace();",
        "change": ""
    },
    "isPublished": true,
    "fieldRules": [],
    "fieldsInLists": [],
    "fieldsInReferences": [],
    "fields": [
        {
            "name": "debugCreate",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "String",
                "createEnum": false,
                "editor": "Html",
                "inlineEditable": false,
                "isEmbeddable": false,
                "isUnique": false,
                "contentType": "Unspecified"
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "debugUpdate",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "String",
                "createEnum": false,
                "editor": "Html",
                "inlineEditable": false,
                "isEmbeddable": false,
                "isUnique": false,
                "contentType": "Unspecified"
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "cup",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "References",
                "editor": "List",
                "allowDuplicates": false,
                "resolveReference": false,
                "mustBePublished": false,
                "schemaIds": [
                    "50583c01-40d9-4afa-bec7-c8afc1bec673"
                ]
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "name",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "String",
                "createEnum": false,
                "editor": "Input",
                "inlineEditable": false,
                "isEmbeddable": false,
                "isUnique": false,
                "contentType": "Unspecified"
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "cupNotOnList",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Boolean",
                "editor": "Toggle",
                "inlineEditable": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "isMain",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Boolean",
                "editor": "Toggle",
                "inlineEditable": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "isArchived",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Boolean",
                "editor": "Toggle",
                "inlineEditable": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "hasReminders",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Boolean",
                "editor": "Toggle",
                "inlineEditable": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "reminderSchedule",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "String",
                "createEnum": false,
                "editor": "Radio",
                "inlineEditable": false,
                "isEmbeddable": false,
                "isUnique": false,
                "allowedValues": [
                    "1 Month",
                    "3 Months",
                    "1 Year"
                ],
                "contentType": "Unspecified"
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "nextReminderDue",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "DateTime",
                "editor": "DateTime"
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "purchaseDate",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "DateTime",
                "editor": "DateTime"
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "purchaseYear",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Number",
                "editor": "Input",
                "inlineEditable": false,
                "isUnique": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "purchaseMonth",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Number",
                "editor": "Input",
                "inlineEditable": false,
                "isUnique": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        },
        {
            "name": "purchaseDay",
            "properties": {
                "isRequired": false,
                "isRequiredOnPublish": false,
                "isHalfWidth": false,
                "fieldType": "Number",
                "editor": "Input",
                "inlineEditable": false,
                "isUnique": false
            },
            "isLocked": false,
            "isHidden": false,
            "isDisabled": false,
            "partitioning": "invariant"
        }
    ],
    "type": "Default"
}