{
  "format": "firstdraft.foundation-plan.sketch/0.23",
  "target": {
    "id": "rails",
    "profile": "rails-sketch/2026-09-bookmark-assets"
  },
  "application": {
    "key": "oscar_party",
    "name": "Oscar Party",
    "domain": "oscarparty.example",
    "appearance": {
      "tint_color": "#B8860B",
      "background_color": "#FFFFFF"
    },
    "native": {
      "ios": {},
      "android": {}
    },
    "delivery": {
      "ios_push": {},
      "email": {}
    },
    "entities": [
      {
        "subject_uuid": "019f9425-5412-7e8b-bba7-780ec0465bdf",
        "key": "movie",
        "name": "Movie",
        "primary_descriptor": {
          "field": "movie.title"
        },
        "icon": "film",
        "fields": [
          {
            "subject_uuid": "019f9425-5412-7264-8cba-369484359fcb",
            "key": "title",
            "name": "Title",
            "type": "short_text",
            "required": true,
            "normalizations": [
              "collapse_whitespace",
              "blank_to_null"
            ],
            "validations": [
              {
                "subject_uuid": "019f9425-5412-70af-8d25-97594f94f0aa",
                "key": "title_reasonable_length",
                "kind": "length",
                "maximum": 200
              }
            ]
          },
          {
            "subject_uuid": "019f9425-5412-7da1-93e9-b8157afbfa5a",
            "key": "released_on",
            "name": "Released on",
            "type": "date",
            "required": true
          },
          {
            "subject_uuid": "019f9425-5412-73f5-890a-233db81aa267",
            "key": "production_budget",
            "name": "Production budget",
            "type": "money",
            "required": false,
            "settings": {
              "currency": "USD"
            }
          },
          {
            "subject_uuid": "019f9425-5412-71be-88a2-f3ebab3915a9",
            "key": "average_rating",
            "name": "Average rating",
            "type": "decimal",
            "required": false,
            "derivation": {
              "aggregate": {
                "association": "movie.ratings",
                "operation": "average",
                "field": "rating.score"
              }
            }
          },
          {
            "subject_uuid": "019f9425-5412-71c4-acf3-0f28ae4e76d4",
            "key": "status",
            "name": "Best Picture status",
            "notes": "Tracks only the movie's Best Picture result, not nominations in other categories.",
            "type": "state_machine",
            "required": true,
            "settings": {
              "initial_state": "nominated",
              "states": [
                {
                  "subject_uuid": "019f9425-5412-75af-bdd4-58f0b26e52e3",
                  "key": "nominated",
                  "name": "Nominated"
                },
                {
                  "subject_uuid": "019f9425-5412-7ecb-aa62-4eaa5a017af6",
                  "key": "won",
                  "name": "Won"
                },
                {
                  "subject_uuid": "019f9425-5412-7510-b20e-a269231ac6c2",
                  "key": "did_not_win",
                  "name": "Did not win"
                }
              ],
              "transitions": [
                {
                  "subject_uuid": "019f9425-5412-7685-9b5a-57c98c1ef806",
                  "key": "record_win",
                  "from": [
                    "nominated"
                  ],
                  "to": "won"
                },
                {
                  "subject_uuid": "019f9425-5412-7674-9cf6-1e59490aa73b",
                  "key": "record_non_win",
                  "from": [
                    "nominated"
                  ],
                  "to": "did_not_win"
                }
              ]
            }
          }
        ],
        "associations": [
          {
            "subject_uuid": "019f9425-5412-7d9d-a934-3905e1459bb5",
            "key": "credits",
            "kind": "direct",
            "name": "Credits",
            "reference": "credit.movie",
            "side": "referenced"
          },
          {
            "subject_uuid": "019f9425-5412-711e-908c-3629e4c32491",
            "key": "bookmarks",
            "kind": "direct",
            "name": "Bookmarks",
            "reference": "bookmark.movie",
            "side": "referenced"
          },
          {
            "subject_uuid": "019f9425-5412-7344-9d90-1cc698121103",
            "key": "ratings",
            "kind": "direct",
            "name": "Ratings",
            "reference": "rating.movie",
            "side": "referenced"
          }
        ],
        "predicates": [
          {
            "subject_uuid": "019f9425-5412-7fa2-96a3-ce8510876d21",
            "key": "upcoming",
            "name": "Upcoming",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "movie.released_on"
                }
              },
              "operator": "greater_than",
              "right": {
                "kind": "environment",
                "name": "current_date"
              }
            }
          },
          {
            "subject_uuid": "019f9425-5412-7954-a497-74dea73cf187",
            "key": "nominees",
            "name": "Best Picture nominees",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "movie.status"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "literal",
                "value": "nominated"
              }
            }
          },
          {
            "subject_uuid": "019f9425-5412-7486-aeaa-602d4b024554",
            "key": "winners",
            "name": "Best Picture winners",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "movie.status"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "literal",
                "value": "won"
              }
            }
          }
        ],
        "orderings": [
          {
            "subject_uuid": "019f9425-5412-753b-b268-c1c3af7ec850",
            "key": "release_calendar",
            "terms": [
              {
                "field": "movie.released_on",
                "direction": "ascending"
              },
              {
                "field": "movie.title",
                "direction": "ascending"
              }
            ]
          },
          {
            "subject_uuid": "019f9425-5412-7ea7-99ea-098bb16e187d",
            "key": "highest_rated",
            "terms": [
              {
                "field": "movie.average_rating",
                "direction": "descending",
                "nulls": "last"
              },
              {
                "field": "movie.title",
                "direction": "ascending"
              }
            ]
          }
        ],
        "validations": [
          {
            "subject_uuid": "019f9425-5412-76cd-80ae-37ebea1cb161",
            "key": "unique_title_and_release_date",
            "kind": "uniqueness",
            "targets": [
              {
                "field": "movie.title"
              },
              {
                "field": "movie.released_on"
              }
            ],
            "error_target": {
              "field": "movie.title"
            },
            "nulls": "distinct"
          }
        ],
        "scaffold": {
          "index": {
            "predicate": "movie.nominees",
            "ordering": "movie.highest_rated",
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "projection": [
              {
                "field": "movie.title"
              },
              {
                "field": "movie.released_on"
              },
              {
                "field": "movie.status"
              },
              {
                "field": "movie.average_rating"
              }
            ]
          },
          "show": {
            "authorization": "public",
            "projection": [
              {
                "field": "movie.title"
              },
              {
                "field": "movie.released_on"
              },
              {
                "field": "movie.production_budget"
              },
              {
                "field": "movie.status"
              },
              {
                "field": "movie.average_rating"
              },
              {
                "association": "movie.credits",
                "authorization": "public",
                "ordering": "credit.billing_order",
                "projection": [
                  {
                    "field": "credit.role"
                  },
                  {
                    "field": "credit.position"
                  },
                  {
                    "association": "credit.person",
                    "authorization": "public"
                  }
                ],
                "create_form": {
                  "return_to": {
                    "kind": "resource",
                    "entity": "movie",
                    "route": "show",
                    "record": {
                      "from": "scaffold_record"
                    }
                  }
                }
              },
              {
                "association": "movie.ratings",
                "authorization": "public",
                "ordering": "rating.recent",
                "projection": [
                  {
                    "field": "rating.score"
                  },
                  {
                    "field": "rating.review"
                  },
                  {
                    "association": "rating.user",
                    "authorization": "public"
                  }
                ],
                "create_form": {
                  "return_to": {
                    "kind": "resource",
                    "entity": "movie",
                    "route": "show",
                    "record": {
                      "from": "scaffold_record"
                    }
                  }
                }
              }
            ]
          },
          "create": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "inputs": [
              {
                "field": "movie.title"
              },
              {
                "field": "movie.released_on"
              },
              {
                "field": "movie.production_budget"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "show",
              "record": {
                "from": "mutation_record"
              }
            }
          },
          "update": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "inputs": [
              {
                "field": "movie.title"
              },
              {
                "field": "movie.released_on"
              },
              {
                "field": "movie.production_budget"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "show",
              "record": {
                "from": "mutation_record"
              }
            }
          },
          "destroy": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "index"
            }
          },
          "resource_routes": [
            "index",
            "show",
            "new",
            "create",
            "edit",
            "update",
            "destroy"
          ]
        }
      },
      {
        "subject_uuid": "019f9425-5412-7302-a6b0-18ccfe915d0e",
        "key": "person",
        "name": "Person",
        "primary_descriptor": {
          "field": "person.name"
        },
        "icon": "person",
        "fields": [
          {
            "subject_uuid": "019f9425-5412-7788-80df-ece2cf1ad453",
            "key": "name",
            "name": "Name",
            "type": "short_text",
            "required": true,
            "normalizations": [
              "collapse_whitespace",
              "blank_to_null"
            ]
          }
        ],
        "associations": [
          {
            "subject_uuid": "019f9425-5412-7d64-a94c-5a1eb57f93ab",
            "key": "credits",
            "kind": "direct",
            "name": "Credits",
            "reference": "credit.person",
            "side": "referenced"
          }
        ],
        "scaffold": {
          "index": {
            "authorization": "public",
            "projection": [
              {
                "field": "person.name"
              }
            ]
          },
          "show": {
            "authorization": "public",
            "projection": [
              {
                "field": "person.name"
              },
              {
                "association": "person.credits",
                "authorization": "public",
                "projection": [
                  {
                    "field": "credit.role"
                  },
                  {
                    "association": "credit.movie",
                    "authorization": "public"
                  }
                ]
              }
            ]
          },
          "create": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "inputs": [
              {
                "field": "person.name"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "person",
              "route": "show",
              "record": {
                "from": "mutation_record"
              }
            }
          },
          "update": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "inputs": [
              {
                "field": "person.name"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "person",
              "route": "show",
              "record": {
                "from": "mutation_record"
              }
            }
          },
          "destroy": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "return_to": {
              "kind": "resource",
              "entity": "person",
              "route": "index"
            }
          },
          "resource_routes": [
            "index",
            "show",
            "new",
            "create",
            "edit",
            "update",
            "destroy"
          ]
        }
      },
      {
        "subject_uuid": "019f9425-5412-7d14-ac38-6f0ca265d3ab",
        "key": "credit",
        "name": "Credit",
        "primary_descriptor": {
          "association": "credit.person"
        },
        "fields": [
          {
            "subject_uuid": "019f9425-5412-75e9-a411-26f21f3e5f5e",
            "key": "role",
            "name": "Role",
            "type": "enum",
            "required": true,
            "settings": {
              "values": [
                {
                  "subject_uuid": "019f9425-5412-7e86-853c-38adf8c67168",
                  "key": "director",
                  "name": "Director"
                },
                {
                  "subject_uuid": "019f9425-5412-7d80-838c-3dba7695916e",
                  "key": "lead_actor",
                  "name": "Lead actor"
                },
                {
                  "subject_uuid": "019f9425-5412-7604-9e40-e2e7ad3c8cb1",
                  "key": "lead_actress",
                  "name": "Lead actress"
                },
                {
                  "subject_uuid": "019f9425-5412-7214-9962-d48b4b3acfcf",
                  "key": "supporting_actor",
                  "name": "Supporting actor"
                },
                {
                  "subject_uuid": "019f9425-5412-7f8b-8c5f-eede2a467087",
                  "key": "supporting_actress",
                  "name": "Supporting actress"
                },
                {
                  "subject_uuid": "019f9425-5412-73b3-ab90-989242a8a70b",
                  "key": "writer",
                  "name": "Writer"
                }
              ]
            }
          },
          {
            "subject_uuid": "019f9425-5412-7fdd-b66e-ef985d799c37",
            "key": "position",
            "name": "Position",
            "type": "position",
            "required": true,
            "settings": {
              "within": [
                {
                  "reference": "credit.movie"
                }
              ]
            }
          }
        ],
        "references": [
          {
            "subject_uuid": "019f9425-5412-7b2b-a890-2d795e5678f6",
            "key": "movie",
            "name": "Movie",
            "required": true,
            "immutable": true,
            "on_referenced_deleted": "delete_referencing_record",
            "targets": [
              "movie"
            ]
          },
          {
            "subject_uuid": "019f9425-5412-7477-9800-e116ee9a79c3",
            "key": "person",
            "name": "Person",
            "required": true,
            "immutable": true,
            "on_referenced_deleted": "delete_referencing_record",
            "targets": [
              "person"
            ]
          }
        ],
        "predicates": [
          {
            "subject_uuid": "019f9425-5412-7edd-8997-7cbdc65bb549",
            "key": "directors",
            "name": "Directors",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "credit.role"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "literal",
                "value": "director"
              }
            }
          }
        ],
        "orderings": [
          {
            "subject_uuid": "019f9425-5412-7c18-8fb9-a398a8096a06",
            "key": "billing_order",
            "terms": [
              {
                "field": "credit.position",
                "direction": "ascending"
              },
              {
                "system_field": "id",
                "direction": "ascending"
              }
            ]
          }
        ],
        "validations": [
          {
            "subject_uuid": "019f9425-5412-7f74-b66c-22c0c7d3ef8c",
            "key": "unique_movie_person_and_role",
            "kind": "uniqueness",
            "targets": [
              {
                "reference": "credit.movie"
              },
              {
                "reference": "credit.person"
              },
              {
                "field": "credit.role"
              }
            ],
            "error_target": {
              "reference": "credit.person"
            },
            "nulls": "distinct"
          }
        ],
        "scaffold": {
          "create": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "inputs": [
              {
                "field": "credit.role"
              },
              {
                "association": "credit.person"
              }
            ]
          },
          "update": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "inputs": [
              {
                "field": "credit.role"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "show",
              "record": {
                "from": "mutation_record",
                "through": [
                  {
                    "association": "credit.movie"
                  }
                ]
              }
            }
          },
          "destroy": {
            "authorization": {
              "policy": "user.manage_movie_catalog",
              "record": {
                "kind": "environment",
                "name": "current_account"
              }
            },
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "show",
              "record": {
                "from": "mutation_record",
                "through": [
                  {
                    "association": "credit.movie"
                  }
                ]
              }
            }
          },
          "resource_routes": [
            "create",
            "edit",
            "update",
            "destroy"
          ]
        }
      },
      {
        "subject_uuid": "019f9425-5412-79bb-8fc2-312a33953f68",
        "key": "user",
        "name": "User",
        "primary_descriptor": {
          "field": "user.name"
        },
        "account": {
          "identifiers": [
            {
              "kind": "email",
              "name": "Email"
            }
          ],
          "sign_in_methods": [
            {
              "kind": "password"
            }
          ],
          "registration": {
            "mode": "self_service",
            "inputs": [
              {
                "field": "user.name",
                "required": true
              }
            ]
          },
          "verification": {
            "kind": "email"
          },
          "recovery": {
            "kind": "password_reset"
          },
          "lockout": {}
        },
        "fields": [
          {
            "subject_uuid": "019f9425-5412-7796-9840-8fdf45b7a859",
            "key": "name",
            "name": "Name",
            "type": "short_text",
            "required": true,
            "normalizations": [
              "collapse_whitespace",
              "blank_to_null"
            ]
          }
        ],
        "associations": [
          {
            "subject_uuid": "019f9425-5412-72a7-9215-47f016464233",
            "key": "bookmarks",
            "kind": "direct",
            "name": "Bookmarks",
            "reference": "bookmark.user",
            "side": "referenced"
          },
          {
            "subject_uuid": "019f9425-5412-7292-8c18-f42f2575b287",
            "key": "unwatched_bookmarks",
            "kind": "direct",
            "name": "Unwatched bookmarks",
            "reference": "bookmark.user",
            "predicate": "bookmark.unwatched",
            "side": "referenced"
          },
          {
            "subject_uuid": "019f9425-5412-716f-94c5-0850e4946502",
            "key": "watched_bookmarks",
            "kind": "direct",
            "name": "Watched bookmarks",
            "reference": "bookmark.user",
            "predicate": "bookmark.watched",
            "side": "referenced"
          },
          {
            "subject_uuid": "019f9425-5412-7b4b-9ddd-37e504a13120",
            "key": "bookmarked_movies",
            "kind": "indirect",
            "name": "Bookmarked movies",
            "through": "user.bookmarks",
            "source": "bookmark.movie"
          },
          {
            "subject_uuid": "019f9425-5412-75f5-b73e-9fa34db25181",
            "key": "ratings",
            "kind": "direct",
            "name": "Ratings",
            "reference": "rating.user",
            "side": "referenced"
          },
          {
            "subject_uuid": "019f9425-5412-736c-a949-129d8cabbfe8",
            "key": "rated_movies",
            "kind": "indirect",
            "name": "Rated movies",
            "through": "user.ratings",
            "source": "rating.movie"
          }
        ],
        "policies": [
          {
            "subject_uuid": "019f9425-5412-7660-9427-b6ab6f7f94b0",
            "key": "manage_movie_catalog",
            "operation": "manage_movie_catalog",
            "allow_when": {
              "kind": "comparison",
              "left": {
                "target": {
                  "record": "current"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "environment",
                "name": "current_account"
              }
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-76e7-ba35-92b4a3b3b617",
        "key": "bookmark",
        "name": "Bookmark",
        "primary_descriptor": {
          "association": "bookmark.movie"
        },
        "icon": "bookmark",
        "fields": [
          {
            "subject_uuid": "019f9425-5412-763e-aa72-42c959c940db",
            "key": "priority",
            "name": "Priority",
            "type": "enum",
            "required": true,
            "default": {
              "kind": "literal",
              "value": "normal"
            },
            "settings": {
              "values": [
                {
                  "subject_uuid": "019f9425-5412-7dcf-85f5-fbdbf457674c",
                  "key": "low",
                  "name": "Low"
                },
                {
                  "subject_uuid": "019f9425-5412-72d9-a56a-d0df5d494c7c",
                  "key": "normal",
                  "name": "Normal"
                },
                {
                  "subject_uuid": "019f9425-5412-743d-8c98-de6c676d0d4b",
                  "key": "high",
                  "name": "High"
                }
              ],
              "ordinal": true
            }
          },
          {
            "subject_uuid": "019f9425-5412-7fcd-ab3a-700685ad301c",
            "key": "status",
            "name": "Status",
            "notes": "Tracks this user's progress watching the bookmarked movie.",
            "type": "state_machine",
            "required": true,
            "settings": {
              "initial_state": "unwatched",
              "states": [
                {
                  "subject_uuid": "019f9425-5412-7301-952d-214cb5f20c67",
                  "key": "unwatched",
                  "name": "Not watched"
                },
                {
                  "subject_uuid": "019f9425-5412-7f35-86de-2520004e25fd",
                  "key": "watched",
                  "name": "Watched"
                }
              ],
              "transitions": [
                {
                  "subject_uuid": "019f9425-5412-75f6-afef-92f4d06a25db",
                  "key": "mark_watched",
                  "from": [
                    "unwatched"
                  ],
                  "to": "watched",
                  "effects": [
                    {
                      "kind": "set_field",
                      "field": "bookmark.watched_at",
                      "value": {
                        "kind": "environment",
                        "name": "current_time"
                      }
                    }
                  ]
                }
              ]
            }
          },
          {
            "subject_uuid": "019f9425-5412-7fcd-8e08-2ab02b07aa0d",
            "key": "watched_at",
            "name": "Watched at",
            "type": "datetime",
            "required": false
          },
          {
            "subject_uuid": "019f9425-5412-7da8-9cb7-da8ec81aafba",
            "key": "notes",
            "name": "Notes",
            "type": "long_text",
            "required": false
          }
        ],
        "references": [
          {
            "subject_uuid": "019f9425-5412-7aa0-ad36-378b9fd20dae",
            "key": "user",
            "name": "User",
            "required": true,
            "immutable": true,
            "on_referenced_deleted": "delete_referencing_record",
            "targets": [
              "user"
            ]
          },
          {
            "subject_uuid": "019f9425-5412-7f83-9776-1473ff0e8f01",
            "key": "movie",
            "name": "Movie",
            "required": true,
            "immutable": true,
            "on_referenced_deleted": "delete_referencing_record",
            "targets": [
              "movie"
            ]
          }
        ],
        "predicates": [
          {
            "subject_uuid": "019f9425-5412-7aae-b753-bf3d151cd4f3",
            "key": "unwatched",
            "name": "Unwatched",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "bookmark.status"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "literal",
                "value": "unwatched"
              }
            }
          },
          {
            "subject_uuid": "019f9425-5412-7cef-bb15-2b0ee795d5ca",
            "key": "watched",
            "name": "Watched",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "bookmark.status"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "literal",
                "value": "watched"
              }
            }
          }
        ],
        "orderings": [
          {
            "subject_uuid": "019f9425-5412-7769-b100-7eac43502987",
            "key": "watchlist_order",
            "terms": [
              {
                "field": "bookmark.priority",
                "direction": "descending"
              },
              {
                "system_field": "created_at",
                "direction": "ascending"
              },
              {
                "system_field": "id",
                "direction": "ascending"
              }
            ]
          },
          {
            "subject_uuid": "019f9425-5412-771c-9ee6-859255869f7f",
            "key": "watched_recently",
            "terms": [
              {
                "field": "bookmark.watched_at",
                "direction": "descending",
                "nulls": "last"
              },
              {
                "system_field": "id",
                "direction": "descending"
              }
            ]
          }
        ],
        "validations": [
          {
            "subject_uuid": "019f9425-5412-796a-acac-f1448713d0ac",
            "key": "unique_user_and_movie",
            "kind": "uniqueness",
            "targets": [
              {
                "reference": "bookmark.user"
              },
              {
                "reference": "bookmark.movie"
              }
            ],
            "error_target": {
              "reference": "bookmark.movie"
            },
            "nulls": "distinct"
          }
        ],
        "policies": [
          {
            "subject_uuid": "019f9425-5412-75f1-8277-4b4dbe85ec0a",
            "key": "manage_by_user",
            "operation": "manage",
            "allow_when": {
              "kind": "comparison",
              "left": {
                "target": {
                  "association": "bookmark.user"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "environment",
                "name": "current_account"
              }
            }
          }
        ],
        "scaffold": {
          "index": {
            "predicate": "bookmark.unwatched",
            "ordering": "bookmark.watchlist_order",
            "authorization": {
              "policy": "bookmark.manage_by_user"
            },
            "projection": [
              {
                "field": "bookmark.priority"
              },
              {
                "field": "bookmark.status"
              },
              {
                "field": "bookmark.watched_at"
              },
              {
                "field": "bookmark.notes"
              },
              {
                "association": "bookmark.movie",
                "authorization": "public"
              }
            ]
          },
          "show": {
            "authorization": {
              "policy": "bookmark.manage_by_user"
            },
            "projection": [
              {
                "field": "bookmark.priority"
              },
              {
                "field": "bookmark.status"
              },
              {
                "field": "bookmark.watched_at"
              },
              {
                "field": "bookmark.notes"
              },
              {
                "association": "bookmark.movie",
                "authorization": "public"
              }
            ]
          },
          "create": {
            "authorization": {
              "policy": "bookmark.manage_by_user"
            },
            "inputs": [
              {
                "field": "bookmark.priority"
              },
              {
                "field": "bookmark.notes"
              },
              {
                "association": "bookmark.movie"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "bookmark",
              "route": "index"
            },
            "bindings": [
              {
                "reference": "bookmark.user",
                "value": {
                  "kind": "environment",
                  "name": "current_account"
                }
              }
            ]
          },
          "update": {
            "authorization": {
              "policy": "bookmark.manage_by_user"
            },
            "inputs": [
              {
                "field": "bookmark.priority"
              },
              {
                "field": "bookmark.notes"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "bookmark",
              "route": "index"
            }
          },
          "destroy": {
            "authorization": {
              "policy": "bookmark.manage_by_user"
            },
            "return_to": {
              "kind": "resource",
              "entity": "bookmark",
              "route": "index"
            }
          },
          "resource_routes": [
            "index",
            "show",
            "new",
            "create",
            "edit",
            "update",
            "destroy"
          ]
        }
      },
      {
        "subject_uuid": "019f9425-5412-7d52-ae55-a16c18de6170",
        "key": "rating",
        "name": "Rating",
        "primary_descriptor": {
          "association": "rating.movie"
        },
        "fields": [
          {
            "subject_uuid": "019f9425-5412-7c61-99b1-9b546a7f2729",
            "key": "score",
            "name": "Score",
            "type": "integer",
            "required": true,
            "validations": [
              {
                "subject_uuid": "019f9425-5412-7e8f-adba-e5badf96dff5",
                "key": "score_between_one_and_five",
                "kind": "comparison",
                "comparisons": [
                  {
                    "operator": "greater_than_or_equal_to",
                    "right": {
                      "kind": "literal",
                      "value": 1
                    }
                  },
                  {
                    "operator": "less_than_or_equal_to",
                    "right": {
                      "kind": "literal",
                      "value": 5
                    }
                  }
                ]
              }
            ]
          },
          {
            "subject_uuid": "019f9425-5412-7797-8aa4-9296f29b9379",
            "key": "review",
            "name": "Review",
            "type": "rich_text",
            "required": false
          }
        ],
        "references": [
          {
            "subject_uuid": "019f9425-5412-7871-864f-b21fa9ec8c42",
            "key": "user",
            "name": "User",
            "required": true,
            "immutable": true,
            "on_referenced_deleted": "delete_referencing_record",
            "targets": [
              "user"
            ]
          },
          {
            "subject_uuid": "019f9425-5412-7956-b5c8-c5043625e2df",
            "key": "movie",
            "name": "Movie",
            "required": true,
            "immutable": true,
            "on_referenced_deleted": "delete_referencing_record",
            "targets": [
              "movie"
            ]
          }
        ],
        "predicates": [
          {
            "subject_uuid": "019f9425-5412-788d-9c76-192e5e281655",
            "key": "recommended",
            "name": "Recommended",
            "expression": {
              "kind": "comparison",
              "left": {
                "target": {
                  "field": "rating.score"
                }
              },
              "operator": "greater_than",
              "right": {
                "kind": "literal",
                "value": 3
              }
            }
          }
        ],
        "orderings": [
          {
            "subject_uuid": "019f9425-5412-7cc2-aca8-dd9468569726",
            "key": "recent",
            "terms": [
              {
                "system_field": "created_at",
                "direction": "descending"
              },
              {
                "system_field": "id",
                "direction": "descending"
              }
            ]
          }
        ],
        "validations": [
          {
            "subject_uuid": "019f9425-5412-70fd-a3ce-7593255455f6",
            "key": "unique_user_and_movie",
            "kind": "uniqueness",
            "targets": [
              {
                "reference": "rating.user"
              },
              {
                "reference": "rating.movie"
              }
            ],
            "error_target": {
              "reference": "rating.movie"
            },
            "nulls": "distinct"
          }
        ],
        "policies": [
          {
            "subject_uuid": "019f9425-5412-7064-b6b2-63f99e7bf025",
            "key": "manage_by_user",
            "operation": "manage",
            "allow_when": {
              "kind": "comparison",
              "left": {
                "target": {
                  "association": "rating.user"
                }
              },
              "operator": "equals",
              "right": {
                "kind": "environment",
                "name": "current_account"
              }
            }
          }
        ],
        "scaffold": {
          "create": {
            "authorization": {
              "policy": "rating.manage_by_user"
            },
            "inputs": [
              {
                "field": "rating.score"
              },
              {
                "field": "rating.review"
              }
            ],
            "bindings": [
              {
                "reference": "rating.user",
                "value": {
                  "kind": "environment",
                  "name": "current_account"
                }
              }
            ]
          },
          "update": {
            "authorization": {
              "policy": "rating.manage_by_user"
            },
            "inputs": [
              {
                "field": "rating.score"
              },
              {
                "field": "rating.review"
              }
            ],
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "show",
              "record": {
                "from": "mutation_record",
                "through": [
                  {
                    "association": "rating.movie"
                  }
                ]
              }
            }
          },
          "destroy": {
            "authorization": {
              "policy": "rating.manage_by_user"
            },
            "return_to": {
              "kind": "resource",
              "entity": "movie",
              "route": "show",
              "record": {
                "from": "mutation_record",
                "through": [
                  {
                    "association": "rating.movie"
                  }
                ]
              }
            }
          },
          "resource_routes": [
            "create",
            "edit",
            "update",
            "destroy"
          ]
        }
      }
    ],
    "development_data": [
      {
        "subject_uuid": "019f9425-5412-791d-9a00-b4e377c3086c",
        "key": "alice",
        "entity": "user",
        "fields": [
          {
            "field": "user.name",
            "value": {
              "kind": "literal",
              "value": "Alice"
            }
          }
        ],
        "account": {
          "identifiers": [
            {
              "kind": "email",
              "value": "alice@example.com"
            }
          ],
          "credentials": [
            {
              "kind": "password",
              "value": "password"
            }
          ]
        }
      },
      {
        "subject_uuid": "019f9425-5412-74b6-ba99-1ae0f783d702",
        "key": "anora",
        "entity": "movie",
        "fields": [
          {
            "field": "movie.title",
            "value": {
              "kind": "literal",
              "value": "Anora"
            }
          },
          {
            "field": "movie.released_on",
            "value": {
              "kind": "literal",
              "value": "2024-10-18"
            }
          },
          {
            "field": "movie.status",
            "value": {
              "kind": "literal",
              "value": "won"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-79d8-8a72-a4a9b8263978",
        "key": "conclave",
        "entity": "movie",
        "fields": [
          {
            "field": "movie.title",
            "value": {
              "kind": "literal",
              "value": "Conclave"
            }
          },
          {
            "field": "movie.released_on",
            "value": {
              "kind": "literal",
              "value": "2024-10-25"
            }
          },
          {
            "field": "movie.status",
            "value": {
              "kind": "literal",
              "value": "did_not_win"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-7e15-80a7-fba48e56647b",
        "key": "the_brutalist",
        "entity": "movie",
        "fields": [
          {
            "field": "movie.title",
            "value": {
              "kind": "literal",
              "value": "The Brutalist"
            }
          },
          {
            "field": "movie.released_on",
            "value": {
              "kind": "literal",
              "value": "2024-12-20"
            }
          },
          {
            "field": "movie.status",
            "value": {
              "kind": "literal",
              "value": "did_not_win"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-77a7-a0dc-fd24ff9bd673",
        "key": "sean_baker",
        "entity": "person",
        "fields": [
          {
            "field": "person.name",
            "value": {
              "kind": "literal",
              "value": "Sean Baker"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-736f-86a8-4adfde308a47",
        "key": "edward_berger",
        "entity": "person",
        "fields": [
          {
            "field": "person.name",
            "value": {
              "kind": "literal",
              "value": "Edward Berger"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-7c9b-9e26-06a2fb2681a0",
        "key": "brady_corbet",
        "entity": "person",
        "fields": [
          {
            "field": "person.name",
            "value": {
              "kind": "literal",
              "value": "Brady Corbet"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-72f1-a52c-8bb31df456c4",
        "key": "anora_director",
        "entity": "credit",
        "fields": [
          {
            "field": "credit.role",
            "value": {
              "kind": "literal",
              "value": "director"
            }
          },
          {
            "field": "credit.position",
            "value": {
              "kind": "literal",
              "value": 1
            }
          }
        ],
        "references": [
          {
            "reference": "credit.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.anora"
            }
          },
          {
            "reference": "credit.person",
            "value": {
              "kind": "reference_record",
              "record": "person.sean_baker"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-77c5-a277-7314ba0cf5b0",
        "key": "conclave_director",
        "entity": "credit",
        "fields": [
          {
            "field": "credit.role",
            "value": {
              "kind": "literal",
              "value": "director"
            }
          },
          {
            "field": "credit.position",
            "value": {
              "kind": "literal",
              "value": 1
            }
          }
        ],
        "references": [
          {
            "reference": "credit.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.conclave"
            }
          },
          {
            "reference": "credit.person",
            "value": {
              "kind": "reference_record",
              "record": "person.edward_berger"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-71ec-974e-82502349961f",
        "key": "the_brutalist_director",
        "entity": "credit",
        "fields": [
          {
            "field": "credit.role",
            "value": {
              "kind": "literal",
              "value": "director"
            }
          },
          {
            "field": "credit.position",
            "value": {
              "kind": "literal",
              "value": 1
            }
          }
        ],
        "references": [
          {
            "reference": "credit.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.the_brutalist"
            }
          },
          {
            "reference": "credit.person",
            "value": {
              "kind": "reference_record",
              "record": "person.brady_corbet"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-74f9-a734-8566129f9d4d",
        "key": "alice_conclave",
        "entity": "bookmark",
        "fields": [
          {
            "field": "bookmark.priority",
            "value": {
              "kind": "literal",
              "value": "high"
            }
          },
          {
            "field": "bookmark.status",
            "value": {
              "kind": "literal",
              "value": "unwatched"
            }
          },
          {
            "field": "bookmark.notes",
            "value": {
              "kind": "literal",
              "value": "Watch before the party."
            }
          }
        ],
        "references": [
          {
            "reference": "bookmark.user",
            "value": {
              "kind": "reference_record",
              "record": "user.alice"
            }
          },
          {
            "reference": "bookmark.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.conclave"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-7ead-819a-4a00ec81a3cf",
        "key": "alice_the_brutalist",
        "entity": "bookmark",
        "fields": [
          {
            "field": "bookmark.priority",
            "value": {
              "kind": "literal",
              "value": "normal"
            }
          },
          {
            "field": "bookmark.status",
            "value": {
              "kind": "literal",
              "value": "watched"
            }
          },
          {
            "field": "bookmark.watched_at",
            "value": {
              "kind": "literal",
              "value": "2025-02-16T20:30:00Z"
            }
          }
        ],
        "references": [
          {
            "reference": "bookmark.user",
            "value": {
              "kind": "reference_record",
              "record": "user.alice"
            }
          },
          {
            "reference": "bookmark.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.the_brutalist"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-7d76-a732-df87e514e80f",
        "key": "alice_anora",
        "entity": "rating",
        "fields": [
          {
            "field": "rating.score",
            "value": {
              "kind": "literal",
              "value": 5
            }
          },
          {
            "field": "rating.review",
            "value": {
              "kind": "literal",
              "value": "A propulsive, funny favorite."
            }
          }
        ],
        "references": [
          {
            "reference": "rating.user",
            "value": {
              "kind": "reference_record",
              "record": "user.alice"
            }
          },
          {
            "reference": "rating.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.anora"
            }
          }
        ]
      },
      {
        "subject_uuid": "019f9425-5412-76bb-993a-fb1bd7c075a0",
        "key": "alice_conclave",
        "entity": "rating",
        "fields": [
          {
            "field": "rating.score",
            "value": {
              "kind": "literal",
              "value": 4
            }
          }
        ],
        "references": [
          {
            "reference": "rating.user",
            "value": {
              "kind": "reference_record",
              "record": "user.alice"
            }
          },
          {
            "reference": "rating.movie",
            "value": {
              "kind": "reference_record",
              "record": "movie.conclave"
            }
          }
        ]
      }
    ]
  }
}
