changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "band": {
+ "enum": [
+ "sterk",
+ "goed",
+ "in_ontwikkeling",
+ "zwak"
+ ],
+ "type": "string"
+ },
+ "bandLabel": {
+ "type": "string"
+ },
+ "canOpenInEditor": {
+ "type": "boolean"
+ },
+ "counts": {
+ "additionalProperties": false,
+ "properties": {
+ "mustMatched": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "mustMissing": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "mustPartial": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "niceMatched": {
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "mustMatched",
+ "mustPartial",
+ "mustMissing",
+ "niceMatched"
+ ],
+ "type": "object"
+ },
+ "grade10": {
+ "maximum": 10,
+ "minimum": 1,
+ "type": "number"
+ },
+ "limitations": {
+ "type": "string"
+ },
+ "matchedKeywords": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "additionalProperties": false,
+ "properties": {
+ "locale": {
+ "enum": [
+ "nl",
+ "en"
+ ],
+ "type": "string"
+ },
+ "schemaVersion": {
+ "const": "2.0.0",
+ "type": "string"
+ },
+ "scoringVersion": {
+ "type": "string"
+ },
+ "tool": {
+ "enum": [
+ "check_cv",
+ "match_vacancy",
+ "open_in_editor"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "tool",
+ "schemaVersion",
+ "scoringVersion",
+ "locale"
+ ],
+ "type": "object"
+ },
+ "missingKeywords": {
+ "description": "Short keywords only, deduplicated, most important first.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "nextStep": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "enum": [
+ "open_in_editor",
+ "match_vacancy",
+ "none"
+ ],
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "suggestedUserPrompt": {
+ "description": "A short line the agent can say to the user, in the CV's language.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "reason",
+ "suggestedUserPrompt"
+ ],
+ "type": "object"
+ },
+ "requirements": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "category": {
+ "enum": [
+ "experience",
+ "tool",
+ "skill",
+ "education",
+ "language",
+ "duty",
+ "other"
+ ],
+ "type": "string"
+ },
+ "cvQuote": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Exact text from the CV that supports the status. Null when missing."
+ },
+ "gap": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "For partial/missing: what exactly is not shown, e.g. 'Google Analytics genoemd, GA4 niet'."
+ },
+ "honestAction": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "What to add IF it is true. Never suggest claiming experience the user does not have."
+ },
+ "id": {
+ "type": "string"
+ },
+ "keywords": {
+ "description": "Short ATS keywords for this requirement, e.g. ['GA4']",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "requirement": {
+ "description": "Short, one thing only: 'Meta Ads', not 'Google Ads en Meta Ads'.",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "match",
+ "partial",
+ "missing"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "must",
+ "nice"
+ ],
+ "type": "string"
+ },
+ "vacancyQuote": {
+ "description": "Exact text from the vacancy.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "requirement",
+ "type",
+ "category",
+ "status",
+ "vacancyQuote",
+ "cvQuote",
+ "gap",
+ "honestAction",
+ "keywords"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "score": {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "summary": {
+ "type": "string"
+ },
+ "topFixes": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "example": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Optional rewritten line in the CV's language. Must not invent facts; use [X] for numbers the user must fill in."
+ },
+ "fix": {
+ "description": "One sentence: what to change.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Stable machine id, e.g. 'quantified_achievement'",
+ "type": "string"
+ },
+ "problem": {
+ "description": "One sentence: what is wrong, with the measured value where there is one.",
+ "type": "string"
+ },
+ "quote": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Exact text copied from the CV that this fix is about. Null when the problem is something missing."
+ },
+ "section": {
+ "enum": [
+ "contact",
+ "profile",
+ "experience",
+ "education",
+ "skills",
+ "languages",
+ "certificates",
+ "hobbies",
+ "general"
+ ],
+ "type": "string"
+ },
+ "severity": {
+ "enum": [
+ "critical",
+ "high",
+ "medium",
+ "low"
+ ],
+ "type": "string"
+ },
+ "where": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Human location, e.g. 'Werkervaring > Marketing Coördinator, bullet 1'. Null for CV-wide issues."
+ }
+ },
+ "required": [
+ "id",
+ "severity",
+ "section",
+ "where",
+ "quote",
+ "problem",
+ "fix",
+ "example"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "type": "array"
+ },
+ "vacancyTitle": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "score",
+ "grade10",
+ "band",
+ "bandLabel",
+ "summary",
+ "vacancyTitle",
+ "requirements",
+ "counts",
+ "matchedKeywords",
+ "missingKeywords",
+ "topFixes",
+ "canOpenInEditor",
+ "nextStep",
+ "limitations",
+ "meta"
+ ],
+ "type": "object"
+}