← Files DesignlyARCHIVED FILE
skills/taste-engine/schemas/taste-profile.schema.json
4.83 KB · Oct 3, 2026 · 06:31 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://example.invalid/art-director/taste-profile.schema.json",
"title": "Designly Taste Profile",
"type": "object",
"additionalProperties": false,
"required": [
"profile_version",
"source",
"jobs",
"observations",
"signature",
"rules",
"anti_rules",
"similarity_guard",
"confidence"
],
"properties": {
"profile_version": {
"const": "1.0"
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"label",
"ownership"
],
"properties": {
"ref_id": {
"type": "string",
"pattern": "^REF-[0-9]{4,}$"
},
"label": {
"type": "string",
"minLength": 1
},
"kind": {
"type": "string",
"enum": [
"image",
"campaign",
"design",
"video-frame",
"brand-guideline",
"other"
]
},
"name": {
"type": "string"
},
"uri": {
"type": "string"
},
"fingerprint": {
"type": "string"
},
"ownership": {
"type": "string",
"enum": [
"owned",
"licensed",
"public-reference",
"unknown"
]
}
}
},
"jobs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"concept",
"hierarchy",
"composition",
"grid",
"crop",
"spacing",
"typography",
"color",
"lighting",
"camera",
"material",
"manipulation",
"texture",
"brand-behavior",
"restraint",
"cultural-direction"
]
}
},
"context": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"tags": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"observations": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"dimension",
"evidence",
"interpretation",
"confidence"
],
"properties": {
"dimension": {
"type": "string",
"minLength": 1
},
"evidence": {
"type": "string",
"minLength": 3
},
"interpretation": {
"type": "string",
"minLength": 3
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"signature": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100
},
{
"type": "null"
}
]
}
},
"rules": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"job",
"rule",
"evidence",
"strength",
"transferable"
],
"properties": {
"job": {
"type": "string",
"minLength": 1
},
"rule": {
"type": "string",
"minLength": 5
},
"evidence": {
"type": "string",
"minLength": 3
},
"strength": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"transferable": {
"type": "boolean"
}
}
}
},
"anti_rules": {
"type": "array",
"items": {
"type": "string",
"minLength": 3
}
},
"similarity_guard": {
"type": "object",
"additionalProperties": false,
"required": [
"copy_risk",
"protected_elements",
"must_transform"
],
"properties": {
"copy_risk": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"protected_elements": {
"type": "array",
"items": {
"type": "string"
}
},
"must_transform": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
SHA-256: 1a7b1b348bfc0c6aa487f6aeba12a457305a0139d32d5869980557d5d0d02470