Skip to content

Add Filter v2 capability metadata - #3

Closed
rustyconover wants to merge 1 commit into
mainfrom
codex/filter-v2-generated-capabilities
Closed

rustyconover wants to merge 1 commit into
mainfrom
codex/filter-v2-generated-capabilities

Conversation

@rustyconover

Copy link
Copy Markdown
Contributor

Summary

  • model all Filter-v2 FunctionInfo capability fields in the C++ SDK
  • advertise vgi.duckdb.standard.v1 by default for functions that enable filter pushdown
  • serialize generated list-of-struct capability schemas exactly, while rejecting capabilities for which the SDK has no evaluator
  • expose filters_exactly_applied as an explicit opt-in independent of auto-apply
  • add focused generated-schema, semantic-profile, and Arrow wire-shape tests

Source-of-truth check

VGI_PYTHON=~/Development/vgi-python scripts/regenerate_protocol.sh produces no diff: the checked-in generated headers already match the current vgi-python 2.0.0 source. This PR closes the handwritten metadata/serializer gap that had caused those generated fields to be silently defaulted empty.

Validation

  • cmake --build build -j 8
  • ctest --test-dir build --output-on-failure (9/9)
  • scripts/format.sh --check
  • git diff --check

Dependency

Draft until the Filter-v2 runtime evaluator PR lands. Merging this advertisement first would let a producer send required v2 predicates to the legacy parser, so runtime must merge first (or this commit must be rebased atop it and merged together). No runtime-filter algorithms, extension functions, or session-context provider is advertised.

@rustyconover
rustyconover force-pushed the codex/filter-v2-generated-capabilities branch from bb2bf15 to 2542a39 Compare September 11, 2026 01:10
@rustyconover

Copy link
Copy Markdown
Contributor Author

Superseded by validated PR #4, which includes this capability metadata together with the required Filter-v2 evaluator.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant