Skip to content

Vector columns in maintained views (VV1) #323

Closed

Description

@jsam

Part of epic #305.

Problem. Vectors are Value::Vector(Arc<Vec<f32>>) (src/value/mod.rs:222) and distance/LSH functions are pure (src/vector_ops.rs), but no maintained view exists to carry them, there is no centroid aggregate, and nothing proves that vector-carrying views stay exact under embedding updates.

Target. Views carry vector columns through arrangements by shared pointer (one copy per graph per distinct vector); pure vector functions (cosine, dot, euclidean, int8 variants, normalize, scale/add, lsh_bucket, lsh_probes) allowed in deployed rules and compiled into the maintainer like any function; a vec_mean aggregate (centroid of a group) maintained by reduce; an embedding update is a row retraction plus insertion through every view.

Acceptance. Oracle on random histories with embedding updates: vector-carrying views equal recompute at every revision; memory test: two views carrying 100k vectors add <= 32 B per row over the base store; vec_mean retraction correctness.

Size M. Dependencies V3. Order slot 7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions