changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$id": "project-test-plan-v1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "enum": [
+ "add-test",
+ "extend-test",
+ "defer"
+ ]
+ },
+ "adapterId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "existingTestEvidence": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "type": "string"
+ },
+ "strength": {
+ "enum": [
+ "naming",
+ "direct",
+ "referenced",
+ "indirect"
+ ]
+ },
+ "testPath": {
+ "type": "string"
+ },
+ "usage": {
+ "enum": [
+ "called",
+ "asserted"
+ ]
+ },
+ "viaUsage": {
+ "enum": [
+ "called",
+ "asserted"
+ ]
+ }
+ },
+ "required": [
+ "testPath",
+ "kind",
+ "strength"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "existingTestPaths": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "id": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maintenanceCost": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "projectId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectItemId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectRoot": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "rationale": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "riskReductionScore": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sourceSignals": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "target": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "targetId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "testLevel": {
+ "enum": [
+ "unit",
+ "integration",
+ "component",
+ "ui",
+ "none"
+ ]
+ }
+ },
+ "required": [
+ "projectId",
+ "projectRoot",
+ "adapterId",
+ "projectItemId",
+ "id",
+ "action",
+ "targetId",
+ "target",
+ "path",
+ "testLevel",
+ "priority",
+ "riskReductionScore",
+ "maintenanceCost",
+ "rationale",
+ "sourceSignals",
+ "existingTestPaths"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "projectPlans": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "adapterId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "plan": {
+ "additionalProperties": true,
+ "properties": {
+ "blockers": {
+ "type": "array"
+ },
+ "items": {
+ "type": "array"
+ },
+ "schemaVersion": {
+ "const": "plan/v1"
+ },
+ "summary": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "schemaVersion",
+ "summary",
+ "blockers",
+ "items"
+ ],
+ "type": "object"
+ },
+ "projectId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectRoot": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "projectId",
+ "projectRoot",
+ "adapterId",
+ "plan"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "root": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "schemaVersion": {
+ "const": "project-test-plan/v1"
+ },
+ "summary": {
+ "additionalProperties": false,
+ "properties": {
+ "addTestCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "auditCoverage": {
+ "enum": [
+ "complete",
+ "partial",
+ "none"
+ ]
+ },
+ "deferredCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "extendTestCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "itemCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "plannedProjectCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "projectCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "unsupportedProjectCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "unsupportedReasons": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "required": [
+ "projectCount",
+ "plannedProjectCount",
+ "unsupportedProjectCount",
+ "auditCoverage",
+ "unsupportedReasons",
+ "addTestCount",
+ "extendTestCount",
+ "deferredCount",
+ "itemCount"
+ ],
+ "type": "object"
+ },
+ "unsupportedProjects": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "adapterMatches": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "adapterId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "matchedEcosystems": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "matchedLanguages": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "maturity": {
+ "enum": [
+ "supported",
+ "experimental",
+ "planned"
+ ]
+ }
+ },
+ "required": [
+ "adapterId",
+ "maturity",
+ "matchedEcosystems",
+ "matchedLanguages"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "ecosystems": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "languages": {
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "projectId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectRoot": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "reason": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "supportStatusReason": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "projectId",
+ "projectRoot",
+ "reason",
+ "ecosystems",
+ "languages",
+ "adapterMatches",
+ "supportStatusReason"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "schemaVersion",
+ "root",
+ "summary",
+ "unsupportedProjects",
+ "projectPlans",
+ "items"
+ ],
+ "title": "Project Test Plan Artifact",
+ "type": "object"
+}