From 729eb80c1f1671378fa8cb645b19705a2bc7de4e Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 20 May 2026 15:04:22 +0800 Subject: [PATCH] Unify Trader Mode workbench shell --- SESSION.md | 4 +- TASKS.md | 3 +- ...der-mode-unified-shell-1366x768-loaded.png | Bin 0 -> 81736 bytes src/api/server.py | 2 +- src/web/app.js | 12 +- src/web/index.html | 138 +++++++++++++++++- src/web/styles.css | 28 ++++ src/web/trader_mode.js | 52 ++++++- tests/unit/test_api_static_server.py | 11 +- 9 files changed, 236 insertions(+), 14 deletions(-) create mode 100644 output/playwright/trader-mode-unified-shell-1366x768-loaded.png diff --git a/SESSION.md b/SESSION.md index b5ee850..df6f96f 100644 --- a/SESSION.md +++ b/SESSION.md @@ -10,7 +10,7 @@ Automation execution-layer PXX remains closed and its known scope stays frozen. ## Last Updated -2026-05-18 UTC +2026-05-20 UTC ## Automation Status @@ -118,6 +118,7 @@ Automation execution-layer PXX remains closed and its known scope stays frozen. - latest_decision_assistant_workspace_refinement_slice: continuous_workspace_summary_navigation - latest_decision_assistant_digest_browser_slice: digest_history_browser_review_sequence - latest_decision_assistant_digest_preference_slice: digest_preference_profile_local_mode +- latest_trader_mode_shell_slice: unified_workbench_left_tree_route - latest_decision_assistant_workflow_queue_slice: assistant_loop_queue - latest_decision_assistant_workspace_loop_slice: workflow_section_navigation_loop_queue - latest_decision_assistant_learning_focus_slice: learning_focus_queue @@ -800,6 +801,7 @@ Automation execution-layer PXX remains closed and its known scope stays frozen. - Workbench UX + read-only live usefulness recovery passed on 2026-05-20 after real intraday testing showed the root workbench was too long, hard to use, and runtime-dependent panels could appear ineffective. `/` now uses a left-menu/right-workspace layout with hash/localStorage section switching, default `Decision Assistant`, grouped `Readiness` and `Alerts` pages, and `/trader-mode` remains the fast-read entry. Frontend `fetchJson` now has request timeout fallback so slow review/readiness endpoints no longer keep the entire workbench stuck on Loading. Remote blockers were also recovered: PostgreSQL `pg_hba` accepted the Docker network, compose now maps `host.docker.internal`, non-root deploy env backup stays inside the remote app path, DB object ownership was reassigned to the migration/app user, the local proxy was relaunched, remote runtime env was restored with `TRADING_RUNTIME_ENABLED=1` / market and broker proxy URLs / `LIVE_TRADING_ENABLED=0`, and read-only launch readiness now treats fresh REST market data plus gap-clear state as usable while surfacing stream/news/account issues as warnings. Validation passed focused workbench/readiness/maintenance/deploy tests, secret/static script checks, Playwright screenshots at 1366x768 and 390x844 plus an Alerts hash view, full unit discovery, deploy smoke over 11 endpoints, standard remote ops smoke including `unattended_harness`, and remote `run_readonly_live_analysis_smoke.py` with `ready_for_readonly_live_analysis=true`, `must_not_trade=true`, `trade_permission_required=false`, and `submit_cancel_or_live_execution_called=false`. Current warning state: market stream may still be connecting while REST candles are fresh, news provider may be stale, and OKX account context may be unavailable; these warnings do not change `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol. - Trader Mode usefulness compression passed on 2026-05-20: `/trader-mode` and the embedded Decision Assistant watchlist now prioritize trader-language first-screen answers: `Why No Trade`, `Watch Next`, `Focus Reason`, `Data State`, and `No Candidate`. Watchlist queue cards now say why not to trade, what to watch next, and why the unique focus deserves attention instead of exposing internal reason buckets first. The stale/freshness gate no longer freezes the page just because an old candidate timestamp exists when fresh market/review timestamps are available, and read-only runtime fallback now treats market stream / broker sync degradation as warnings for analysis-only mode while strict execution/readiness gates stay unchanged. Profile filtering now preserves the server-generated readout when the current focus already matches the trader profile, avoiding fallback text that degraded `FVG retrace` into generic `confirmation`. State-change alerts now show readable trader messages instead of raw internal signatures. Validation passed 23 focused operator/static tests, `node --check`, Python compile checks, full unit discovery (`787` tests), secret static checks, script static checks, `git diff --check` with only LF/CRLF warnings, deploy smoke over 11 endpoints, standard remote ops smoke including `unattended_harness`, remote `run_readonly_live_analysis_smoke.py` with `ready_for_readonly_live_analysis=true` and `must_not_trade=true`, and gstack browser screenshots at `output/playwright/trader-mode-usefulness-readout-remote-final3-390x844.png` plus `output/playwright/trader-mode-usefulness-readout-remote-final3-1366x768.png`. - First real Trader Mode R2 use loop executed on 2026-05-20: used remote `/trader-mode` as the primary screen, observed `Observe Only: Watch Candidate #4610: FVG retrace`, and recorded a real `No Trade` action from the UI because Candidate `4610` remained `blocked` / `executable=false`. This correctly updated `shadow_paper_observations` instead of creating a fake paper ticket: `operator_feedback_count` increased from `1` to `2`, `shadow_observation_count` increased from `14` to `15`, while `paper_ticket_count=0` and `paper_execution_count=0` stayed unchanged. Saved after-close draft note `operator_notes.id=3` with scope `weekly_review_draft`; `/trading/journal/generate` returned `created=0`, so `weekly_review_entry_count` remains `0` until a real execution-derived journal entry exists. Evidence screenshot saved at `output/playwright/trader-mode-r2-real-use-loop-390x844.png`. Current R2 gate remains `paper_ticket_sample_gate`; do not mark R2 completed. +- Trader Mode unified shell closure passed on 2026-05-20: `/trader-mode` now resolves to the same left-menu/right-workspace `index.html` shell instead of the standalone page, with the Trader Mode section active from the route and the sidebar `Trader Mode` tree item selected. The embedded Trader Mode surface keeps the fast-read status, live readout, fast queue, freshness, focus, action buttons, after-close draft, R2 evidence, and read-only boundary controls, while the generic workbench filter bar is hidden only for this section. `trader_mode.js` is scoped so it can run inside the workbench without leaking globals into `app.js`; keyboard shortcuts and auto-refresh are active only while the Trader Mode section is visible. Remote validation passed deploy smoke over 11 endpoints, gstack browser checks on `http://192.168.3.90:8000/trader-mode` (`bodySection=trader-mode`, active nav=`Trader Mode`, sidebar present, generic controls hidden, loaded status=`Observe Only`), `run_readonly_live_analysis_smoke.py`, and `run_remote_ops_smoke.py`. Evidence screenshot saved at `output/playwright/trader-mode-unified-shell-1366x768-loaded.png`. No change was made to `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol. - Current assisted-analysis next gate: keep R1/R2 focused on `decision_support_ready` trust/sample/quality evidence and shadow/paper/operator feedback collection. OKX trade-permission sandbox smoke is deferred until the project explicitly re-enters execution adapter or real-trading preparation. ## Exact Next Step diff --git a/TASKS.md b/TASKS.md index afb7083..437f01c 100644 --- a/TASKS.md +++ b/TASKS.md @@ -150,7 +150,7 @@ - [x] R2 shadow / paper continuous validation ledger starter slice implemented and deployed - [x] R2 sample collection closure slice implemented and deployed: persistent daily observation ledger, runtime/API/cockpit observation actions, validation count fields, and remote sample writeback - [x] R2 evidence backfill audit and guarded shadow-observation backfill complete: remote dry-run found 10 eligible historical blocked-candidate days, remote apply created observations `1449` through `1458`, and the live gate moved from `shadow_candidate_day_coverage` to `paper_ticket_sample_gate` -- [ ] R2 evidence window still collecting: live state has `observed_shadow_day_count=12`, `shadow_observation_count=13`, `shadow_observation_day_count=11`, `paper_ticket_count=0`, `paper_execution_count=0`, `operator_feedback_count=1`, `weekly_review_entry_count=0`, and Trader Mode now surfaces these missing evidence types without marking `decision_support_ready=true` +- [ ] R2 evidence window still collecting: live state has `observed_shadow_day_count=12`, `shadow_observation_count=15`, `shadow_observation_day_count=11`, `paper_ticket_count=0`, `paper_execution_count=0`, `operator_feedback_count=2`, `weekly_review_entry_count=0`, and Trader Mode now surfaces these missing evidence types without marking `decision_support_ready=true` - [x] Recover remote API responsiveness blocker: no-proxy `/health` returned 200, SSH command execution recovered, and standard remote ops smoke passed all 9 checks including `unattended_harness` - [x] Restore OKX read-only market/broker proxy before continuing R2 sampling: remote no-proxy readiness now has `market_truth_ready`, `broker_state_ready`, and `runtime_ready`; standard remote ops smoke passed - [x] Read-only live analysis launch closure complete: `live_analysis_assistant_ready=true`, cockpit boundary/health summary visible, `decision_support_ready=false`, `execution_assist_ready=false`, `real_live_ready=false`, deploy smoke passed, `run_readonly_live_analysis_smoke.py` passed @@ -162,6 +162,7 @@ - [x] Low-risk sensitive credential cleanup complete: removed tracked expect scripts with embedded password sends, switched rollback docs/checker to `deploy_with_password.py` + runtime env, added redacted `run_secret_static_checks.py`, wired it into script static checks and Trading Delivery Checklist, and kept all real remote/runtime credentials unchanged - [x] Workbench frontend split-navigation closure: converted the long root workbench into a left-menu/right-workspace layout, added hash/localStorage section switching, added frontend request timeout fallback so slow review/readiness APIs no longer freeze the page, and validated desktop/narrow rendering - [x] Live usefulness blocker recovery: root workbench split-navigation is usable, slow frontend requests time out instead of freezing the page, remote DB/compose/deploy/migration/proxy/runtime blockers were recovered, standard remote ops smoke including `unattended_harness` passed, and readonly live analysis smoke passed without enabling order submission +- [x] Trader Mode unified workbench shell closure: `/trader-mode` now opens inside the same left-tree/right-workspace framework with the Trader Mode tree item active, hides the generic workbench filters only for this section, scopes Trader Mode JS to avoid app globals/hidden-section shortcuts, deploy smoke passed, remote gstack browser verification passed, readonly live analysis smoke passed, and remote ops smoke passed - [ ] Next trader-usefulness refinement: compress Trader Mode / watchlist language around why no trade, what to watch next, unique focus quality, stale data, and no-candidate states so the first screen answers live operator questions faster - [ ] R2 next collection action after readonly launch: wait for or surface a real executable candidate, then build shadow paper ticket / confirm paper execution / record operator feedback / add weekly review evidence without changing execution/live gates - [x] R3 OKX sandbox preflight starter implemented and deployed: signed dry-run request previews, idempotency key preview, error normalization catalog, `/trading/okx-sandbox-preflight`, live-readiness summary, cockpit surface, deploy smoke, remote ops smoke, and remote field/UI smoke diff --git a/output/playwright/trader-mode-unified-shell-1366x768-loaded.png b/output/playwright/trader-mode-unified-shell-1366x768-loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..5e273c9f68fb3a1219916884c9023bf6f202af82 GIT binary patch literal 81736 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 literal 0 HcmV?d00001 diff --git a/src/api/server.py b/src/api/server.py index d0a38f0..ab4cd83 100644 --- a/src/api/server.py +++ b/src/api/server.py @@ -1299,7 +1299,7 @@ def _resolve_static_file(path: str) -> Optional[Path]: if path in {"/training", "/training.html"}: return STATIC_DIR / "training.html" if path in {"/trader-mode", "/trader-mode.html"}: - return STATIC_DIR / "trader_mode.html" + return STATIC_DIR / "index.html" relative = path.removeprefix("/static/") resolved = (STATIC_DIR / relative).resolve() try: diff --git a/src/web/app.js b/src/web/app.js index dfd16fc..bcca027 100644 --- a/src/web/app.js +++ b/src/web/app.js @@ -170,6 +170,14 @@ function getWorkbenchSection(sectionId) { return workbenchSections.find((section) => section.dataset.workbenchSection === sectionId) || null; } +function getPathWorkbenchSection() { + const normalizedPath = window.location.pathname.replace(/\/+$/, '') || '/'; + if (normalizedPath === '/trader-mode' || normalizedPath === '/trader-mode.html') { + return 'trader-mode'; + } + return ''; +} + function activateWorkbenchSection(sectionId, options = {}) { if (!workbenchSections.length) return; const fallback = getWorkbenchSection('decision-assistant') || workbenchSections[0]; @@ -180,6 +188,7 @@ function activateWorkbenchSection(sectionId, options = {}) { section.classList.toggle('is-active', isActive); section.toggleAttribute('hidden', !isActive); }); + document.body.dataset.workbenchSection = activeId; workbenchNavButtons.forEach((button) => { const isActive = button.dataset.workbenchTarget === activeId; button.classList.toggle('is-active', isActive); @@ -195,6 +204,7 @@ function activateWorkbenchSection(sectionId, options = {}) { if (options.scrollToTop && workbenchContent) { workbenchContent.scrollTo({ top: 0, behavior: options.smooth ? 'smooth' : 'auto' }); } + window.dispatchEvent(new CustomEvent('workbench-section-change', { detail: { sectionId: activeId } })); } function initializeWorkbenchNavigation() { @@ -209,7 +219,7 @@ function initializeWorkbenchNavigation() { }); }); const hashSection = window.location.hash ? window.location.hash.replace(/^#\/?/, '') : ''; - activateWorkbenchSection(hashSection || getStoredWorkbenchSection() || 'decision-assistant', { + activateWorkbenchSection(hashSection || getPathWorkbenchSection() || getStoredWorkbenchSection() || 'decision-assistant', { persist: false, scrollToTop: false, }); diff --git a/src/web/index.html b/src/web/index.html index 98c8e1d..03756fc 100644 --- a/src/web/index.html +++ b/src/web/index.html @@ -13,7 +13,7 @@

Live plan, candidate, ticket, position, and review flow.

- Trader Mode + Open Trader Mode
Loading workspace...
@@ -25,7 +25,7 @@
Decision Assistant