Files
VianoBugAnalysis/src/viano_bug_analysis/schemas/investigation-state-v1.schema.json
T

1640 lines
60 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [
"format",
"format_version",
"case_id",
"package_id",
"analysis_revision",
"sequence",
"parent_ref",
"policy",
"hypotheses",
"cursor",
"active",
"completed",
"summary_ref",
"countercheck_complete"
],
"properties": {
"format": {
"const": "viano-investigation-state"
},
"format_version": {
"const": 1
},
"case_id": {
"type": "string",
"minLength": 1
},
"package_id": {
"type": "string",
"minLength": 1
},
"analysis_revision": {
"type": "integer",
"minimum": 1
},
"sequence": {
"type": "integer",
"minimum": 1
},
"parent_ref": {
"type": [
"string",
"null"
]
},
"policy": {
"type": "object",
"additionalProperties": false,
"required": [
"max_iterations_per_hypothesis",
"max_invalid_responses",
"max_questions_per_hypothesis",
"test_deadline_seconds",
"max_steps_per_dispatch"
],
"properties": {
"max_iterations_per_hypothesis": {
"type": "integer",
"minimum": 1
},
"max_invalid_responses": {
"type": "integer",
"minimum": 1
},
"max_questions_per_hypothesis": {
"type": "integer",
"minimum": 1
},
"test_deadline_seconds": {
"type": "integer",
"minimum": 1
},
"max_steps_per_dispatch": {
"type": "integer",
"minimum": 1
},
"max_early_reviews": {
"type": "integer",
"minimum": 1
}
}
},
"hypotheses": {
"type": "object",
"minProperties": 1,
"propertyNames": {
"pattern": "^H[1-9][0-9]*$"
},
"additionalProperties": {
"type": "object",
"additionalProperties": false,
"required": [
"proposal",
"confidence",
"evidence_refs",
"notes",
"questions",
"disposition",
"iterations",
"invalid_responses",
"last_record_ref"
],
"properties": {
"proposal": {
"type": "object"
},
"confidence": {
"enum": [
"unassessed",
"weak",
"plausible",
"supported",
"strongly_supported",
"weakened"
]
},
"evidence_refs": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"notes": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"code",
"llm_ref"
],
"properties": {
"kind": {
"const": "invalid_response"
},
"code": {
"type": "string",
"minLength": 1
},
"llm_ref": {
"type": "string",
"minLength": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"text",
"llm_ref"
],
"properties": {
"kind": {
"const": "assessment"
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"llm_ref": {
"type": "string",
"minLength": 1
},
"causal_review": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [
"effect",
"support",
"against",
"reason"
],
"properties": {
"effect": {
"enum": [
"supports",
"contradicts",
"mixed",
"neutral"
]
},
"support": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"against": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"pattern": "\\S"
}
}
},
"requested_confidence": {
"enum": [
"unassessed",
"weak",
"plausible",
"supported",
"strongly_supported",
"weakened"
]
},
"effective_confidence": {
"enum": [
"unassessed",
"weak",
"plausible",
"supported",
"strongly_supported",
"weakened"
]
}
}
}
]
}
},
"questions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"text",
"resolved"
],
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"resolved": {
"type": "boolean"
}
}
}
},
"disposition": {
"enum": [
"active",
"finish",
"reject",
"invalid_responses",
"iteration_limit",
"rejected",
"budget_exhausted",
"abandoned_low_information_gain",
"investigation_finished"
]
},
"iterations": {
"type": "integer",
"minimum": 0
},
"invalid_responses": {
"type": "integer",
"minimum": 0
},
"last_record_ref": {
"type": [
"string",
"null"
]
},
"working_brief_ref": {
"type": "string",
"minLength": 1
},
"working_brief_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"dependentRequired": {
"working_brief_ref": [
"working_brief_sha256"
],
"working_brief_sha256": [
"working_brief_ref"
]
}
}
},
"cursor": {
"type": "integer",
"minimum": 0
},
"active": {
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"hypothesis_id",
"iteration",
"attempt",
"phase",
"context_ref",
"context_sha256",
"decision",
"llm_ref",
"test_request",
"test_deadline",
"retry_token"
],
"properties": {
"hypothesis_id": {
"type": "string",
"minLength": 1
},
"iteration": {
"type": "integer",
"minimum": 1
},
"attempt": {
"type": "integer",
"minimum": 0
},
"phase": {
"enum": [
"prompt",
"executing"
]
},
"context_ref": {
"type": "string",
"minLength": 1
},
"context_sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"decision": {
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"assessment",
"update",
"next"
],
"properties": {
"assessment": {
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"semantic_score",
"reason",
"evidence_refs"
],
"properties": {
"semantic_score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"evidence_refs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
}
}
}
]
},
"update": {
"type": "object",
"additionalProperties": false,
"required": [
"confidence",
"evidence_refs",
"resolve_questions",
"add_questions",
"note"
],
"properties": {
"confidence": {
"enum": [
"unassessed",
"weak",
"plausible",
"supported",
"strongly_supported",
"weakened"
]
},
"evidence_refs": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"resolve_questions": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^Q[0-9]{4,}$"
}
},
"add_questions": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"causal_review": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [
"effect",
"support",
"against",
"reason"
],
"properties": {
"effect": {
"enum": [
"supports",
"contradicts",
"mixed",
"neutral"
]
},
"support": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"against": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 600,
"pattern": "\\S"
}
}
},
"working_brief": {
"type": "object",
"additionalProperties": false,
"required": [
"format_version",
"findings",
"uncertainties",
"next_question",
"changes"
],
"properties": {
"format_version": {
"const": 1
},
"findings": {
"type": "array",
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"direction",
"text",
"scope",
"evidence_refs"
],
"properties": {
"id": {
"type": "string",
"pattern": "^B[0-9]{4,}$"
},
"direction": {
"enum": [
"support",
"against",
"neutral"
]
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"pattern": "\\S"
},
"scope": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "\\S"
},
"evidence_refs": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
}
}
}
},
"uncertainties": {
"type": "array",
"maxItems": 6,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"pattern": "\\S"
}
},
"next_question": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"pattern": "\\S"
},
"changes": {
"type": "array",
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"reason",
"evidence_refs"
],
"properties": {
"id": {
"type": "string",
"pattern": "^B[0-9]{4,}$"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"pattern": "\\S"
},
"evidence_refs": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
}
}
}
}
}
}
}
},
"next": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "source.find_text"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"required": [
"source_refs",
"text",
"case_sensitive",
"offset",
"limit"
],
"properties": {
"source_refs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"text": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"case_sensitive": {
"type": "boolean"
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "source.find_symbol"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"required": [
"source_refs",
"symbol",
"offset",
"limit"
],
"properties": {
"source_refs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"symbol": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "source.read_context"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"required": [
"source_ref",
"start_line",
"end_line"
],
"properties": {
"source_ref": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"start_line": {
"type": "integer",
"minimum": 1
},
"end_line": {
"type": "integer",
"minimum": 1
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "database.describe"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"required": [
"source_ref"
],
"properties": {
"source_ref": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "database.lookup"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"required": [
"source_ref",
"filters",
"columns",
"offset",
"limit"
],
"properties": {
"source_ref": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"filters": {
"type": "object",
"minProperties": 1,
"propertyNames": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"columns": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "database.find_references"
},
"arguments": {
"type": "object",
"additionalProperties": false,
"required": [
"source_ref",
"search_columns",
"value",
"columns",
"offset",
"limit"
],
"properties": {
"source_ref": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"search_columns": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"value": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"columns": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1
}
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"executor",
"question",
"steps",
"prerequisites",
"requested_observations",
"environment"
],
"properties": {
"kind": {
"const": "test"
},
"executor": {
"enum": [
"human",
"automated"
]
},
"question": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"steps": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
},
"prerequisites": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
},
"requested_observations": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
},
"environment": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"reason"
],
"properties": {
"kind": {
"const": "finish"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"reason"
],
"properties": {
"kind": {
"const": "reject"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"operation",
"arguments"
],
"properties": {
"kind": {
"const": "tool"
},
"operation": {
"const": "project.query"
},
"arguments": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"text",
"offset",
"limit"
],
"properties": {
"kind": {
"enum": [
"source.files",
"database.tables"
]
},
"text": {
"type": "string",
"maxLength": 200
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 20000
},
"limit": {
"type": "integer",
"minimum": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"table"
],
"properties": {
"kind": {
"const": "database.schema"
},
"table": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
"maxLength": 64
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"table",
"columns",
"filters",
"offset",
"limit"
],
"properties": {
"kind": {
"enum": [
"database.rows",
"database.count"
]
},
"table": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
"maxLength": 64
},
"columns": {
"type": "array",
"uniqueItems": true,
"maxItems": 30,
"items": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
"maxLength": 64
}
},
"filters": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"column",
"operator",
"value"
],
"properties": {
"column": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
"maxLength": 64
},
"operator": {
"enum": [
"eq",
"ne",
"lt",
"le",
"gt",
"ge",
"contains",
"in"
]
},
"value": {
"oneOf": [
{
"type": [
"string",
"number",
"boolean",
"null"
]
},
{
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": [
"string",
"number",
"boolean",
"null"
]
}
}
]
}
}
}
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"limit": {
"type": "integer",
"minimum": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"text",
"path_prefix",
"case_sensitive",
"offset",
"limit"
],
"properties": {
"kind": {
"enum": [
"source.search",
"source.symbol",
"source.registration",
"source.schema"
]
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"path_prefix": {
"type": "string",
"maxLength": 250
},
"case_sensitive": {
"type": "boolean"
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"limit": {
"type": "integer",
"minimum": 1
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"path",
"start_line",
"end_line"
],
"properties": {
"kind": {
"const": "source.read"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 250
},
"start_line": {
"type": "integer",
"minimum": 1
},
"end_line": {
"type": "integer",
"minimum": 1
}
}
}
]
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"reason",
"countercheck_refs"
],
"properties": {
"kind": {
"const": "request_diagnosis"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"countercheck_refs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"reason"
],
"properties": {
"kind": {
"const": "defer"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
}
}
},
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"evidence_refs"
],
"properties": {
"kind": {
"const": "recall"
},
"evidence_refs": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
}
}
}
]
}
}
}
]
},
"llm_ref": {
"type": [
"string",
"null"
]
},
"test_request": {
"anyOf": [
{
"type": "null"
},
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": [
"format_version",
"case_id",
"package_id",
"analysis_revision",
"request_id",
"hypothesis_id",
"action_id",
"executor",
"format",
"question",
"steps",
"prerequisites",
"requested_observations",
"environment",
"deadline",
"budget_ledger_ref"
],
"properties": {
"format_version": {
"const": 1
},
"case_id": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"package_id": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"analysis_revision": {
"type": "integer",
"minimum": 1
},
"request_id": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"hypothesis_id": {
"type": "string",
"pattern": "^H[1-9][0-9]*$"
},
"action_id": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"executor": {
"enum": [
"human",
"automated"
]
},
"format": {
"const": "viano-async-test-request"
},
"question": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"steps": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"prerequisites": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"requested_observations": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
},
"environment": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"deadline": {
"type": "string",
"format": "date-time"
},
"budget_ledger_ref": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
}
}
}
]
},
"test_deadline": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"retry_token": {
"type": "string",
"minLength": 1
}
}
}
]
},
"completed": {
"type": "boolean"
},
"summary_ref": {
"type": [
"string",
"null"
]
},
"countercheck_complete": {
"type": "boolean"
},
"prompt_protocol": {
"const": 2
},
"early_stop_protocol": {
"const": 1
},
"early_stop_attempts": {
"type": "integer",
"minimum": 0
},
"early_stop": {
"type": "object",
"additionalProperties": false,
"required": [
"status",
"number",
"hypothesis_id",
"evidence_refs",
"countercheck_refs",
"reason",
"fingerprint"
],
"properties": {
"status": {
"enum": [
"preparing",
"requested",
"declined"
]
},
"number": {
"type": "integer",
"minimum": 1
},
"hypothesis_id": {
"type": "string",
"pattern": "^H[1-9][0-9]*$"
},
"evidence_refs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"countercheck_refs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"pattern": "\\S"
},
"fingerprint": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"deferred_hypotheses": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"decline_reason": {
"type": "string"
},
"review_ref": {
"type": "string"
}
}
},
"recalled_evidence": {
"type": "object",
"additionalProperties": {
"type": "array",
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^E[0-9]{6,}$"
}
}
}
}
}