# CSV property-import recipe

Select one indexed asset through the host picker and read it through the bounded
asset API. Support only the declared encoding policy, validate required headers
and mappings, and parse quoted fields deterministically. Reject protected,
internal, and secret-like output properties.

Use typed indexed property lookup in bounded chunks. Preserve missing values,
duplicate CSV identities, and duplicate note matches as explicit diagnostics.
Plan only changed fields and retain each note's opaque properties revision.

Show a preview and require in-app acceptance before writing. Apply at most 100
conditional operations per batch and keep stale/denied/failed outcomes for a
fresh retry. An exact-path watch may refresh the preview; automatic writes need
separate local consent and runner designation.
