changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$id": "project-candidate-ranking-v1.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": false,
+ "properties": {
+ "candidates": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "adapterId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "category": {
+ "enum": [
+ "untested",
+ "covered-but-risky"
+ ]
+ },
+ "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"
+ },
+ "kind": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "maintenanceCost": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "path": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "priority": {
+ "type": "integer"
+ },
+ "projectId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectRoot": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "projectTargetId": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "rationale": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "riskReductionScore": {
+ "maximum": 10,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "signals": {
+ "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",
+ "projectTargetId",
+ "targetId",
+ "target",
+ "path",
+ "category",
+ "kind",
+ "testLevel",
+ "priority",
+ "riskReductionScore",
+ "maintenanceCost",
+ "signals",
+ "rationale",
+ "existingTestPaths"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "root": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "schemaVersion": {
+ "const": "project-candidate-ranking/v1"
+ },
+ "summary": {
+ "additionalProperties": false,
+ "properties": {
+ "auditCoverage": {
+ "enum": [
+ "complete",
+ "partial",
+ "none"
+ ]
+ },
+ "auditedProjectCount": {
+ "minimum": 0,
+ "type": "integer"
+ },
+ "candidateCount": {
+ "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",
+ "auditedProjectCount",
+ "unsupportedProjectCount",
+ "auditCoverage",
+ "unsupportedReasons",
+ "candidateCount"
+ ],
+ "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",
+ "candidates"
+ ],
+ "title": "Project Candidate Ranking Artifact",
+ "type": "object"
+}