Skip to content

docs: rewrite the architecture page with current descriptions and diagrams#813

Merged
lewisjared merged 2 commits into
mainfrom
docs/architecture-c4-diagrams
Jul 12, 2026
Merged

docs: rewrite the architecture page with current descriptions and diagrams#813
lewisjared merged 2 commits into
mainfrom
docs/architecture-c4-diagrams

Conversation

@lewisjared

Copy link
Copy Markdown
Contributor

Description

  • Rewrites the architecture background page to describe the system as implemented, replacing the pre-implementation text and its meeting-era PNG figures.
  • Adds Mermaid diagrams: a C4 system context, a container view, component views of the compute engine and the ref-app backend, a package layering diagram, and sequence diagrams for ingest, solve/execute and Celery execution.
  • Documents the layering rules that do the architectural work: climate-ref-core as the dependency leaf, providers as entry-point plugins referenced only by FQN, and executors resolved from configuration.
  • Adds a known boundaries and debt section covering the solver's DB coupling, CondaDiagnosticProvider living in core, and the ref-app ORM coupling, with Reader adoption starting in feat(backend): adopt climate_ref.results.Reader for metric values ref-app#39.
  • Removes the six PNG figures the old page referenced.

Checklist

Please confirm that this pull request has done the following:

  • Tests added
  • Documentation added (where applicable)
  • Changelog item added to changelog/

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@lewisjared, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 47 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7fbfb074-c38f-4a04-bc7b-9d94d806491e

📥 Commits

Reviewing files that changed from the base of the PR and between 2d5cdbf and 2363013.

⛔ Files ignored due to path filters (6)
  • docs/background/images/container_compute_engine.png is excluded by !**/*.png
  • docs/background/images/container_data_api.png is excluded by !**/*.png
  • docs/background/images/container_metric_service.png is excluded by !**/*.png
  • docs/background/images/key_components.png is excluded by !**/*.png
  • docs/background/images/metric_execution.png is excluded by !**/*.png
  • docs/background/images/system_context_diagram.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • changelog/813.docs.md
  • docs/background/architecture.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/architecture-c4-diagrams

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

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jul 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Flag Coverage Δ
core 92.44% <ø> (+<0.01%) ⬆️
providers 86.99% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1 file with indirect coverage changes

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

@lewisjared

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@lewisjared
lewisjared merged commit b9aa1fc into main Jul 12, 2026
24 checks passed
@lewisjared
lewisjared deleted the docs/architecture-c4-diagrams branch July 12, 2026 03:03
lewisjared added a commit to schlunma/climate-ref that referenced this pull request Jul 13, 2026
* origin/main: (183 commits)
  chore: rename the changelog fragment to the PR number
  test(esmvaltool): re-mint the baselines that drifted at the current pin
  fix(esmvaltool): ship the ESACCI-OZONE L3-SAGE-OMPS profile file
  fix(esmvaltool): raise a clear error when a facet column is missing
  chore: rename the changelog fragment to the PR number
  test(pmp): re-mint the pmp baselines on linux-64
  fix(pmp): derive the climatology version stamp from the diagnostic version
  fix(core): redact the conda platform from committed bundle provenance
  docs: add changelog fragment for Climate-REF#813
  docs: rewrite the architecture page with current descriptions and diagrams
  fix(core): enable the CEDA Solr index for ESGF searches
  refactor(core): drop a comment that restates the change
  fix(core): translate an empty ESGF search into DatasetResolutionError
  test(core): exercise the widened compare tolerance
  fix(example): bump global-sst-bias test_case_version to 2
  ci: harden the integration test workflow
  fix(core): loosen regression compare rtol to 1e-5
  fix(example): accumulate global-sst-bias means in float64
  fix(cli): continue test-cases fetch when a case cannot be solved
  chore(deps-dev): bump pip from 26.1 to 26.1.2
  ...

# Conflicts:
#	packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/dataset_registry/data.txt
#	packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/ozone.py
#	packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py
#	packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt
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