mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 09:26:52 +01:00
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: bd6344b4-eafd-4a58-a1c9-5a2d96fa2938
509 lines
11 KiB
JSON
509 lines
11 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/microsoft/BCQuality/blob/main/schemas/generated-files-report-v1.schema.json",
|
|
"title": "BCQuality generated files report v1",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"output-kind",
|
|
"contract-version",
|
|
"skill",
|
|
"outcome",
|
|
"outcome-reason",
|
|
"summary",
|
|
"knowledge-revision",
|
|
"assumptions",
|
|
"artifacts",
|
|
"applied-guidance",
|
|
"omitted-guidance",
|
|
"suppressed"
|
|
],
|
|
"properties": {
|
|
"output-kind": {
|
|
"const": "generated-files-report"
|
|
},
|
|
"contract-version": {
|
|
"const": 1
|
|
},
|
|
"skill": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"id",
|
|
"version"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"const": "al-code-generation"
|
|
},
|
|
"version": {
|
|
"const": 1
|
|
}
|
|
}
|
|
},
|
|
"outcome": {
|
|
"enum": [
|
|
"completed",
|
|
"not-applicable",
|
|
"no-knowledge",
|
|
"partial",
|
|
"failed"
|
|
]
|
|
},
|
|
"outcome-reason": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 2000
|
|
},
|
|
"summary": {
|
|
"$ref": "#/$defs/summary"
|
|
},
|
|
"knowledge-revision": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"repository",
|
|
"commit-sha"
|
|
],
|
|
"properties": {
|
|
"repository": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"pattern": "^https://",
|
|
"description": "Immutable-revision repository containing every cited enabled layer, including a fork's custom layer."
|
|
},
|
|
"commit-sha": {
|
|
"$ref": "#/$defs/commitSha"
|
|
}
|
|
}
|
|
},
|
|
"assumptions": {
|
|
"type": "array",
|
|
"maxItems": 64,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 1000
|
|
}
|
|
},
|
|
"artifacts": {
|
|
"type": "array",
|
|
"maxItems": 64,
|
|
"items": {
|
|
"$ref": "#/$defs/artifact"
|
|
}
|
|
},
|
|
"applied-guidance": {
|
|
"type": "array",
|
|
"maxItems": 64,
|
|
"items": {
|
|
"$ref": "#/$defs/appliedGuidance"
|
|
}
|
|
},
|
|
"omitted-guidance": {
|
|
"type": "array",
|
|
"maxItems": 64,
|
|
"items": {
|
|
"$ref": "#/$defs/omittedGuidance"
|
|
}
|
|
},
|
|
"suppressed": {
|
|
"type": "array",
|
|
"maxItems": 64,
|
|
"items": {
|
|
"$ref": "#/$defs/suppression"
|
|
}
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"outcome": {
|
|
"const": "completed"
|
|
}
|
|
},
|
|
"required": [
|
|
"outcome"
|
|
]
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"artifacts": {
|
|
"minItems": 1
|
|
},
|
|
"omitted-guidance": {
|
|
"maxItems": 0
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"outcome": {
|
|
"const": "partial"
|
|
}
|
|
},
|
|
"required": [
|
|
"outcome"
|
|
]
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"artifacts": {
|
|
"minItems": 1
|
|
},
|
|
"omitted-guidance": {
|
|
"minItems": 1
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"omitted-guidance": {
|
|
"minItems": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"omitted-guidance"
|
|
]
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"outcome": {
|
|
"const": "partial"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"outcome": {
|
|
"enum": [
|
|
"not-applicable",
|
|
"no-knowledge",
|
|
"failed"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"outcome"
|
|
]
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"artifacts": {
|
|
"maxItems": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"$defs": {
|
|
"commitSha": {
|
|
"type": "string",
|
|
"pattern": "^[0-9a-f]{40}$"
|
|
},
|
|
"canonicalAlPath": {
|
|
"type": "string",
|
|
"minLength": 4,
|
|
"maxLength": 512,
|
|
"pattern": "^(?!/)(?![A-Za-z]:)(?!.*\\\\)(?!.*(?:^|/)\\.(?:/|$))(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.git(?:/|$))[^/\\u0000]+(?:/[^/\\u0000]+)*\\.al$"
|
|
},
|
|
"knowledgePath": {
|
|
"type": "string",
|
|
"pattern": "^(microsoft|community|custom)/knowledge/[a-z0-9-]+/[a-z0-9-]+\\.md$"
|
|
},
|
|
"goodSamplePath": {
|
|
"type": "string",
|
|
"pattern": "^(microsoft|community|custom)/knowledge/[a-z0-9-]+/[a-z0-9-]+\\.good\\.al$"
|
|
},
|
|
"objectType": {
|
|
"enum": [
|
|
"codeunit",
|
|
"controladdin",
|
|
"enum",
|
|
"enumextension",
|
|
"interface",
|
|
"page",
|
|
"pagecustomization",
|
|
"pageextension",
|
|
"permissionset",
|
|
"permissionsetextension",
|
|
"profile",
|
|
"query",
|
|
"report",
|
|
"reportextension",
|
|
"table",
|
|
"tableextension",
|
|
"xmlport"
|
|
]
|
|
},
|
|
"revisionScopedArticleReference": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"path",
|
|
"sha"
|
|
],
|
|
"properties": {
|
|
"path": {
|
|
"$ref": "#/$defs/knowledgePath"
|
|
},
|
|
"sha": {
|
|
"$ref": "#/$defs/commitSha"
|
|
}
|
|
}
|
|
},
|
|
"revisionScopedGoodSampleReference": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"path",
|
|
"sha"
|
|
],
|
|
"properties": {
|
|
"path": {
|
|
"$ref": "#/$defs/goodSamplePath"
|
|
},
|
|
"sha": {
|
|
"$ref": "#/$defs/commitSha"
|
|
}
|
|
}
|
|
},
|
|
"coverage": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"candidate-count",
|
|
"relevant-count",
|
|
"worklist-count",
|
|
"opened-article-count",
|
|
"opened-good-sample-count",
|
|
"opened-bad-sample-count",
|
|
"omitted-count"
|
|
],
|
|
"properties": {
|
|
"candidate-count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"relevant-count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"worklist-count": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 64
|
|
},
|
|
"opened-article-count": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 64
|
|
},
|
|
"opened-good-sample-count": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 64
|
|
},
|
|
"opened-bad-sample-count": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 64
|
|
},
|
|
"omitted-count": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 64
|
|
}
|
|
}
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"artifact-count",
|
|
"total-content-bytes",
|
|
"coverage"
|
|
],
|
|
"properties": {
|
|
"artifact-count": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 64
|
|
},
|
|
"total-content-bytes": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 4194304
|
|
},
|
|
"coverage": {
|
|
"$ref": "#/$defs/coverage"
|
|
}
|
|
}
|
|
},
|
|
"artifact": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"path",
|
|
"encoding",
|
|
"object-type",
|
|
"object-id",
|
|
"object-name",
|
|
"content",
|
|
"rationale",
|
|
"article-references",
|
|
"good-sample-references"
|
|
],
|
|
"properties": {
|
|
"path": {
|
|
"$ref": "#/$defs/canonicalAlPath"
|
|
},
|
|
"encoding": {
|
|
"const": "utf-8"
|
|
},
|
|
"object-type": {
|
|
"$ref": "#/$defs/objectType"
|
|
},
|
|
"object-id": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 999999999
|
|
},
|
|
"object-name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 262144
|
|
},
|
|
"rationale": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 2000
|
|
},
|
|
"article-references": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 16,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"$ref": "#/$defs/revisionScopedArticleReference"
|
|
}
|
|
},
|
|
"good-sample-references": {
|
|
"type": "array",
|
|
"maxItems": 16,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"$ref": "#/$defs/revisionScopedGoodSampleReference"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"appliedGuidance": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"reference",
|
|
"artifact-paths",
|
|
"application"
|
|
],
|
|
"properties": {
|
|
"reference": {
|
|
"$ref": "#/$defs/revisionScopedArticleReference"
|
|
},
|
|
"artifact-paths": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 64,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"$ref": "#/$defs/canonicalAlPath"
|
|
}
|
|
},
|
|
"application": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 2000
|
|
}
|
|
}
|
|
},
|
|
"omittedGuidance": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"reference",
|
|
"reason",
|
|
"detail"
|
|
],
|
|
"properties": {
|
|
"reference": {
|
|
"$ref": "#/$defs/revisionScopedArticleReference"
|
|
},
|
|
"reason": {
|
|
"enum": [
|
|
"context-budget",
|
|
"article-unavailable",
|
|
"article-invalid",
|
|
"sample-unavailable",
|
|
"allowlist-boundary"
|
|
]
|
|
},
|
|
"detail": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 2000
|
|
}
|
|
}
|
|
},
|
|
"suppression": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"reference",
|
|
"reason"
|
|
],
|
|
"properties": {
|
|
"reference": {
|
|
"$ref": "#/$defs/revisionScopedArticleReference"
|
|
},
|
|
"reason": {
|
|
"const": "layer-precedence"
|
|
},
|
|
"superseded-by": {
|
|
"$ref": "#/$defs/revisionScopedArticleReference"
|
|
}
|
|
},
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"reason": {
|
|
"const": "layer-precedence"
|
|
}
|
|
},
|
|
"required": [
|
|
"reason"
|
|
]
|
|
},
|
|
"then": {
|
|
"required": [
|
|
"superseded-by"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|