AssetManifestTable

table

Breakdex::DataStores::AssetManifestTable

Content-addressed registry of every video asset — the single source of truth for binary files

Each row is a unique video asset identified by its SHA-256 content hash. The manifest tracks physical location, dimensions, provenance, and tombstone state. Multiple moves can reference the same asset via content_hash. This is the foundation of deduplication and multi-provider cloud sync.

Relationships

Depends On 2

asset_manifest_daoasset_hash_service

Reads From 2

moves_tablecombos_table

Writes To 1

asset_copies_table

Breaks If 3

content_hash_algorithm_changesmanifest_corruptionlocal_path_resolver_breaks

Data Access

\u2605 Owns 1

asset_copies_table

\u2190 Reads 2

moves_tablecombos_table

\u2192 Writes 1

asset_copies_table

Answers

States

StateBehavior
no Dimensions
message: Width/height NULL — video metadata extraction failed or was skipped
shows: unknown_aspect_ratio
no Local Path
message: Asset exists in manifest but not on device — must download from cloud provider
shows: cloud_only_indicator
tombstoned
message: Asset soft-deleted with reason — retained for sync reconciliation, not served to UI
shows: deleted_asset_marker

Columns

NameTypeConstraints
content_hashtextNOT NULL
file_size_bytesintNOT NULL
mime_typetextNOT NULL DEFAULT: video/mp4
duration_msint
widthint
heightint
local_pathtext
local_verified_atdatetime
source_typetextNOT NULL ENUM: camera, photos, files, cloud_download, legacy_migration
source_nametext
imported_atdatetimeNOT NULL
deleted_atdatetime
tombstone_reasontext ENUM: user, replaced, corrupted
copy_countintNOT NULL DEFAULT: 1
last_sync_atdatetime

Primary Key

content_hash

Indexes

idx_asset_manifest_local_path (local_path)

Concerns

ContentAddressed