Skip to content

feat(incremental-planner): add commit logic and BulbSearchSpace impl - #10106

Open
tninesling wants to merge 3 commits into
tninesling/inc-port-6-routing-enumerationfrom
tninesling/inc-port-7-commit-logic
Open

feat(incremental-planner): add commit logic and BulbSearchSpace impl#10106
tninesling wants to merge 3 commits into
tninesling/inc-port-6-routing-enumerationfrom
tninesling/inc-port-7-commit-logic

Conversation

@tninesling

@tninesling tninesling commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds commit.rs, which applies a routing choice to the plan state: creating or reusing fetch groups, wiring dependency edges, recording entity inputs, and dispatching sub-selections back onto the pending stack.

This is also where FieldRoutingSearchSpace implements the BulbSearchSpace trait, connecting the generic BULB engine to the federation-specific routing:

  • options(): delegates to routing enumeration (PR feat(incremental-planner): add routing enumeration #10105) based on selection type (field, fragment, federated root)
  • commit_choice(): applies the chosen option via commit logic, advancing the search state
  • fast_forward(): greedily commits single-option selections without branching, skipping the BULB machinery for the common case

The commit logic handles direct edges, key hops (single and chained), root type hops, and @requires condition routing. CONDITION_DEPTH_LIMIT bounds recursive @requires resolution to prevent infinite loops from circular directives.

Test plan

@apollo-librarian

apollo-librarian Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

✅ Docs preview ready

The preview is ready to be viewed. View the preview

File Changes

1 new, 21 changed, 0 removed
+ graphos/routing/(latest)/upgrade/from-router-v2.mdx
* graphos/routing/(latest)/configuration/yaml.mdx
* graphos/routing/(latest)/customization/custom-binary.mdx
* graphos/routing/(latest)/customization/native-plugins.mdx
* graphos/routing/(latest)/customization/coprocessor/index.mdx
* graphos/routing/(latest)/customization/rhai/index.mdx
* graphos/routing/(latest)/observability/graphos/graphos-reporting.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/index.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/apm-guides/datadog/router-instrumentation.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/apm-guides/datadog/connecting-to-datadog/datadog-agent/datadog-agent-traces.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/apm-guides/jaeger/jaeger-traces.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/apm-guides/zipkin/zipkin-traces.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/enabling-telemetry/conditions.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/enabling-telemetry/selectors.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/enabling-telemetry/spans.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/enabling-telemetry/standard-instruments.mdx
* graphos/routing/(latest)/observability/router-telemetry-otel/telemetry-pipelines/trace-exporters/overview.mdx
* graphos/routing/(latest)/performance/caching/response-caching/faq.mdx
* graphos/routing/(latest)/security/demand-control.mdx
* graphos/routing/(latest)/self-hosted/containerization/proxy-certificates.mdx
* graphos/routing/(latest)/upgrade/from-router-v1.mdx
* graphos/routing/(latest)/_sidebar.yaml

Build ID: 9d800748103fd9cd447d3a6e
Build Logs: View logs

URL: https://www.apollographql.com/docs/deploy-preview/9d800748103fd9cd447d3a6e


✅ AI Style Review — No Changes Detected

No MDX files were changed in this pull request.

Review Log: View detailed log

This review is AI-generated. Please use common sense when accepting these suggestions, as they may not always be accurate or appropriate for your specific context.

@mergify

mergify Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🔴 1 of 1 protections blocking · waiting on ⛓️ dependency

Protection Waiting on
🔴 ⛓️ Depends-On Requirements ⛓️ dependency

🔴 ⛓️ Depends-On Requirements

Waiting for

This rule is failing.

Requirement based on the presence of Depends-On in the body of the pull request

@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from b043aba to ec75195 Compare August 28, 2026 17:11
@tninesling tninesling changed the title Add commit logic and BulbSearchSpace implementation feat(incremental-planner): add commit logic and BulbSearchSpace impl Aug 28, 2026
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from ec75195 to 788875a Compare August 28, 2026 17:36
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch 2 times, most recently from 4a82420 to 2d06f42 Compare August 28, 2026 18:33
@tninesling
tninesling marked this pull request as ready for review August 28, 2026 18:46
@tninesling
tninesling requested review from a team as code owners August 28, 2026 18:46
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from 2d06f42 to 3549bcf Compare August 28, 2026 19:09
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from 3549bcf to 2d06f42 Compare August 31, 2026 22:51
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from 2d06f42 to 2dd86b1 Compare August 31, 2026 23:40
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from 2dd86b1 to 2d06f42 Compare August 31, 2026 23:46
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from 485fc5b to 4b5117d Compare September 1, 2026 01:35
tninesling and others added 3 commits August 31, 2026 20:37
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dead code with no callers across any stack.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tninesling
tninesling force-pushed the tninesling/inc-port-7-commit-logic branch from 4b5117d to 73b5390 Compare September 1, 2026 01:40
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