Capability ID|Capability|Maturity|Source owner|Consumer|Focused test|Lifecycle test|User doc|Source-to-sink trace
CAP-PGVECTOR-DENSE-SQL|Dense vector SQL type, casts, operators, aggregates|stable|crates/context-pg/src/vector.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/vector_compatibility.rs#pgvector_dense_input_output_and_dims_cases|crates/context-pg/src/pg_tests/vector_variant_typmods.rs#pgvector_dense_typmods_reject_dimension_mismatches_with_sqlstate|docs/user_guide/api_reference.md|vector input and typmod enforcement feed operators aggregates and table search
CAP-EXACT-SEARCH|Exact vector search over arrays and registered tables|stable|crates/context-pg/src/vector.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/vector_search.rs#exact_search_returns_ranked_rows_with_stable_tie_breaks|tests/heavy/large_exact_search.sh#large_exact_oracle_match|docs/user_guide/vector_search.md|validated vectors and registered source metadata feed exact scoring and visible ranked rows
CAP-COLLECTIONS|Collections over PostgreSQL source tables|stable|crates/context-pg/src/catalog.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/collection_catalog.rs#create_collection_records_catalog_metadata|crates/context-pg/src/pg_tests/transaction_rollback.rs#rolled_back_create_collection_leaves_no_catalog_row|docs/user_guide/collections.md|collection catalog metadata resolves authoritative PostgreSQL source relations for consumers
CAP-POINT-MAPPINGS|Point upsert and delete mappings|stable|crates/context-pg/src/points.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/point_mapping.rs#upsert_points_assigns_stable_point_ids|crates/context-pg/src/pg_tests/transaction_rollback.rs#rolled_back_upsert_points_leaves_no_point_rows|docs/user_guide/collections.md|source keys map to logical point IDs and active mappings gate result hydration
CAP-FILTERS|Filter JSON over ordinary columns and JSONB paths|stable|crates/context-filter/src/lib.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/count.rs#count_uses_shared_filter_plan_for_ordinary_columns|tests/heavy/rls_acl_boundary.sh#expect_search_denied|docs/user_guide/filters.md|typed filter AST renders bound SQL predicates consumed by exact table queries
CAP-SCROLL-COUNT-FACET|Scroll, count, and facet|stable|crates/context-pg/src/table_search.rs|crates/context-pg/src/lib.rs|crates/context-pg/src/pg_tests/scroll.rs#scroll_returns_stable_point_id_pages|crates/context-pg/src/pg_tests/facet.rs#facet_counts_filtered_column_values_over_active_points|docs/user_guide/api_reference.md|shared visible point and filter plans feed bounded scroll count and facet projections
CAP-HYBRID|Dense plus full-text hybrid query|stable|crates/context-pg/src/hybrid_query.rs|crates/context-hybrid/src/lib.rs|crates/context-pg/src/pg_tests/hybrid_query.rs#hybrid_query_fuses_dense_and_full_text_branches|crates/context-pg/src/pg_tests/hybrid_query.rs#hybrid_query_excludes_deleted_points_from_both_branches|docs/user_guide/hybrid_retrieval.md|dense and PostgreSQL full-text candidates feed deterministic reciprocal-rank fusion
CAP-OBSERVABILITY|Telemetry and operational status functions|stable|crates/context-pg/src/operations.rs|crates/context-pg/src/telemetry.rs|crates/context-pg/src/pg_tests/operations.rs#telemetry_reports_collection_rollups|crates/context-pg/src/pg_tests/query_stats.rs#telemetry_surfaces_do_not_store_vectors_payloads_filters_or_query_text|docs/user_guide/operations.md|manual bounded counters and typed status sources feed SQL diagnostics; automatic execution recording remains FLOOR-AUTOMATIC-OBSERVABILITY
CAP-MODEL-MIGRATIONS|Model versions and embedding migrations|stable|crates/context-pg/src/model_versions.rs|crates/context-pg/src/embedding_migrations.rs|crates/context-pg/src/pg_tests/embedding_migrations.rs#embedding_migration_tracks_backfill_progress|crates/context-pg/src/pg_tests/embedding_migrations.rs#embedding_migration_rejects_progress_past_total|docs/user_guide/collections.md|registered model versions constrain migration records and bounded progress updates
CAP-HNSW-AM|HNSW access method|experimental|crates/context-pg/src/hnsw_am.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/hnsw_am.rs#hnsw_metric_build_and_persisted_scan_cover_all_dense_opclasses|tests/heavy/pgvector_hnsw_lifecycle.sh#pgvector_hnsw_lifecycle_complete|docs/user_guide/indexes.md|metric-bound PostgreSQL AM callbacks persist L2 negative-inner-product cosine or L1 graph pages; ordered scans load the stored metric and consume bounded graph candidates without exact fallback
CAP-FILTERED-ANN|Filtered ANN serving|experimental|crates/context-pg/src/table_search.rs|crates/context-pg/src/hnsw_am.rs|crates/context-pg/src/pg_tests/table_search.rs#table_search_filtered_path_consumes_the_persisted_hnsw_mask|tests/heavy/filtered_ann_recall.sh#filtered_ann_public_tenant_recheck_passing|docs/user_guide/vector_search.md|the public JSON-filter search resolves an attached HNSW index, materializes bounded filter-matching heap-TID batches, traverses persisted graph pages with reusable masks, then rechecks visible point mappings, predicates, and exact scores against authoritative source rows
CAP-PGVECTOR-HALFVEC|SQL halfvec|experimental|crates/context-pg/src/vector_variants.rs|crates/context-pg/src/hnsw_am.rs|crates/context-pg/src/pg_tests/vector_variant_compatibility.rs#pgvector_halfvec_array_cast_cases|crates/context-pg/src/pg_tests/vector_variant_typmods.rs#pgvector_variant_typmods_reject_dimension_mismatches_with_sqlstates|docs/user_guide/pgvector_migration.md|half precision SQL values feed exact operators aggregates and the explicit L2 ANN opclass
CAP-PGVECTOR-SPARSEVEC|SQL sparsevec|experimental|crates/context-pg/src/vector_variants.rs|crates/context-pg/src/sparse_search.rs|crates/context-pg/src/pg_tests/vector_search.rs#sparse_table_search_uses_registered_sparse_vector_metric|crates/context-pg/src/pg_tests/vector_variant_typmods.rs#pgvector_variant_typmods_reject_dimension_mismatches_with_sqlstates|docs/user_guide/vector_search.md|canonical sparse values feed exact metrics named table search and explicit L2 ANN
CAP-PGVECTOR-BIT|SQL bit vectors|experimental|crates/context-pg/src/vector_variants.rs|crates/context-pg/src/hnsw_am.rs|crates/context-pg/src/pg_tests/bitvec_compatibility.rs#pgvector_bitvec_postgres_bit_cast_cases|crates/context-pg/src/pg_tests/vector_variant_typmods.rs#pgvector_variant_typmods_reject_dimension_mismatches_with_sqlstates|docs/user_guide/pgvector_migration.md|checked bit values feed Hamming and Jaccard SQL plus explicit Hamming ANN
CAP-QUANTIZATION|SQL quantization APIs|experimental|crates/context-pg/src/quantization_sql.rs|crates/context-pg/src/hnsw_am/options.rs|crates/context-pg/src/pg_tests/quantization.rs#quantization_sql_binary_scalar_and_product_good_paths|crates/context-pg/src/pg_tests/hnsw_am.rs#hnsw_quantized_scalar_index_options_are_persisted|docs/user_guide/indexes.md|quantizers emit checked codes while exact rerank consumes original vectors
CAP-NAMED-DENSE|Named dense vector registration and search|stable|crates/context-pg/src/vector_catalog.rs|crates/context-pg/src/table_search/named.rs|crates/context-pg/src/pg_tests/vector_registration.rs#register_vector_records_checked_vector_column_metadata|crates/context-pg/src/pg_tests/client_examples.rs#named_dense_sparse_vector_example_uses_current_sql_surfaces|docs/user_guide/collections.md|registered name column dimension and metric resolve the selected dense search consumer
CAP-VECTOR-CONFIG|Per-vector dense index and quantization metadata|experimental|crates/context-pg/src/vector_catalog.rs|crates/context-pg/src/table_search/named.rs|crates/context-pg/src/pg_tests/vector_registration.rs#configure_vector_records_per_vector_options_and_status|crates/context-pg/src/pg_tests/vector_registration.rs#configure_vector_rejects_invalid_metadata_with_sqlstates|docs/user_guide/collections.md|validated per-vector metadata is stored; build-to-scan consumption remains post-V1 work under the public Quantized HNSW roadmap section
CAP-NAMED-SPARSE|Named sparse vectors per collection|experimental|crates/context-pg/src/vector_catalog.rs|crates/context-pg/src/sparse_search.rs|crates/context-pg/src/pg_tests/vector_registration.rs#register_sparse_vector_records_checked_sparse_column_metadata|crates/context-pg/src/pg_tests/client_examples.rs#named_dense_sparse_vector_example_uses_current_sql_surfaces|docs/user_guide/collections.md|registered sparse name column dimension and metric feed exact sparse search and hybrid fusion
CAP-LATE-INTERACTION|Multi-vector and late-interaction query|experimental|crates/context-pg/src/hybrid_query/late_interaction.rs|crates/context-pg/src/hybrid_query/late_interaction_ann.rs|crates/context-pg/src/pg_tests/late_interaction_ann.rs#late_interaction_ann_search_dedupes_candidates_and_exact_reranks|tests/heavy/late_interaction_ann_serving.sh#late_interaction_ann_deleted_recheck|docs/user_guide/vector_search.md|typed token ANN candidates are deduplicated then source rows are rechecked and exact MaxSim reranked
CAP-RECOMMEND|Recommendation search|stable|crates/context-pg/src/table_search/recommend.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/recommendation.rs#recommend_from_positive_point_ids_excludes_examples_and_ranks_exactly|crates/context-pg/src/pg_tests/recommendation.rs#recommend_rejects_deleted_point_examples|docs/user_guide/vector_search.md|visible example points or raw vectors form a query consumed by exact ranked search
CAP-DISCOVER|Discovery or explore search|stable|crates/context-pg/src/table_search/recommend.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/discovery.rs#discover_returns_farthest_active_points_from_context_centroid|crates/context-pg/src/pg_tests/discovery.rs#discover_rejects_deleted_context_points|docs/user_guide/vector_search.md|visible context points form a centroid consumed by deterministic diversity ranking
CAP-QUERY-CONSTRUCTORS|Query constructors|stable|crates/context-query/src/validation.rs|crates/context-pg/src/query_builders.rs|crates/context-query/tests/application_policy.rs#query_constructor_validation_preserves_the_stable_json_builder_contract|crates/context-pg/src/pg_tests/query_builders.rs#query_formula_rejects_513_byte_formulas|docs/user_guide/vector_search.md|pure validation feeds the stable client-side JSON constructors; executable composite dispatch remains post-V1 work under the public Composite Query Execution roadmap section
CAP-GROUPED-SEARCH|Grouped search|stable|crates/context-pg/src/table_search/grouped.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/grouped_search.rs#grouped_search_returns_nearest_rows_per_registered_column_group|crates/context-pg/src/pg_tests/grouped_search.rs#grouped_search_selects_named_dense_vector|docs/user_guide/collections.md|registered group fields consume visible exact results and enforce deterministic per-group limits
CAP-PAYLOAD-MUTATIONS|Payload mutation helpers|stable|crates/context-pg/src/payload_mutations.rs|crates/context-pg/src/payload_catalog.rs|crates/context-pg/src/pg_tests/payload_mutations.rs#set_payload_updates_jsonb_paths_and_typed_columns|crates/context-pg/src/pg_tests/payload_mutations.rs#set_payload_rejects_unknown_points_without_partial_updates|docs/user_guide/collections.md|registered payload metadata renders bounded authoritative source-table mutations
CAP-BULK-POINTS|Bulk point backfill APIs|stable|crates/context-pg/src/points.rs|crates/context-pg/src/catalog.rs|crates/context-pg/src/pg_tests/point_mapping.rs#backfill_points_scans_source_table_in_bounded_batches|crates/context-pg/src/pg_tests/transaction_rollback.rs#rolled_back_upsert_points_leaves_no_point_rows|docs/user_guide/collections.md|bounded source scans feed idempotent point mapping batches and progress diagnostics
CAP-IVFFLAT|IVFFlat|intentionally different|docs/user_guide/indexes.md#IVFFlat|docs/user_guide/pgvector_migration.md#IVFFlat|scripts/check-capability-contract.sh#CAP-IVFFLAT|scripts/check-parity-matrix.sh#intentionally different|docs/user_guide/indexes.md|the v1 migration consumer keeps pgvector IVFFlat or selects exact and HNSW paths explicitly
CAP-POSTGRES-NATIVE|PostgreSQL-native ACL, RLS, transactions, and backups|intentionally different|crates/context-pg/src/catalog_schema.rs|crates/context-pg/src/table_search.rs|crates/context-pg/src/pg_tests/transaction_rollback.rs#rolled_back_create_collection_leaves_no_catalog_row|tests/heavy/rls_acl_boundary.sh#expect_search_denied|docs/user_guide/security.md|PostgreSQL privileges visibility transactions WAL and backup remain authoritative end to end
CAP-REBUILDABLE-ARTIFACTS|Rebuildable acceleration artifacts|intentionally different|crates/context-pg/src/artifact_segments.rs|crates/context-pg/src/artifact_segments/serving_readiness.rs|crates/context-pg/src/pg_tests/artifact_segments.rs#artifact_segment_sql_round_trips_hnsw_payload_metadata|tests/heavy/corrupt_artifact_detection.sh#segment_format|docs/user_guide/storage.md|versioned acceleration artifacts validate readiness and can be discarded and rebuilt from PostgreSQL
