Skip to content

Continuous enhancement: range support transparency - #238

Open
ryun6249 wants to merge 21 commits into
AI4Finance-Foundation:masterfrom
ryun6249:automation/continuous-enhancement-20260519-0804
Open

Continuous enhancement: range support transparency#238
ryun6249 wants to merge 21 commits into
AI4Finance-Foundation:masterfrom
ryun6249:automation/continuous-enhancement-20260519-0804

Conversation

@ryun6249

Copy link
Copy Markdown

Continuous Enhancement Report

1. Current Status

  • Project purpose: FastAPI-served local financial research workstation for market, macro, Quant Lab, Quantamental, ML Forecast, AI Portfolio, and AI briefing workflows.
  • Existing structure preserved: Static app/web UI, Python API/service boundaries, deterministic Quantamental engines, and existing Core/Diagnostics/Operations/All filtering were preserved.
  • Main issues found: the global range note still implied every surface received the exact same period, while Research and Quantamental use capped/lookback-bucket mappings.

2. Changes Made

Compatibility

  • Kept existing API contracts, schemas, panel filters, routes, model config behavior, and strategy/trading logic unchanged.

Data Consistency

  • Added globalRangeSupportSummary() so the selected dashboard range exposes date-supported targets, capped Research lookback, and Quantamental lookback bucket conversion.

UI/UX

  • Updated the dashboard range note to say exact date ranges are applied where supported and lookback-based screens are mapped to supported buckets.
  • Added a 旮瓣皠 鞝侅毄 氚╈嫕 item to the quality panel so the top-right quality detail explains range conversion without exposing internal diagnostics.

Visualization

  • No chart renderer/math changed; the existing chart/overview smoke was re-run through the Quantamental UI smoke.

AI Briefing

  • No prompt/model behavior changed; Quantamental used-data and deterministic-output guard tests were re-run.

Translation

  • Added concise Korean UI copy and verified UTF-8 contract checks with no mojibake/placeholder failures.

Performance

  • Derived the new support summary from existing client state; no extra network calls, polling, or background refresh loops.

Tests / Validation

  • Ran static JS/Python checks, UI contract checks, targeted pytest, browser DOM checks, Quantamental UI smoke, and API data/AI smoke.

3. Changed Files

File Change Reason
app/web/app.js Added range-support summary and wired it into range controls and quality context Make period application truthful across exact-date and lookback-bucket screens
app/web/index.html Added initial range-support quality item and corrected default range support copy Keep first render consistent before JS hydration
app/web/styles.css Added full-width quality context item style Keep long support detail readable on desktop/mobile
scripts/check_ui_contract.py Added range-support contract markers Prevent future UI regression
tests/test_ui_routing_contract.py Added static contract assertions Cover the new UI markers/helper
docs/CONTINUOUS_ENHANCEMENT_LOG.md Added 08:04 run report and checklist Record analysis, scope, validation, and limits

4. Validation Results

Check Command / Tool Result Notes
Lint git diff --check -- app/web/index.html app/web/app.js app/web/styles.css scripts/check_ui_contract.py tests/test_ui_routing_contract.py docs/CONTINUOUS_ENHANCEMENT_LOG.md Passed No whitespace errors in touched files
Build node --check app/web/app.js Passed Static JS syntax; no package-managed frontend build exists
Test python -m pytest tests/test_ui_routing_contract.py -q Passed 39 passed, 4 subtests passed
Test python -m pytest tests/test_ui_modules.py -q Passed 2 passed
AI briefing validation python -m pytest tests/test_quantamental_api.py -q Passed 20 passed; deterministic AI guard preserved
UI validation Playwright CLI at http://127.0.0.1:8382/ui/?range=1Y#quantamental Passed All default, support note, quality detail, desktop/mobile overflow checked
UI/Data validation python scripts/quantamental_ui_smoke.py --base-url http://127.0.0.1:8382 --output reports/quantamental_ui_smoke_continuous_20260519_0804.json Passed Required tickers, invalid ticker, GLOBAL resolver, charts/axes, Q&A, audit smoke passed
Data/AI smoke GET /api/v1/quantamental/analysis/AAPL?...include_ai=true&use_llm=false Passed Wrote reports/quantamental_api_continuous_20260519_0804.json
Excluded npm/pnpm build/lint/test Not run Repo root has no package.json/pnpm-lock.yaml

5. Remaining Risks

6. Next Enhancement Suggestions

  1. Add a compact per-tab range capability matrix for screens that only support buckets or capped lookbacks.
  2. Extend browser smoke assertions to cover custom range conversion text directly.
  3. Add UI copy for unsupported range states inside individual tab headers where backend support is intentionally limited.

7. Safety Notes

  • main/master was not modified directly.
  • Auto-merge was not enabled.
  • Secrets were not touched.
  • Trading/order execution logic was not modified.
  • Unsupported facts were not presented as verified.

Your Name added 21 commits May 15, 2026 01:04
Add browser-based validation gate, decision-grade research pipeline, web UI, tests, and docs.

Archive legacy FinGPT and finogrid sources under legacy/archive while keeping runtime artifacts ignored.
Adds the FinGPT-native Quant Lab router split, artifact-backed workflows, replay/freshness controls, strategy governance, export verification/history, offline package verification, and guarded cross-run cleanup documentation and tests.

Verified before commit: python -m pytest tests -q (367 passed, 3 subtests passed), node --check app\\web\\app.js, python scripts\\check_ui_contract.py, python -m core.preflight, scripts\\verify_production_path.ps1, and quant_lab_ui_smoke.py.
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