Files
repo-scoping/docs/schemas/repo-scope-context-response.json

60 lines
2.0 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://repo-scoping.local/schemas/repo-scope-context-response.json",
"title": "Repository Scope Context Response",
"description": "Provider-side context contract returned by GET /repos/{repo_slug}/scope/context for activity-core.",
"type": "object",
"additionalProperties": false,
"required": [
"repo_slug",
"capabilities",
"tags",
"scope_md_exists",
"scope_summary"
],
"properties": {
"repo_slug": {
"type": "string",
"description": "Slug requested by the caller after normal slugification.",
"examples": ["repo-scoping"]
},
"capabilities": {
"type": "array",
"description": "Approved capability names from the repository ability map.",
"items": {
"type": "string"
},
"examples": [["Generate SCOPE.md", "Preview generated SCOPE.md"]]
},
"tags": {
"type": "array",
"description": "Stable, sorted union of approved ability and capability primary_class values plus their attributes.",
"items": {
"type": "string"
},
"examples": [["api", "generation", "scope"]]
},
"scope_md_exists": {
"type": "boolean",
"description": "True when repo-scoping can inspect a local or cached checkout and root SCOPE.md exists; false when absent or unknown.",
"examples": [true]
},
"scope_summary": {
"description": "First non-empty paragraph of root SCOPE.md when inspectable; otherwise approved scope description, repository description, or null.",
"type": ["string", "null"],
"examples": [
"Repository Scoping maps repositories into reviewable scope graphs."
]
}
},
"examples": [
{
"repo_slug": "repo-scoping",
"capabilities": ["Generate SCOPE.md"],
"tags": ["api", "generation", "scope"],
"scope_md_exists": true,
"scope_summary": "Repository Scoping maps repositories into reviewable scope graphs."
}
]
}