| """Safety gate for manual dataset uploads (ADR-0011). | |
| Public, non-agent-facing API. An upload is quarantined-until-validated and never | |
| executable, routed through the same manifest/validation machinery a registered | |
| dataset passes, plus an admin approval: | |
| stage_upload(...) → quarantine + type/size/manifest/attestation gate | |
| validate_upload(rec) → manifest-schema + against-data validation | |
| register_upload(rec) → admin-only promotion into the live registry | |
| Only admins (UPLOAD_ADMIN_IDS) can register; researchers may stage + validate. | |
| """ | |
| from src.uploads.promotion import RegistrationRefused, register_upload | |
| from src.uploads.records import ( | |
| STATUS_QUARANTINED, | |
| STATUS_REGISTERED, | |
| STATUS_REJECTED, | |
| STATUS_VALIDATED, | |
| UploadRecord, | |
| is_admin, | |
| ) | |
| from src.uploads.staging import UploadRejected, stage_upload | |
| from src.uploads.validation import validate_upload | |
| __all__ = [ | |
| "stage_upload", | |
| "validate_upload", | |
| "register_upload", | |
| "UploadRecord", | |
| "UploadRejected", | |
| "RegistrationRefused", | |
| "is_admin", | |
| "STATUS_REJECTED", | |
| "STATUS_QUARANTINED", | |
| "STATUS_VALIDATED", | |
| "STATUS_REGISTERED", | |
| ] | |