<!--
Thanks for contributing to OpenSTEF! Please fill out this template to
help us
review your PR efficiently. See the contributing guide for more details:
https://openstef.github.io/openstef/contribute/index.html
-->
## What does this PR do?
<!-- Describe the change and the motivation behind it. -->
Adds the Regression Coverage Score (RCS) metric to `openstef-beam` for
evaluating probabilistic forecast interval calibration.
RCS measures the fraction of observed values that fall within a
predicted quantile interval, such as P10-P90. The metric is implemented
as `rcs(...)` in the deterministic metrics module, exported through
`openstef_beam.metrics`, and exposed through `RCSProvider` for
evaluation pipelines. The provider follows the same symmetric
quantile-pair logic as `RIQDProvider`.
Closes #1064
## Type of change
- [ ] Bug fix
- [x] New feature
- [ ] Breaking change (see checklist below)
- [x] Documentation
- [ ] Refactor / chore / CI
## Breaking changes checklist
<!-- Only relevant if you checked "Breaking change" above, or are
unsure. -->
- [ ] Public API, config schema, or serialized/pickled objects changed
in a way that affects existing users
- [ ] If yes: see the [breaking changes
guide](https://openstef.github.io/openstef/contribute/development_workflow.html#breaking-changes)
for the pickle/`_migrate_state` migration pattern
Migration path for existing users (e.g. "old pickled `XScaler` objects
auto-migrate on load", "users must now pass `X` explicitly"):
<!-- describe here -->
## AI disclosure
<!--
See our AI-assisted contributions guidelines:
https://openstef.github.io/openstef/contribute/contributing_guide.html#ai-assisted-contributions
-->
- [ ] No AI assistance was used (beyond grammar/spelling)
- [x] AI assistance was used — tool(s): <!-- e.g. GitHub Copilot,
Claude, ChatGPT -->
- [x] I have reviewed, understand, and can explain all AI-generated code
in this PR
- [ ] This is disclosed in a commit message (e.g. `Assisted-by: <tool
name>`)
## Checklist
- [x] `poe all --check` passes locally
- [x] Tests added/updated for the change
- [x] Documentation updated (docstrings, user guide, examples) if needed
- [x] Commits are signed off per our
[DCO](https://openstef.github.io/openstef/contribute/contributing_guide.html#signing-the-developer-certificate-of-origin-dco)
(`git commit -s`)
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/) (e.g. `feat: ...`, `fix:
...`, `feat!: ...` for breaking changes)
---------
Signed-off-by: Max Polak <maxpolak97@gmail.com>