Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a049a4-ee9f-78e1-9d66-2cb0f9bea3e3
160 lines
4.2 KiB
JSON
160 lines
4.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://state-hub.coulomb.social/schemas/repository-rename-handoff-v1.schema.json",
|
|
"title": "State Hub repository rename handoff v1",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"schema_version",
|
|
"handoff_id",
|
|
"operation_id",
|
|
"renamed_repository_id",
|
|
"source_repository",
|
|
"old_slug",
|
|
"new_slug",
|
|
"surface",
|
|
"affected",
|
|
"required_reingest",
|
|
"verification",
|
|
"owning_work_record",
|
|
"status",
|
|
"evidence",
|
|
"sensitive_data_prohibited"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "state-hub.repository-rename-handoff.v1"
|
|
},
|
|
"handoff_id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Canonical live task or intake record ID in the owning repository."
|
|
},
|
|
"operation_id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"renamed_repository_id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"source_repository": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$",
|
|
"description": "Repository that owns the slug-bearing source to change or re-ingest."
|
|
},
|
|
"old_slug": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
},
|
|
"new_slug": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
},
|
|
"surface": {
|
|
"enum": [
|
|
"fabric-projection",
|
|
"ci",
|
|
"package",
|
|
"deployment",
|
|
"credential-route",
|
|
"policy",
|
|
"sbom",
|
|
"documentation",
|
|
"consumer",
|
|
"other"
|
|
]
|
|
},
|
|
"affected": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["paths", "graph_ids"],
|
|
"properties": {
|
|
"paths": {
|
|
"type": "array",
|
|
"items": {"type": "string", "minLength": 1},
|
|
"uniqueItems": true
|
|
},
|
|
"graph_ids": {
|
|
"type": "array",
|
|
"items": {"type": "string", "minLength": 1},
|
|
"uniqueItems": true
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{"properties": {"paths": {"minItems": 1}}},
|
|
{"properties": {"graph_ids": {"minItems": 1}}}
|
|
]
|
|
},
|
|
"required_reingest": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["required", "procedure"],
|
|
"properties": {
|
|
"required": {"type": "boolean"},
|
|
"procedure": {"type": "string", "minLength": 1},
|
|
"expected_source_revision": {"type": ["string", "null"]}
|
|
}
|
|
},
|
|
"verification": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["check", "expected", "evidence_ref"],
|
|
"properties": {
|
|
"check": {"type": "string", "minLength": 1},
|
|
"expected": {"type": "string", "minLength": 1},
|
|
"evidence_ref": {"type": ["string", "null"]}
|
|
}
|
|
}
|
|
},
|
|
"owning_work_record": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["repository", "workplan_id", "task_id"],
|
|
"properties": {
|
|
"repository": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
},
|
|
"workplan_id": {"type": "string", "minLength": 1},
|
|
"task_id": {"type": "string", "minLength": 1}
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": ["open", "acknowledged", "verified", "cancelled"]
|
|
},
|
|
"evidence": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["kind", "ref"],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"commit",
|
|
"progress-event",
|
|
"decision",
|
|
"test-report",
|
|
"deployment-observation",
|
|
"reingest-receipt",
|
|
"other"
|
|
]
|
|
},
|
|
"ref": {"type": "string", "minLength": 1},
|
|
"checksum": {
|
|
"type": ["string", "null"],
|
|
"pattern": "^[a-fA-F0-9]{64}$"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"sensitive_data_prohibited": {
|
|
"const": true,
|
|
"description": "Evidence contains references and checksums only, never credentials or secret values."
|
|
}
|
|
}
|
|
}
|