Skip to content

feat: add composable graph query filters - #23

Merged
leoafarias merged 1 commit into
mainfrom
feature/10-graph-query-filters
Aug 21, 2026
Merged

feat: add composable graph query filters#23
leoafarias merged 1 commit into
mainfrom
feature/10-graph-query-filters

Conversation

@chrishiguto

@chrishiguto chrishiguto commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Why

Graph consumers need one query vocabulary and one versioned wire contract shared by the CLI and MCP.

What

Exports OkfGraphQuery with composable type, path-prefix, and resolution filters. All JSON, DOT, and Mermaid projections consume the same filtered graph. JSON includes schema_version, with its checked-in schemas/graph-v1.schema.json contract.

Free-form CLI filters are repeatable and preserve valid commas in producer-defined concept types and bundle paths. Unfiltered output remains unchanged apart from the required schema-version field.

Reviewer's guide

Start with OkfGraphQuery in lib/src/graph.dart, then the CLI adapter and graph schema tests. This PR builds on merged #21.

Testing

  • Formatting and fatal-info analysis are clean.
  • All 102 tests pass.
  • Tests cover filter composition across all formats, schema parity, default output, and comma-bearing free-form filter values.
  • The graph schema parses and representative output validates against Draft 2020-12.

Links

Builds on merged #21.
Fixes #10.

Add one versioned query vocabulary for the CLI, library, and later MCP consumers.

Fixes #10

Co-authored-by: Christiano Higuto <christiano.higuto.c@conceptatech.com>
@leoafarias
leoafarias force-pushed the feature/10-graph-query-filters branch from 23e2456 to e202eb7 Compare August 21, 2026 15:36
@leoafarias
leoafarias merged commit 0e2aa41 into main Aug 21, 2026
4 checks passed
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.

Graph: query filters and versioned JSON schema

2 participants