Skip to content

Align recommendation limitations with analysis maturity#122

Merged
PooriaT merged 1 commit into
mainfrom
codex/update-recommendation-limitations-wording
Jun 19, 2026
Merged

Align recommendation limitations with analysis maturity#122
PooriaT merged 1 commit into
mainfrom
codex/update-recommendation-limitations-wording

Conversation

@PooriaT

@PooriaT PooriaT commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Update deterministic recommendation wording so it no longer claims technical, fundamental, or news inputs are “not implemented” while still avoiding overstating feature maturity.
  • Make limitations and per-item reasoning accurately reflect that technical indicators, market-condition analysis, fundamentals, and news summaries exist as optional/experimental, provider-dependent decision-support inputs while the deterministic rule set remains primarily snapshot/risk driven.

Description

  • Replaced stale "not implemented" reasoning in _recommend_holding with conservative wording that states the deterministic status is derived from valuation, allocation, unrealized P/L, and risk warnings while optional technical/fundamental/news inputs exist but are not yet authoritative drivers. (see src/finwall/recommendations.py).
  • Replaced the cash-deployment wording that claimed engines were unavailable with a clarification that cash deployment is based on valuation completeness, cash allocation, and risk warnings; optional technical/fundamental/news inputs are not used to generate ticker-level buy candidates in this rule set (see src/finwall/recommendations.py).
  • Added a small helper _analysis_input_limitations() to centralize input-maturity wording and used it in _build_limitations() to replace the previous hard-coded "not implemented" limitation lines (see src/finwall/recommendations.py).
  • Updated product-maturity documentation to reflect implemented optional/experimental analysis surfaces and to note that deterministic recommendations remain conservative and primarily snapshot/risk driven (README.md, docs/product-modes.md, docs/safety-limits.md).
  • Added regression tests that assert stale phrases are absent and that new optional/experimental wording appears in report limitations and reasoning (tests/test_recommendations.py, tests/test_reports.py).
  • No deterministic decision logic, thresholds, status assignment, cash-deployment math, report generation flow, API behavior, or risk-rule handling was changed.

Testing

  • Ran lint/format checks: poetry run ruff check . and poetry run ruff format --check --line-length 88 ., both succeeded.
  • Ran the full test suite: poetry run pytest, which passed (all tests including new regressions succeeded).
  • New tests verify absence of stale phrases, presence of conservative optional-input wording, and preservation of existing data-quality and risk-limit warnings.

Codex Task

@PooriaT PooriaT linked an issue Jun 19, 2026 that may be closed by this pull request
@PooriaT PooriaT merged commit 32d7338 into main Jun 19, 2026
1 check passed
@PooriaT PooriaT deleted the codex/update-recommendation-limitations-wording branch June 19, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Align recommendation limitations with implemented analysis features

1 participant