From b4455693ab24cd271e6c83ba27340c55455b8e5e Mon Sep 17 00:00:00 2001 From: wwlwgo <165299182+wwlwgo@users.noreply.github.com> Date: Wed, 29 Jul 2026 22:43:37 +0800 Subject: [PATCH] feat: add reviewStatus to dependency schema, make reason required --- schema/dependencies.schema.json | 60 +++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/schema/dependencies.schema.json b/schema/dependencies.schema.json index bcea8f52..8668afc6 100644 --- a/schema/dependencies.schema.json +++ b/schema/dependencies.schema.json @@ -1,23 +1,63 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://withmarble.com/taxonomy/schema/dependencies.schema.json", - "title": "Marble Skill Taxonomy — dependencies", + "title": "Marble Skill Taxonomy \u2014 dependencies", "type": "object", - "required": ["version", "edgeCount", "dependencies"], + "required": [ + "version", + "edgeCount", + "dependencies" + ], "properties": { - "version": { "type": "string" }, - "note": { "type": "string" }, - "edgeCount": { "type": "integer", "minimum": 0 }, + "version": { + "type": "string" + }, + "note": { + "type": "string" + }, + "edgeCount": { + "type": "integer", + "minimum": 0 + }, "dependencies": { "type": "array", "items": { "type": "object", - "required": ["topicId", "prerequisiteId", "strength"], + "required": [ + "topicId", + "prerequisiteId", + "strength", + "reason" + ], "properties": { - "topicId": { "type": "string", "pattern": "^mt_" }, - "prerequisiteId": { "type": "string", "pattern": "^mt_" }, - "strength": { "type": "string", "enum": ["hard", "soft"] }, - "reason": { "type": ["string", "null"] } + "topicId": { + "type": "string", + "pattern": "^mt_" + }, + "prerequisiteId": { + "type": "string", + "pattern": "^mt_" + }, + "strength": { + "type": "string", + "enum": [ + "hard", + "soft" + ] + }, + "reason": { + "type": "string", + "minLength": 10 + }, + "reviewStatus": { + "type": "string", + "enum": [ + "draft", + "reviewed", + "approved" + ], + "default": "draft" + } }, "additionalProperties": false }