genre_contract
write
beta
auth: project:write
approval: suggest
status: v1
Read, preview, or apply a Genre Movie project's structured genre contract.
When to use
Use when the caller wants to inspect available genre contract data or change selected genres/cards/overlays.
Use after creating a `genre_movies` project to select a primary genre and apply the recommended cards/overlays.
When not to use
Do not use for direct card text edits after cards are active; use story/card mutation tools for field-level edits.
Do not use for non-Genre Movie templates.
Examples
“Read the genre contract for project 123.”
“Preview Horror plus Thriller on project 123.”
“Apply selected Horror cards and overlays to project 123.”
Anti-examples
- Change dialogue in scene 5.
- Generate a screenplay from an outline.
Backend capabilities
genre.contract
Linked resources
Tool calls may return resource_links pointing at these resource families.
Input schema
genre_contract input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"operation",
"project_id"
],
"properties": {
"operation": {
"type": "string",
"enum": [
"read",
"registry",
"preview",
"apply"
]
},
"project_id": {
"type": "integer"
},
"primary_genre_id": {
"type": "string"
},
"secondary_genre_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 3
},
"enabled_card_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"disabled_card_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"enabled_local_card_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"disabled_local_card_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"card_order_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"enabled_overlay_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"disabled_overlay_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"if_match_updated_at": {
"type": "string",
"description": "Reserved for optimistic concurrency. Genre contract apply currently validates through backend project access."
}
},
"allOf": [
{
"if": {
"properties": {
"operation": {
"enum": [
"preview",
"apply"
]
}
}
},
"then": {
"required": [
"primary_genre_id"
]
}
}
],
"additionalProperties": false
}Output schema
genre_contract output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"operation",
"project_id",
"result",
"genre_contract_updated_at"
],
"properties": {
"operation": {
"type": "string"
},
"project_id": {
"type": "integer"
},
"genre_contract_updated_at": {
"type": [
"string",
"null"
],
"description": "Updated-at value for the genre contract if available."
},
"result": {
"type": "object"
}
},
"additionalProperties": true
}← All toolsv1 · mutate_tool