Compile-verifier for arcade do vector_index … end (build-blocking under
--warnings-as-errors). Each declared vector_index name must be:
- V1 — a STORED attribute: declared AND not in
skip. A skipped attribute is never persisted as an ArcadeDB property, so an index over it would target nothing. - V2 — NOT
sensitive(AGENTS.md Rule 3): a vector index is anARRAY_OF_FLOATSproperty; asensitiveattribute must be encrypted-binary, which cannot be a float-array index (and AshArcadic holds no key material). The two are mutually exclusive by construction. - V3 — array-typed (best-effort): a scalar-typed attribute cannot hold an embedding. Checks the type SHAPE, not the values.
- V4 — a unique
name(a duplicate declaration is a config error).
dimensions/similarity are validated by the entity schema itself (Spark).
Value-free: messages carry the attribute NAME (developer config, not row data),
never a value.