Skip to content

Continuous enhancement: range safety and section labels - #236

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

Continuous enhancement: range safety and section labels#236
ryun6249 wants to merge 19 commits into
AI4Finance-Foundation:masterfrom
ryun6249:automation/continuous-enhancement-20260519-0602

Conversation

@ryun6249

Copy link
Copy Markdown

Continuous Enhancement Report

1. Current Status

  • Project purpose: FinGPT local research workstation with static FastAPI UI, market/macro/quant/Quantamental/forecast/AI portfolio workflows, and grounded AI briefing surfaces.
  • Existing structure preserved: Yes. This PR is stacked on the previous continuous-enhancement PR branch and only touches tracked static UI, UI contract, tests, and the enhancement log.
  • Main issues found: Custom dashboard date ranges could look valid even when dates were reversed or incomplete; All view showed every card but did not visibly label each card as Core, Diagnostics, or Operations.

2. Changes Made

Compatibility

  • Preserved existing Core / Diagnostics / Operations / All filters and kept All as default.
  • Did not change API contracts, schemas, trading/order execution, strategy entry/exit logic, secrets, or env files.

Data Consistency

  • Added custom dashboard range date-order normalization.
  • Reversed dates now propagate as an ordered range to URL state and downstream KPI/chart/table/AI controls.
  • Incomplete custom ranges now show a user-readable warning instead of silently appearing exact.

UI/UX

  • Added lightweight Core, Diagnostics, and Operations labels to All-view cards using existing data-panel-tier metadata.
  • Added warning styling for custom range issues without hiding existing controls.

Visualization

  • Kept existing chart implementations intact.
  • Verified the new All-view labels and custom range warning do not cause desktop or mobile horizontal overflow.

AI Briefing

  • No model/prompt behavior changed in this slice.
  • Re-verified Quantamental deterministic AI guard behavior through API tests and browser smoke.

Translation

  • Existing Korean UI text was preserved for new custom-range warnings.
  • Browser checks confirmed the Korean warning text fits on desktop and 390px mobile.

Performance

  • No new polling or background fetch loops were added.
  • Range normalization is synchronous UI state handling only.

Tests / Validation

  • Static JS/Python checks, UI contract, targeted pytest, Playwright MCP DOM checks, AI Portfolio smoke, and Quantamental smoke passed.

3. Changed Files

File Change Reason
app/web/app.js Added custom range normalization/warnings and ordered propagation Keep period state consistent and user-readable
app/web/styles.css Added All-view tier labels and range-warning styles Make full All view easier to scan and range issues visible
scripts/check_ui_contract.py Added markers for range guard helpers Prevent regression of custom-range safety
tests/test_ui_routing_contract.py Added static assertions for tier labels and range guard helpers Cover the new UI contract
docs/CONTINUOUS_ENHANCEMENT_LOG.md Logged current run, validation, checklist, and risks Keep automation history current

4. Validation Results

Check Command / Tool Result Notes
Lint git diff --check -- 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 Not run Excluded Repo root has no frontend package manifest; static UI is FastAPI-served
Test node --check app/web/app.js Passed Static JS syntax
Test python -m py_compile scripts/check_ui_contract.py Passed Python syntax
Test python scripts/check_ui_contract.py Passed UI markers and static route contract passed
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 MCP at http://127.0.0.1:8362/ui/?range=1Y#quantamental Passed panelView=all, tier labels visible, no horizontal overflow
UI validation Playwright MCP custom range interaction Passed Reversed 2026-05-19 / 2026-01-01 normalized to 2026-01-01~2026-05-19
UI validation Playwright MCP resized to 390x900 Passed horizontalOverflow=false
UI validation python scripts/ai_portfolio_ui_smoke.py --base-url http://127.0.0.1:8362 --timeout-s 120 --output reports/ai_portfolio_ui_smoke_continuous_20260519_0602.json Passed No console errors
UI/Data/AI validation python scripts/quantamental_ui_smoke.py --base-url http://127.0.0.1:8362 --output reports/quantamental_ui_smoke_continuous_20260519_0602.json Passed Required tickers, invalid ticker, GLOBAL resolver, Top 5, threshold screener, overview axes, Q&A, and audit smoke passed

5. Remaining Risks

  • This PR is stacked on prior continuous-enhancement commits while earlier PRs remain open.
  • The checkout still contains many unrelated dirty/untracked files that were not staged or committed here.
  • Full python -m pytest -q was not run in this slice; targeted checks and browser smoke were run instead.

6. Next Enhancement Suggestions

  1. Add deeper functional tests for custom range propagation into each tab-specific API request.
  2. Add a compact dashboard anchor map for very long All views.
  3. Continue normalizing Korean/English copy in older enhancement-log sections that predate UTF-8 cleanup.

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 19 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