Files
pi-agent-config/scenarios/curator/backend/curator/schemas/fact_pack.json
T
Kai 35af26c794 feat(curator): vendor the backend application under scenarios/curator/backend
The curator app (Python backend, tests, systemd units, config, scripts) now lives in this repo under scenarios/curator/backend, exported from the standalone checkout's tracked tree (.pi mirror, venv and caches excluded). 149 unit tests pass from the new location; _SHARED_LIB and eval GOLDEN_DIR resolve unchanged. History not preserved per decision.

verify-no-secrets: the ASSIGN heuristic now requires the value to carry entropy (a digit or uppercase letter), so vendored Python kwargs like token=extraction_token no longer false-positive while real base64/hex/random secrets still trip it.
2026-08-30 07:54:39 -07:00

131 lines
3.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://curator.local/schemas/fact_pack.json",
"title": "fact_pack",
"type": "object",
"additionalProperties": false,
"properties": {
"library": {
"type": "object",
"additionalProperties": false,
"properties": {
"matches": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"instance": {
"type": "string",
"description": "Which catalog instance, e.g. sonarr-4k."
},
"quality": {
"type": "string"
},
"title": {
"type": "string",
"maxLength": 300
},
"year": {
"type": [
"integer",
"null"
],
"minimum": 1000,
"maximum": 2999,
"description": "Four-digit year, or null when not known. Never a guess."
},
"has_file": {
"type": "boolean",
"description": "A file exists. Tracking alone is not ownership."
},
"has_file_basis": {
"type": "string",
"description": "What has_file was derived from."
},
"episode_count": {
"type": [
"integer",
"null"
]
},
"episode_file_count": {
"type": [
"integer",
"null"
]
},
"monitored": {
"type": [
"boolean",
"null"
]
},
"file_qualities": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
}
}
}
},
"catalogs_checked": {
"type": "array",
"items": {
"type": "string"
},
"description": "Catalogs that actually answered."
},
"catalogs_unavailable": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"catalog": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"ok",
"not_configured",
"failed"
]
},
"error": {
"type": "string"
}
}
}
},
"errors": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"online": {
"type": "object"
},
"counts": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"action_result": {
"type": [
"object",
"null"
]
},
"retry": {
"type": "object"
}
}
}