Notes:
- Validation errors are
422(not 400): the request was well-formed but a value was refused;error.paramnames the field. resource_archived(409) protects intent: an archived source stays archived until you explicitly restore it — a sync must not silently resurrect something an owner removed from their agents. The message includes the restore call.- DELETE answers 405: sources are never destroyed, only archived — history (citations, conversations that used the source) stays intact.

