Skip to content

feat(release): cut v0.2.15 for explainability, scenario simulation & ops control center (#232)#233

Merged
w7-mgfcode merged 49 commits into
mainfrom
dev
May 19, 2026
Merged

feat(release): cut v0.2.15 for explainability, scenario simulation & ops control center (#232)#233
w7-mgfcode merged 49 commits into
mainfrom
dev

Conversation

@w7-mgfcode
Copy link
Copy Markdown
Owner

Promotes dev to main for the v0.2.15 release. release-please will open a Release PR on main after this merges and tag the version once that is merged.

Pre-1.0 PATCH bump — 49 commits since v0.2.14, all feat:/fix:, no feat!: / BREAKING CHANGE:.

Highlights

Release process

  • This PR is titled feat(release): so the merge-commit subject bumps the version regardless of merge method (avoids the documented release-please skip trap).
  • After merge: merge the release-please Release PR on main to tag v0.2.15; then back-merge maindev with a merge commit.

Tracking: #232

w7-mgfcode and others added 30 commits May 19, 2026 00:28
…0214

chore: back-merge main into dev after v0.2.14 release (#207)
…indings

fix: address CodeRabbit findings from the v0.2.14 release review (#205)
#210)

Replace the stock grayscale shadcn neutral palette with an ocean-blue
brand identity and a real surface hierarchy, resolving the audit's ten
cross-cutting theme defects.

- index.css: ocean-blue OKLCH palette, brand --primary, theme-stable
  --chart-1..5, semantic --success/--warning/--info tokens and a soft
  --shadow-card elevation; the light canvas is a cool blue-gray so the
  white cards visibly lift off it
- tables render as elevated white panels with muted headers in light
  mode and stay byte-identical in dark via the --table-header token
  plus dark: guards
- status colors, chart legends and JSON blocks moved onto semantic
  tokens; no raw Tailwind color utilities remain in app code
- every foreground/surface pair verified to clear WCAG AA in both themes
…sign

feat(ui): redesign light and dark theme for cohesion and accessibility (#210)
Register the shadcn skill + MCP server integration in the repo's policy
and config layer.

- CLAUDE.md and docs/_base/RULES.md: add shadcn-ui to the .claude/rules/
  enumeration so the new rule is discoverable
- .gitignore: ignore the local .mcp.json MCP server config
- skills-lock.json: track the lockfile pinning the shadcn skill

The .claude/rules/shadcn-ui.md rule itself stays local-only (.claude/ is
gitignored), consistent with the existing eight rules. Docs and config
only -- no application code or behaviour change.
…tion

chore(repo): register the shadcn skill and mcp integration (#212)
feat(rag,ui): index bundled project docs into the RAG corpus (#214)
feat(api,ui): ForecastOps Control Center — read-only ops slice + /ops page
feat: ForecastOps Control Center — Full Version (model health, incident export, action layer)
w7-mgfcode and others added 19 commits May 19, 2026 08:03
feat: Scenario Simulation / What-If Planning (MVP) — new scenarios slice (#221)
…on-full-version

docs: add PRP-27 scenario simulation full version (#223)
…bility-driver-attribution

docs: add PRP-28 forecast explainability driver attribution (#224)
…-version

feat: scenario simulation what-if planning full version (#223)
…tribution

feat(api,ui): forecast explainability & driver attribution slice (#224)
Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 20000 lines

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

Important

Review skipped

Too many files!

This PR contains 153 files, which is 3 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ff737706-9008-4b45-a59f-aa06cc046a38

📥 Commits

Reviewing files that changed from the base of the PR and between c017678 and af1a5be.

📒 Files selected for processing (153)
  • .env.example
  • .gitignore
  • CLAUDE.md
  • PRPs/PRP-23-rag-corpus-manager.md
  • PRPs/PRP-24-forecastops-control-center.md
  • PRPs/PRP-25-forecastops-control-center-full.md
  • PRPs/PRP-26-scenario-simulation-what-if-planning.md
  • PRPs/PRP-27-scenario-simulation-full-version.md
  • PRPs/PRP-28-forecast-explainability-driver-attribution.md
  • PRPs/ai_docs/exogenous-regressor-forecasting.md
  • README.md
  • alembic/env.py
  • alembic/versions/43e35957a248_create_scenario_plan_table.py
  • alembic/versions/7e8f9748581e_add_scenario_provenance_columns.py
  • alembic/versions/bb8c4587ef1d_add_scenario_library_columns.py
  • alembic/versions/e47f5739d7d0_widen_scenario_method_check.py
  • alembic/versions/f84258c4cb44_create_forecast_explanation_table.py
  • app/core/config.py
  • app/features/agents/agents/base.py
  • app/features/agents/agents/experiment.py
  • app/features/agents/service.py
  • app/features/analytics/routes.py
  • app/features/analytics/tests/conftest.py
  • app/features/config/tests/test_service.py
  • app/features/dimensions/service.py
  • app/features/dimensions/tests/conftest.py
  • app/features/explainability/__init__.py
  • app/features/explainability/explainers.py
  • app/features/explainability/models.py
  • app/features/explainability/reason_codes.py
  • app/features/explainability/routes.py
  • app/features/explainability/schemas.py
  • app/features/explainability/service.py
  • app/features/explainability/tests/__init__.py
  • app/features/explainability/tests/conftest.py
  • app/features/explainability/tests/test_explainers.py
  • app/features/explainability/tests/test_models_integration.py
  • app/features/explainability/tests/test_reason_codes.py
  • app/features/explainability/tests/test_routes.py
  • app/features/explainability/tests/test_routes_integration.py
  • app/features/explainability/tests/test_schemas.py
  • app/features/explainability/tests/test_service.py
  • app/features/forecasting/models.py
  • app/features/forecasting/schemas.py
  • app/features/forecasting/service.py
  • app/features/forecasting/tests/test_regression_forecaster.py
  • app/features/jobs/service.py
  • app/features/jobs/tests/conftest.py
  • app/features/ops/__init__.py
  • app/features/ops/routes.py
  • app/features/ops/schemas.py
  • app/features/ops/service.py
  • app/features/ops/tests/__init__.py
  • app/features/ops/tests/conftest.py
  • app/features/ops/tests/test_routes_integration.py
  • app/features/ops/tests/test_schemas.py
  • app/features/ops/tests/test_service.py
  • app/features/rag/routes.py
  • app/features/rag/schemas.py
  • app/features/rag/service.py
  • app/features/rag/tests/conftest.py
  • app/features/rag/tests/test_routes.py
  • app/features/rag/tests/test_schemas.py
  • app/features/rag/tests/test_service.py
  • app/features/registry/service.py
  • app/features/scenarios/__init__.py
  • app/features/scenarios/adjustments.py
  • app/features/scenarios/agent_tools.py
  • app/features/scenarios/feature_frame.py
  • app/features/scenarios/models.py
  • app/features/scenarios/routes.py
  • app/features/scenarios/schemas.py
  • app/features/scenarios/service.py
  • app/features/scenarios/tests/__init__.py
  • app/features/scenarios/tests/conftest.py
  • app/features/scenarios/tests/test_adjustments.py
  • app/features/scenarios/tests/test_agent_tools.py
  • app/features/scenarios/tests/test_compare_integration.py
  • app/features/scenarios/tests/test_feature_frame.py
  • app/features/scenarios/tests/test_future_frame_leakage.py
  • app/features/scenarios/tests/test_leakage.py
  • app/features/scenarios/tests/test_routes_integration.py
  • app/features/scenarios/tests/test_schemas.py
  • app/main.py
  • docs/_base/API_CONTRACTS.md
  • docs/_base/DOMAIN_MODEL.md
  • docs/_base/REPO_MAP_INDEX.md
  • docs/_base/RULES.md
  • docs/_base/SECURITY.md
  • docs/user-guide/agents-and-rag-guide.md
  • docs/user-guide/dashboard-guide.md
  • docs/user-guide/feature-reference.md
  • docs/user-guide/getting-started.md
  • frontend/src/App.tsx
  • frontend/src/components/charts/backtest-folds-chart.tsx
  • frontend/src/components/charts/index.ts
  • frontend/src/components/charts/kpi-card.tsx
  • frontend/src/components/charts/multi-series-chart.tsx
  • frontend/src/components/charts/revenue-bar-chart.tsx
  • frontend/src/components/charts/time-series-chart.tsx
  • frontend/src/components/chat/chat-input.tsx
  • frontend/src/components/chat/tool-call-display.tsx
  • frontend/src/components/common/json-block.tsx
  • frontend/src/components/common/status-badge.tsx
  • frontend/src/components/data-table/data-table.tsx
  • frontend/src/components/demo/demo-step-card.tsx
  • frontend/src/components/explainability/explanation-panel.test.tsx
  • frontend/src/components/explainability/explanation-panel.tsx
  • frontend/src/components/layout/top-nav.tsx
  • frontend/src/components/ui/card.tsx
  • frontend/src/components/ui/table.tsx
  • frontend/src/hooks/index.ts
  • frontend/src/hooks/use-explanations.ts
  • frontend/src/hooks/use-ops.ts
  • frontend/src/hooks/use-rag-sources.ts
  • frontend/src/hooks/use-scenarios.ts
  • frontend/src/index.css
  • frontend/src/lib/api.test.ts
  • frontend/src/lib/api.ts
  • frontend/src/lib/constants.ts
  • frontend/src/lib/csv-export.test.ts
  • frontend/src/lib/csv-export.ts
  • frontend/src/lib/demand-utils.test.ts
  • frontend/src/lib/demand-utils.ts
  • frontend/src/lib/incident-report.test.ts
  • frontend/src/lib/incident-report.ts
  • frontend/src/lib/ops-actions.test.ts
  • frontend/src/lib/ops-actions.ts
  • frontend/src/lib/ops-utils.test.ts
  • frontend/src/lib/ops-utils.ts
  • frontend/src/lib/scenario-utils.test.ts
  • frontend/src/lib/scenario-utils.ts
  • frontend/src/lib/url-params.test.ts
  • frontend/src/lib/url-params.ts
  • frontend/src/pages/admin.tsx
  • frontend/src/pages/chat.tsx
  • frontend/src/pages/explorer/job-detail.tsx
  • frontend/src/pages/explorer/jobs.tsx
  • frontend/src/pages/explorer/products.tsx
  • frontend/src/pages/explorer/run-detail.tsx
  • frontend/src/pages/explorer/runs.tsx
  • frontend/src/pages/explorer/sales.tsx
  • frontend/src/pages/explorer/stores.tsx
  • frontend/src/pages/guide.tsx
  • frontend/src/pages/ops.tsx
  • frontend/src/pages/showcase.tsx
  • frontend/src/pages/visualize/backtest.tsx
  • frontend/src/pages/visualize/demand.tsx
  • frontend/src/pages/visualize/forecast.tsx
  • frontend/src/pages/visualize/planner.tsx
  • frontend/src/types/api.ts
  • scripts/run_demo.py
  • skills-lock.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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 and usage tips.

@w7-mgfcode w7-mgfcode merged commit aa9babf into main May 19, 2026
13 checks passed
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