Skip to content

Wire JSON ingestion schema extension modules#1215

Open
jwils wants to merge 1 commit into
joshuaw/json-ingestion-extension-modulesfrom
joshuaw/json-ingestion-api-polish
Open

Wire JSON ingestion schema extension modules#1215
jwils wants to merge 1 commit into
joshuaw/json-ingestion-extension-modulesfrom
joshuaw/json-ingestion-api-polish

Conversation

@jwils

@jwils jwils commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Why

Introduce the JSON ingestion schema-definition extension modules after the indexing extension points exist, but before making JSON ingestion the default implementation.

What

  • Add ElasticGraph::JSONIngestion::SchemaDefinition::APIExtension and supporting factory/results/artifact/state/schema-element extension modules
  • Wire JSON ingestion through the factory so core indexing field references and field types are extended in place
  • Keep the existing core JSON Schema behavior active in this intermediate layer
  • Add doctest support for JSON ingestion schema-definition examples without making the extension the default yet

Risk Assessment

Medium - this adds new extension code, but the default behavior remains the existing core JSON Schema implementation in this PR.

References

  • Stacked on Add JSON ingestion indexing extensions #1204.
  • bundle exec rspec elasticgraph-schema_definition/spec/unit/elastic_graph/schema_definition/json_schema_spec.rb elasticgraph-schema_definition/spec/unit/elastic_graph/schema_definition/json_schema_field_metadata_spec.rb elasticgraph-schema_definition/spec/unit/elastic_graph/schema_definition/indexing/json_schema_with_metadata_spec.rb elasticgraph-schema_definition/spec/unit/elastic_graph/schema_definition/factory_spec.rb passed.
  • script/type_check passed.
  • script/lint passed.

Stack

Current PR is marked with ->.

@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from 3436470 to ea857eb Compare May 27, 2026 16:22
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch from b80bef4 to bce83e3 Compare May 27, 2026 16:22
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from ea857eb to 7af1788 Compare May 27, 2026 18:43
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch from bce83e3 to 38d7488 Compare May 27, 2026 18:43
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch from 38d7488 to 65c8468 Compare May 28, 2026 18:35
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from 7af1788 to 20ee5dd Compare May 28, 2026 18:35
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch from 65c8468 to d780944 Compare May 28, 2026 18:44
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch 2 times, most recently from 5b67eda to 28d3b58 Compare May 28, 2026 19:01
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch 2 times, most recently from 08fa741 to 66a50ff Compare May 28, 2026 19:13
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch 2 times, most recently from 4f85649 to fd4651f Compare May 30, 2026 14:07
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch 2 times, most recently from e904b45 to 7cd0f7d Compare May 30, 2026 14:26
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch 3 times, most recently from 2e3770f to 9ed0d47 Compare May 30, 2026 14:38
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch from 3d879aa to 01d66b2 Compare May 30, 2026 20:03
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from 9ed0d47 to a02256c Compare May 30, 2026 20:03
@jwils jwils force-pushed the joshuaw/json-ingestion-extension-modules branch from 01d66b2 to 4d549ec Compare May 30, 2026 20:17
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from a02256c to 180c7d3 Compare May 30, 2026 20:17
@jwils jwils marked this pull request as ready for review May 31, 2026 03:58
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from 180c7d3 to cd6256d Compare May 31, 2026 04:17

@myronmarston myronmarston left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't finished reviewing but wanted to submit my feedback so far.

Comment thread config/site/support/doctest_helper.rb Outdated
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch 2 times, most recently from 55175c5 to 16255f2 Compare May 31, 2026 13:28

@myronmarston myronmarston left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still not done reviewing but here's my next round of feedback.

@myronmarston myronmarston left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Next set of feedback (still not done reviewing!).

@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch 4 times, most recently from e28ff9c to 83f6c2a Compare June 1, 2026 18:57

@myronmarston myronmarston left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made it through the end of my review this time! Almost ready.

Comment thread spec_support/lib/elastic_graph/spec_support/enable_simplecov.rb
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from caeab86 to 700dc21 Compare June 4, 2026 13:57
@jwils jwils force-pushed the joshuaw/json-ingestion-api-polish branch from 700dc21 to 8f06402 Compare June 4, 2026 14:15
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.

2 participants