feat: add archive catalog and covers

This commit is contained in:
Alexa Amundson
2025-11-24 04:32:13 -06:00
parent 33e9f48c39
commit b65da64b22
28 changed files with 1730 additions and 1 deletions

36
schemas/cover.schema.json Normal file
View File

@@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Archive Cover Sheet",
"type": "object",
"properties": {
"id": {"type": "string", "minLength": 1},
"title": {"type": "string", "minLength": 1},
"type": {"type": "string", "enum": ["repo", "project", "artifact"]},
"status": {"type": "string", "enum": ["active", "archived", "legacy"]},
"timeframe": {"type": "string"},
"primary_repo": {"type": "string"},
"linked_repos": {
"type": "array",
"items": {"type": "string"},
"default": []
},
"summary": {"type": "string"},
"why_it_matters": {"type": "string"},
"risk_if_lost": {"type": "string"},
"recommended_action": {"type": "string", "enum": ["keep-live", "snapshot", "deprecate", "merge"]}
},
"required": [
"id",
"title",
"type",
"status",
"timeframe",
"primary_repo",
"linked_repos",
"summary",
"why_it_matters",
"risk_if_lost",
"recommended_action"
],
"additionalProperties": false
}

52
schemas/repos.schema.json Normal file
View File

@@ -0,0 +1,52 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BlackRoad OS Repos Catalog",
"type": "object",
"properties": {
"repos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {"type": "string", "minLength": 1},
"full_name": {"type": "string", "minLength": 1},
"org": {"type": "string", "minLength": 1},
"description": {"type": "string"},
"visibility": {"type": "string", "enum": ["public", "private"]},
"status": {"type": "string", "enum": ["active", "archived", "experimental", "legacy"]},
"primary_domain": {"type": ["string", "null"]},
"home_pack": {"type": "string"},
"created_at": {"type": "string"},
"updated_at": {"type": "string"},
"tags": {
"type": "array",
"items": {"type": "string"},
"default": []
},
"owner_handles": {
"type": "array",
"items": {"type": "string"},
"default": []
}
},
"required": [
"id",
"full_name",
"org",
"description",
"visibility",
"status",
"primary_domain",
"home_pack",
"created_at",
"updated_at",
"tags",
"owner_handles"
],
"additionalProperties": false
}
}
},
"required": ["repos"],
"additionalProperties": false
}