Files
GEWU/schema/v1/records/ProjectRecord.schema.json
2026-10-15 10:53:30 +08:00

295 lines
6.3 KiB
JSON

{
"$defs": {
"ProjectFacetLabel": {
"additionalProperties": false,
"properties": {
"aliases": {
"default": [],
"items": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"title": "Aliases",
"type": "array"
},
"canonical_label": {
"maxLength": 100,
"minLength": 1,
"title": "Canonical Label",
"type": "string"
},
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"definition": {
"maxLength": 500,
"minLength": 1,
"title": "Definition",
"type": "string"
},
"facet": {
"enum": [
"tags",
"audience",
"use_for",
"domain"
],
"title": "Facet",
"type": "string"
},
"jev_fit_probability": {
"anyOf": [
{
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Jev Fit Probability"
},
"jev_model": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Jev Model"
},
"jev_new_probability": {
"anyOf": [
{
"maximum": 1,
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Jev New Probability"
},
"label_id": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"title": "Label Id",
"type": "string"
},
"merged_into": {
"anyOf": [
{
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Merged Into"
},
"origin_review_id": {
"anyOf": [
{
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Origin Review Id"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
},
"status": {
"default": "active",
"enum": [
"active",
"merged",
"retired"
],
"title": "Status",
"type": "string"
}
},
"required": [
"label_id",
"facet",
"canonical_label",
"definition",
"created_at"
],
"title": "ProjectFacetLabel",
"type": "object"
},
"ProjectStatus": {
"enum": [
"active",
"paused",
"archived"
],
"title": "ProjectStatus",
"type": "string"
}
},
"additionalProperties": false,
"properties": {
"autonomy_policy_id": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"title": "Autonomy Policy Id",
"type": "string"
},
"default_includes": {
"default": [
"shared"
],
"items": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"type": "string"
},
"title": "Default Includes",
"type": "array"
},
"description": {
"default": "",
"maxLength": 4000,
"title": "Description",
"type": "string"
},
"facet_labels": {
"default": [],
"items": {
"$ref": "#/$defs/ProjectFacetLabel"
},
"maxItems": 2000,
"title": "Facet Labels",
"type": "array"
},
"key_questions": {
"items": {
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"title": "Key Questions",
"type": "array"
},
"north_star": {
"maxLength": 4000,
"minLength": 1,
"title": "North Star",
"type": "string"
},
"owners": {
"default": [],
"items": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"type": "string"
},
"title": "Owners",
"type": "array"
},
"project_id": {
"maxLength": 128,
"minLength": 1,
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$",
"title": "Project Id",
"type": "string"
},
"research_lenses": {
"default": [
"technical",
"conceptual",
"cultural-historical",
"financial-market"
],
"items": {
"enum": [
"technical",
"conceptual",
"cultural-historical",
"financial-market"
],
"type": "string"
},
"title": "Research Lenses",
"type": "array"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
},
"status": {
"$ref": "#/$defs/ProjectStatus"
},
"taxonomy_extensions": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"maxProperties": 100,
"title": "Taxonomy Extensions",
"type": "object"
},
"title": {
"maxLength": 200,
"minLength": 1,
"title": "Title",
"type": "string"
},
"watch_list": {
"default": [],
"items": {
"type": "string"
},
"maxItems": 100,
"title": "Watch List",
"type": "array"
}
},
"required": [
"project_id",
"title",
"status",
"north_star",
"key_questions",
"autonomy_policy_id"
],
"title": "ProjectRecord",
"type": "object"
}