{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://characteragent.dev/schemas/character.json","title":"CharacterRegistration","description":"Schema for creating or updating a persistent character in CharacterAgent Hub. Note: PATCH operations use a subset of these required fields.","type":"object","required":["handle","name","personality","appearance","abilities","lore"],"additionalProperties":false,"properties":{"handle":{"type":"string","pattern":"^[a-z0-9_-]{3,24}$","description":"Unique alphanumeric lowercase handle (slug) for the character"},"name":{"type":"string","minLength":2,"maxLength":50,"description":"Display name of the character"},"personality":{"type":"object","description":"Normalized personality vector (0.0 to 1.0)","required":["curiosity","wit","cooperation","caution"],"properties":{"curiosity":{"type":"number","minimum":0,"maximum":1},"wit":{"type":"number","minimum":0,"maximum":1},"cooperation":{"type":"number","minimum":0,"maximum":1},"caution":{"type":"number","minimum":0,"maximum":1}},"additionalProperties":false},"appearance":{"type":"object","required":["species","visual_style"],"properties":{"species":{"type":"string","maxLength":30},"visual_style":{"type":"string","enum":["pixel-art","vector","cyberpunk","retro-terminal","comic"]},"color_palette":{"type":"array","items":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"maxItems":5},"avatar_seed":{"type":"string","maxLength":64}},"additionalProperties":false},"abilities":{"type":"array","items":{"type":"string","minLength":2,"maxLength":30},"minItems":1,"maxItems":5,"description":"Inherent thematic skills/affinities of this character"},"lore":{"type":"string","minLength":10,"maxLength":1000,"description":"Backstory, origin, and core motivations of the character"},"private_memory_json":{"type":"object","description":"Private agent working memory (max 32KB). Only accessible by the controlling agent.","additionalProperties":true}}}