ProtectedAddAdds the identity keys: Entity (or ContentSourceID when CanOmitEntityMetadataKey
allows), plus RecordID / ContentItemID / Sequence except under 'explicit'.
ProtectedAddThe curated default content metadata set (when no FieldStrategy is set).
ProtectedAddAdd the content entity's icon: default on under a set strategy, opt-in under 'explicit'.
ProtectedAddAdd the strategy-selected ContentItem fields, with per-field StoreAs coercion + truncation.
ProtectedAddAdd the item's tags: default on, opt-in under 'explicit'.
ProtectedAddAdd __mj_UpdatedAt for recency: default on under a set strategy, opt-in under 'explicit'.
The metadata for one vector.
ProtectedCanWhether this vector may omit Entity and let search resolve it from the source's declaration.
Every condition must hold: a match search cannot attribute is dropped, not shown unlabelled.
ProtectedDeclarationWhether a declared entity resolves and is chunk-level. Fails safe: vectors written without
Entity can only be fixed by a re-embed. Family membership is left to the reader's security check.
ProtectedDefaultVectorMetadata.DefaultTruncationLimit, or the default the JSONType documents.
ProtectedEnforceWhen Entity was omitted, ensures ContentSourceID is still a non-empty string; a configured
rule such as StoreAs: 'boolean' would otherwise break attribution.
ProtectedGetThe ContentItem fields for the strategy: 'include'/'explicit' take fields marked Included; 'all'/'exclude' take the eligible set (no PKs, UUIDs, binary, _mj*) minus Included:false.
ProtectedIsWhether an entity is CHUNK_ENTITY_NAME or a subtype. Walks ParentID through this
builder's provider, not EntityInfo.ParentChain, which uses the global provider.
ProtectedResolvePer-field truncation: explicit override → field MaxLength (if small) → configured default.
ProtectedSetStore one field's value with its configured/typed coercion (epoch/number/boolean/UUID/string).
Builds the metadata stored alongside a content vector;
VectorMetadata.FieldStrategypicks the field set (unset ⇒ curated default). Use one instance per pass so refusals are logged once.