Skip to content

docs: document providers and sources - #1030

Open
matclim wants to merge 1 commit into
Framework-R-D:mainfrom
matclim:docs/sources-and-providers
Open

matclim wants to merge 1 commit into
Framework-R-D:mainfrom
matclim:docs/sources-and-providers

Conversation

@matclim

@matclim matclim commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Writing a phlex::source requires reading the framework internals and tests. Add a user-guide page that covers:

  • explicit providers with PHLEX_REGISTER_PROVIDERS and output_product
  • sources with PHLEX_REGISTER_SOURCE, add_source, and a complete create_providers() example
  • how create_providers() is called: unset selector fields and selector.match(), the one-match rule, the stage requirement (issue Let PHLEX_REGISTER_SOURCE plugins see the job's stage #957), and that each bundle is a separate, independently scheduled node
  • what source::indices() is for
  • which bundle types are provisional (phlex::experimental)

Also add Doxygen comments to phlex::source and provider_bundle.

Assisted by: Claude Haiku 5.5

Writing a phlex::source requires reading the framework internals and
tests.  Add a user-guide page that covers:

- explicit providers with PHLEX_REGISTER_PROVIDERS and output_product
- sources with PHLEX_REGISTER_SOURCE, add_source<T>, and a complete
  create_providers() example
- how create_providers() is called: unset selector fields and
  selector.match(), the one-match rule, the stage requirement (issue
  Framework-R-D#957), and that each bundle is a separate, independently scheduled node
- what source::indices() is for
- which bundle types are provisional (phlex::experimental)

Also add Doxygen comments to phlex::source and provider_bundle.

Assisted by: Claude Haiku 5.5
@coderabbitai

coderabbitai Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 57 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: eec90346-8584-4ef3-9229-82a1ed186e87
Commits

Reviewing files that changed from the base of the PR and between ce771e1 and e3ba6d0.

Files selected for processing: 3
  • docs/source/guide/sources_and_providers.rst
  • phlex/core/provider_node.hpp
  • phlex/core/source.hpp
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@knoepfel
knoepfel requested review from wlav and a balanced review from Copilot November 3, 2026 14:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new guide is missing from the index toctree, leaving it out of the published site’s navigation and triggering a Sphinx warning.

1 open issue
What changed in this PR

This documentation-only PR explains how external data enters Phlex through providers and sources, reducing the need to consult framework internals and tests.

Changes:

  • Adds registration and implementation examples for explicit providers and sources.
  • Documents selector matching, provider uniqueness, scheduling, stage limitations related to #957, and provisional types.
  • Adds Doxygen comments for source methods and provider-bundle fields.
File Description
phlex/​core/​source.hpp Documents source registration, provider matching, and optional index enumeration.
phlex/​core/​provider_node.hpp Documents bundle fields and provider execution constraints.
docs/​source/​guide/​sources_and_providers.rst Adds a user guide with examples and source/provider behavior.

Review effort: Balanced

@codecov

codecov Bot commented Nov 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

@@            Coverage Diff             @@
##             main    #1030      +/-   ##
==========================================
- Coverage   89.65%   89.55%   -0.11%     
==========================================
  Files         177      177              
  Lines        5996     5996              
  Branches      994      994              
==========================================
- Hits         5376     5370       -6     
- Misses        392      397       +5     
- Partials      228      229       +1     
Flag Coverage Δ
amd64 89.55% <ø> (-0.11%) ⬇️
arm64 89.55% <ø> (-0.11%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
phlex/core/provider_node.hpp 100.00% <ø> (ø)
phlex/core/source.hpp 100.00% <ø> (ø)

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ce771e1...e3ba6d0. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

3 participants