Artifact lifecycle (conceptual contract)

Цель модели — единые термины для retention, verify и наблюдаемости. Не каждое состояние сейчас отражено как отдельное поле в коде. Документ синхронизирован с runtime 0.17-fix.80 (pre-0.18 freeze); исполняемый контракт манифеста — также docs/reference/manifest-schema.md.

Основные фазы

  1. creating — поток между source и destination активен (runTask).
  2. uploaded — destination Put завершён успешно, байты на объектном хранилище/диске.
  3. manifest_written — JSON манифест (storage.BackupManifest, поле version = "1") сохранён в метадату и отправлен sidecar на destination.
  4. verified — существует запись VerificationResult со статусом success.
  5. verify_failed — запись с failed + machine reason (reason в VerificationResult).
  6. retention_pending — кандидат на удаление по политике (metadata-only).
  7. deleted / delete_failed — аудит RetentionCleanupEvent (status deleted, artifact_delete_failed, manifest_delete_failed, dry_run).
  8. orphaned — объект на destination без манифеста в bolt (поиск вне MVP; политика delete_orphaned зарезервирована в YAML).

Edge cases

Подробнее о конвейере чтения/записи: docs/architecture/streaming.md.