AshArcadic.DataLayer.Verifiers.ValidateVectorIndex (AshArcadic v0.1.0)

Copy Markdown View Source

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 an ARRAY_OF_FLOATS property; a sensitive attribute 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.