901 lines
152 KiB
Markdown
901 lines
152 KiB
Markdown
# ai-exchange Session
|
|
|
|
## Current Goal
|
|
|
|
Automation execution-layer PXX remains closed and its known scope stays frozen. Under explicit user direction, the active product phase has shifted from broad Decision Assistant expansion to mainline correction: strictly follow `docs/ICT交易全书_出版终校版.md`, `docs/AI_ICT_硬性主线约束_必须遵循ICT交易全书_2026-05-21_v1.md`, and `docs/AI_ICT_主线纠偏与功能裁剪方案_2026-05-20_v1.md`; keep only Trader Cockpit / Strategy Backtest / Trading Plan / Journal / System Ops in the trader-facing shell; productize existing ICT backtest evidence before adding any new feature surface.
|
|
|
|
## Hard Mainline Gate
|
|
|
|
- Highest-priority rule: every trading-analysis slice must map to `docs/ICT交易全书_出版终校版.md`.
|
|
- Required chain: Range / Draw / Location -> Liquidity / Sweep / Inducement / Path -> Displacement / MSS / FVG / Retest / Session -> backtest evidence -> pre-market plan -> intraday unique focus or no-trade reason -> journal / study-notes feedback.
|
|
- If a slice does not serve this chain, it must not enter the trader-facing product; necessary diagnostics belong under `System Ops`.
|
|
- Do not restart external-context/archive/digest/workflow/handoff long-tail work unless it directly supports the ICT book mainline.
|
|
- This gate overrides older backlog items, old phase plans, and ambiguous prompts.
|
|
|
|
## Current Branch
|
|
|
|
`main`
|
|
|
|
## Last Updated
|
|
|
|
2026-05-21 UTC
|
|
|
|
## Automation Status
|
|
|
|
- state: automation_execution_layer_pxx_known_scope_closed
|
|
- current_phase: Long-running Analysis Decision Monitor With Ops Rollup
|
|
- active_product_phase: Decision Assistant Phase H/F/D/G/E Dense Recall + Templates + Announcements + Peer Baselines
|
|
- latest_decision_assistant_slice: unified_cockpit_summary
|
|
- latest_decision_assistant_change_slice: review_packet_delta_summary
|
|
- latest_decision_assistant_evidence_slice: structured_evidence_chain
|
|
- latest_decision_assistant_workflow_slice: workflow_digest
|
|
- latest_decision_assistant_priority_slice: opportunity_ranking_and_no_trade_priority
|
|
- latest_decision_assistant_timeline_slice: decision_timeline
|
|
- latest_decision_assistant_explanation_slice: explanation_drilldown_and_reason_citations
|
|
- latest_decision_assistant_learning_slice: learning_rollup
|
|
- latest_decision_assistant_watchlist_slice: candidate_watchlist_tiers
|
|
- latest_decision_assistant_external_context_slice: external_context_summary
|
|
- latest_decision_assistant_digest_slice: digest_surface_and_personalized_reminders
|
|
- latest_decision_assistant_setup_learning_slice: setup_learning_rollup
|
|
- latest_decision_assistant_review_entry_slice: review_entrypoints
|
|
- latest_decision_assistant_watchlist_action_slice: tier_action_commands
|
|
- latest_decision_assistant_external_source_slice: expanded_external_context_cards
|
|
- latest_decision_assistant_workspace_slice: sectioned_dense_workspace
|
|
- latest_decision_assistant_replay_stats_slice: setup_session_replay_statistics
|
|
- latest_decision_assistant_digest_history_slice: digest_history_preview
|
|
- latest_decision_assistant_replay_compare_slice: comparative_replay_summary
|
|
- latest_decision_assistant_exchange_status_slice: okx_public_system_status
|
|
- latest_decision_assistant_scan_summary_slice: scan_summary_cards
|
|
- latest_decision_assistant_digest_summary_slice: digest_history_summary
|
|
- latest_decision_assistant_replay_story_slice: replay_comparison_story
|
|
- latest_decision_assistant_note_template_slice: review_note_templates
|
|
- latest_decision_assistant_digest_group_slice: digest_history_groups
|
|
- latest_decision_assistant_replay_broad_baseline_slice: broader_replay_baseline_summary
|
|
- latest_decision_assistant_announcement_slice: okx_announcements
|
|
- latest_decision_assistant_note_shortcut_slice: template_quick_save_actions
|
|
- latest_decision_assistant_history_filter_slice: digest_history_group_filtering
|
|
- latest_decision_assistant_template_recommendation_slice: recommended_template_ergonomics
|
|
- latest_decision_assistant_digest_recommendation_slice: recommended_digest_group
|
|
- latest_decision_assistant_replay_percentile_slice: replay_percentile_visibility
|
|
- latest_decision_assistant_scan_action_slice: scan_summary_jump_actions
|
|
- latest_decision_assistant_digest_group_nav_slice: digest_history_group_navigation
|
|
- latest_decision_assistant_template_action_slice: template_card_use_save_actions
|
|
- latest_decision_assistant_replay_composite_rank_slice: composite_replay_rank
|
|
- latest_decision_assistant_section_nav_slice: assistant_section_navigation
|
|
- latest_decision_assistant_history_persistence_slice: digest_filter_persistence
|
|
- latest_decision_assistant_replay_composite_slice: composite_replay_percentile
|
|
- latest_decision_assistant_scan_hierarchy_slice: scan_card_hierarchy_context
|
|
- latest_decision_assistant_digest_focus_slice: digest_group_focus_headlines
|
|
- latest_decision_assistant_template_loop_slice: context_aware_review_templates
|
|
- latest_decision_assistant_replay_risk_slice: replay_risk_discipline_verdict
|
|
- latest_decision_assistant_scan_transition_slice: scan_to_action_transition_hints
|
|
- latest_decision_assistant_digest_staleness_slice: digest_staleness_hints
|
|
- latest_decision_assistant_template_reuse_slice: template_reuse_and_carry_over_context
|
|
- latest_decision_assistant_replay_peer_slice: peer_replay_baseline_visibility
|
|
- latest_decision_assistant_scan_completion_slice: guided_scan_completion_states
|
|
- latest_decision_assistant_digest_refresh_slice: stale_to_fresh_refresh_prompts
|
|
- latest_decision_assistant_template_reuse_metrics_slice: saved_template_reuse_metrics
|
|
- latest_decision_assistant_replay_family_slice: setup_family_peer_baselines
|
|
- latest_decision_assistant_scan_handoff_slice: scan_state_handoff_markers
|
|
- latest_decision_assistant_digest_refresh_evidence_slice: refresh_action_evidence_anchors
|
|
- latest_decision_assistant_template_outcome_slice: template_outcome_usefulness_scoring
|
|
- latest_decision_assistant_replay_family_trend_slice: setup_family_trend_deltas
|
|
- latest_decision_assistant_handoff_aging_slice: persisted_handoff_aging_warnings
|
|
- latest_decision_assistant_digest_refresh_proof_slice: refresh_confirmation_freshness_proof
|
|
- latest_decision_assistant_template_feedback_loop_slice: outcome_feedback_capture_loops
|
|
- latest_decision_assistant_replay_family_drift_slice: setup_family_drift_alerts
|
|
- latest_decision_assistant_handoff_cleanup_slice: handoff_lane_cleanup_snooze
|
|
- latest_decision_assistant_digest_confirmation_trail_slice: refresh_proof_confirmation_trail
|
|
- latest_decision_assistant_template_feedback_tuning_slice: feedback_aggregation_recommendation_tuning
|
|
- latest_decision_assistant_replay_family_watchlist_slice: setup_family_drift_watchlist_thresholds
|
|
- latest_decision_assistant_handoff_grouping_slice: handoff_lane_grouping_overdue_cleanup
|
|
- latest_decision_assistant_digest_proof_escalation_slice: proof_aging_trend_stale_escalation
|
|
- latest_decision_assistant_template_guardrail_slice: feedback_trend_negative_guardrails
|
|
- latest_decision_assistant_replay_promotion_slice: setup_family_watchlist_promotion_readiness
|
|
- latest_decision_assistant_handoff_lifecycle_slice: handoff_lifecycle_resume_queue
|
|
- latest_decision_assistant_digest_followup_slice: proof_escalation_followup_resolved_states
|
|
- latest_decision_assistant_template_guardrail_resolution_slice: guardrail_resolution_preferred_decay
|
|
- latest_decision_assistant_replay_promotion_queue_slice: setup_family_promotion_queue_demotion_history
|
|
- latest_decision_assistant_handoff_resume_persistence_slice: resume_queue_persistence_resolved_lanes
|
|
- latest_decision_assistant_digest_resolution_history_slice: proof_followup_resolution_history_queue_aging
|
|
- latest_decision_assistant_template_recovery_slice: preference_recovery_guardrail_audit
|
|
- latest_decision_assistant_replay_review_lane_slice: promotion_decision_history_review_lane_aging
|
|
- latest_decision_assistant_handoff_resume_history_slice: resume_history_stale_persistence_cleanup
|
|
- latest_decision_assistant_digest_proof_sla_slice: proof_resolution_sla_repeated_stale_suppression
|
|
- latest_decision_assistant_template_recovery_recommendation_slice: recovery_recommendations_audit_filtering
|
|
- latest_decision_assistant_replay_backlog_slice: review_lane_sla_promotion_backlog_priority
|
|
- latest_decision_assistant_handoff_backlog_slice: cleanup_action_readiness_resume_backlog_grouping
|
|
- latest_decision_assistant_digest_backlog_slice: proof_sla_backlog_freshness_debt_summary
|
|
- latest_decision_assistant_template_audit_lane_slice: recovery_shortcuts_audit_lane_grouping
|
|
- latest_decision_assistant_replay_evidence_backlog_slice: promotion_evidence_queue_backlog_trend_handoff
|
|
- latest_decision_assistant_handoff_execution_slice: cleanup_execution_log_grouped_resume_handoff_summary
|
|
- latest_decision_assistant_digest_debt_trend_slice: freshness_debt_trend_sla_recovery_recommendations
|
|
- latest_decision_assistant_template_shortcut_telemetry_slice: audit_lane_recommendations_shortcut_outcome_telemetry
|
|
- latest_decision_assistant_replay_evidence_aging_slice: promotion_evidence_aging_backlog_comparison_summary
|
|
- latest_decision_assistant_external_calendar_slice: macro_news_calendar_event_window_summary
|
|
- latest_decision_assistant_workflow_rhythm_slice: pre_intraday_post_rhythm_checklist
|
|
- latest_decision_assistant_workflow_session_slice: workflow_session_completion_summary
|
|
- latest_decision_assistant_learning_attribution_slice: failure_missed_opportunity_setup_session_stats
|
|
- latest_decision_assistant_digest_high_value_slice: importance_templates_high_value_filter
|
|
- latest_decision_assistant_chart_source_slice: chart_readonly_source_inventory_stale_evidence
|
|
- latest_decision_assistant_chart_reference_slice: optional_external_chart_reference_internal_primary
|
|
- latest_decision_assistant_continuous_workspace_slice: continuous_workspace_rail
|
|
- latest_decision_assistant_workspace_evidence_slice: evidence_section_anchor_navigation
|
|
- latest_decision_assistant_weekly_trend_slice: weekly_trend_breakdown
|
|
- latest_decision_assistant_digest_review_back_slice: digest_history_review_back_actions
|
|
- 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_frontend_i18n_slice: zh_cn_default_en_switcher
|
|
- latest_frontend_i18n_dynamic_slice: existing_dynamic_card_field_value_polish
|
|
- latest_frontend_i18n_dynamic_status: implemented_deployed_remote_smoke_passed
|
|
- latest_frontend_i18n_dynamic_closure: expanded existing zh-CN dynamic term coverage for session focus, candidate cards, readiness/runtime codes, and nested evidence JSON; remote browser audit on `/trader-mode#intraday-candidates` had no tracked English remnants, no visible snake_case remnants in the active candidate section, and no console errors
|
|
- latest_frontend_i18n_dynamic_validation: node --check src/web/i18n.js, tests.unit.test_api_static_server, secret static checks, script static checks, full unit 790 tests, deploy smoke 11 endpoints, remote ops smoke, and readonly live analysis smoke passed; readonly boundary still reports must_not_trade=true and submit_cancel_or_live_execution_called=false
|
|
- latest_frontend_navigation_prune_slice: trader_main_nav_first_cut
|
|
- latest_frontend_navigation_prune_status: implemented_deployed_remote_smoke_passed
|
|
- latest_frontend_navigation_prune_closure: trader-facing left nav now only exposes Trader Cockpit, Strategy Backtest, Trading Plan, Journal, and System Ops; previous Decision Assistant/runtime/archive/alert/detail panels remain reachable only from System Ops advanced links; stale legacy localStorage advanced-section defaults fall back to Trader Cockpit unless the operator explicitly opens a hash.
|
|
- latest_frontend_navigation_prune_validation: node --check app/i18n, focused static/docs tests, script static checks, full unit 790 tests, deploy smoke 11 endpoints, remote ops smoke, readonly live analysis smoke, and Playwright browser audit passed; browser audit confirmed zh-CN nav labels, System Ops advanced drill-down, active nav mapping, hidden generic filters on main slices, and zero console errors.
|
|
- latest_strategy_backtest_slice: readonly_strategy_backtest_surface
|
|
- latest_strategy_backtest_status: implemented_deployed_remote_smoke_passed
|
|
- latest_strategy_backtest_closure: Strategy Backtest now has `/trading/backtests`, a read-only workbench page with instrument/run controls, latest stored backtest, quality gate, sample/executed counts, total R, expectancy, profit factor, drawdown, loss streak, equity curve, top sessions, failure reasons, and recent run list. The page catches candle/backtest endpoint failures so one local DB permission issue does not blank the whole workbench.
|
|
- latest_strategy_backtest_validation: node --check app/i18n, focused API/static tests, `npm run build`, `npm run lint` full unit discovery 791 tests, `git diff --check` with only LF/CRLF warnings, deploy smoke 11 endpoints, remote ops smoke, readonly live analysis smoke, remote `/trading/backtests` field smoke, and browser audit on `http://192.168.3.90:8000/#strategy-backtest` passed. Remote latest run `#489` is correctly blocked by quality gate (`sample_size_too_small`, executed sample, expectancy, profit factor, consecutive-loss reasons) and the Chinese UI renders those as trader-readable reasons.
|
|
- latest_trader_cockpit_recompression_slice: ict_six_point_readout_with_backtest_edge
|
|
- latest_trader_cockpit_recompression_status: implemented_deployed_remote_ops_passed_readonly_launch_blocked_by_external_proxy
|
|
- latest_trader_cockpit_recompression_closure: Trader Cockpit first screen now uses the ICT mainline six-point readout `Now / Reason / Wait / Risk / Historical Edge / Boundary`, fetches `/trading/backtests` for the active instrument, and summarizes the latest quality gate as historical edge evidence without promoting any setup into a buy/sell or order-submission instruction. Local build, full lint/unit, deploy smoke, remote ops smoke, remote `/trading/backtests` field smoke, and remote browser QA passed. After the proxy/network path recovered, `run_readonly_live_analysis_smoke.py` also passed with `ready_for_readonly_live_analysis=true`, `must_not_trade=true`, `trade_permission_required=false`, and `submit_cancel_or_live_execution_called=false`; remaining stream/news/account degradations are read-only warnings, not order-permission requirements.
|
|
- 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
|
|
- latest_decision_assistant_learning_loop_slice: replay_learning_loop_queue
|
|
- latest_decision_assistant_workflow_artifact_slice: workflow_phase_artifacts
|
|
- latest_decision_assistant_digest_action_slice: digest_action_queue
|
|
- latest_decision_assistant_learning_matrix_slice: learning_focus_matrix
|
|
- latest_decision_assistant_workspace_handoff_slice: workspace_continuity_handoff
|
|
- latest_decision_assistant_watchlist_focus_slice: watchlist_focus_matrix
|
|
- latest_decision_assistant_review_action_slice: review_entry_action_queue
|
|
- latest_decision_assistant_review_handoff_slice: review_entry_handoff_summary
|
|
- latest_decision_assistant_digest_persistence_slice: digest_preferences_api_archive_history
|
|
- latest_decision_assistant_digest_archive_slice: persisted_digest_archive_visibility
|
|
- latest_decision_assistant_workflow_persistence_slice: workflow_history_archive_persistence
|
|
- latest_decision_assistant_workflow_archive_slice: persisted_workflow_archive_visibility
|
|
- latest_decision_assistant_focus_workspace_slice: focus_workspace_context
|
|
- latest_decision_assistant_exchange_hardening_slice: okx_status_announcement_cached_fallbacks
|
|
- latest_decision_assistant_external_chart_adapter_slice: binance_public_chart_reference
|
|
- latest_decision_assistant_broker_transport_slice: broker_read_proxy_direct_fallback
|
|
- latest_real_trade_readiness_slice: R1_decision_support_promotion_surface
|
|
- latest_real_trade_readiness_status: closed
|
|
- latest_real_trade_readiness_external_blocker: resolved_remote_ops_smoke_passed
|
|
- latest_real_trade_readiness_next_slice: R2_shadow_paper_continuous_validation_ledger
|
|
- latest_real_trade_readiness_r2_status: implemented_deployed_collecting_samples
|
|
- latest_real_trade_readiness_r2_next_gate: paper_ticket_sample_gate
|
|
- latest_real_trade_readiness_r2_sample_collection_slice: daily_observation_runtime_api_cockpit_bridge
|
|
- latest_real_trade_readiness_r2_sample_collection_status: implemented_deployed_remote_sample_recorded
|
|
- latest_real_trade_readiness_r2_evidence_backfill_status: applied_remote_shadow_observation_backfill_10_days
|
|
- latest_real_trade_readiness_r2_sample_collection_remote_state: observed_shadow_day_count=12, shadow_observation_count=13, shadow_observation_day_count=11, operator_feedback_count=1, paper_ticket_count=0, paper_execution_count=0
|
|
- latest_real_trade_readiness_r2_remote_api_recovery_status: recovered_no_proxy_health_and_remote_ops_smoke_passed
|
|
- latest_real_trade_readiness_r2_current_blocker: paper_ticket_sample_gate_not_readonly_launch_blocker
|
|
- latest_readonly_live_analysis_launch_plan_path: docs/AI_ICT_实盘辅助分析决策助手上线必做清单_2026-05-18_v1.md
|
|
- latest_readonly_live_analysis_launch_status: closed_deployed_remote_smoke_passed
|
|
- latest_readonly_live_analysis_launch_next_slice: backlog_refresh_after_readonly_launch
|
|
- latest_readonly_live_analysis_launch_remote_state: live_analysis_assistant_ready=true, product_operating_mode=restricted_decision_support, decision_support_ready=false, execution_assist_ready=false, real_live_ready=false, readonly_account_context_status=available
|
|
- latest_readonly_live_analysis_launch_smoke: scripts/run_readonly_live_analysis_smoke.py passed with ready_for_readonly_live_analysis=true, must_not_trade=true, trade_permission_required=false, submit_cancel_or_live_execution_called=false
|
|
- latest_readonly_live_analysis_user_guide_path: docs/AI_ICT_实盘辅助分析决策助手使用说明_2026-05-18_v1.md
|
|
- latest_readonly_live_analysis_user_guide_status: updated_for_independent_trader_mode_first_sop
|
|
- latest_readonly_live_analysis_trader_mode_slice: independent_trader_mode_intraday_fast_read_p0
|
|
- latest_readonly_live_analysis_trader_mode_status: implemented_deployed_remote_smoke_passed
|
|
- latest_readonly_live_analysis_trader_mode_remote_state: route=/trader-mode, mode=trader_mode_live_brief, status=review_now, status_label=Review Now, status_tone=review, data_confidence=fresh, freshness_status=fresh, stale_seconds=12, primary_question_trade_action=not_a_buy_sell_instruction, must_not_trade=true, execution_allowed=false, real_live_ready=false
|
|
- latest_readonly_live_analysis_trader_mode_p0_closure: independent route, safe status labels, strong freshness timestamps/stale freeze, one-click Agree/Disagree/No Trade/Need More Evidence/Write Quick Note actions, visual/sound/notification change alert, R2 evidence gap surface, local full unit/static/script checks, deploy smoke, remote ops smoke, readonly smoke, and field smoke passed
|
|
- latest_readonly_live_analysis_trader_mode_p1_slice: trader_profile_templates_hotkeys_plain_focus_recovery_visual_qa
|
|
- latest_readonly_live_analysis_trader_mode_p1_status: implemented_deployed_remote_smoke_passed
|
|
- latest_readonly_live_analysis_trader_mode_p1_closure: profile templates now include BTC London, BTC NY, ETH London, and All Intraday; Trader Mode supports R/N/A/D/Space shortcuts, plain-language focus quality explanation, operator recovery actions, safer humanized UI tokens, first-screen status before profile controls, and 13in/14in/narrow dark screenshot QA.
|
|
- latest_readonly_live_analysis_trader_mode_p1_validation: focused unit/static tests passed, script static checks passed, node --check passed, local readonly live analysis smoke passed with must_not_trade=true and submit_cancel_or_live_execution_called=false, full unit passed 775 tests, git diff --check had only LF/CRLF warnings, screenshots saved under output/playwright/trader-mode-p1-*.png.
|
|
- latest_readonly_live_analysis_trader_mode_p1_remote_closure: live deploy recovered with yuqei SSH plus sudo, complete read-only env migrated to /home/yuqei/project/ai-exchange/.env without exposing secret values, deploy smoke passed 11 endpoints, standard remote ops smoke passed including unattended_harness, and readonly live analysis smoke passed with ready_for_readonly_live_analysis=true.
|
|
- latest_readonly_live_analysis_trader_mode_p1_boundary: does_not_change_execution_allowed_real_live_ready_decision_support_ready_risk_governor_trust_bucket_or_operator_confirmation
|
|
- latest_readonly_live_analysis_trader_mode_p2_slice: chart_context_bridge_multi_instrument_queue_post_market_draft_ops_duty_panel
|
|
- latest_readonly_live_analysis_trader_mode_p2_status: implemented_deployed_remote_smoke_passed
|
|
- latest_readonly_live_analysis_trader_mode_p2_closure: Trader Mode now exposes Fast Queue for BTC/ETH/SOL, Chart Bridge using internal candles as primary evidence and external chart providers as reference-only, After-Close Draft generated from shadow observations plus weekly review carry-forward, and Duty Panel using readiness/maintenance/unattended-harness signals.
|
|
- latest_readonly_live_analysis_trader_mode_p2_validation: focused unit/static tests passed, script static checks passed, node --check passed, local and remote readonly live analysis smoke passed including ops_duty_maintenance, ops_duty_unattended_harness, and chart_bridge_candles, remote ops smoke passed, screenshots saved under output/playwright/trader-mode-p2-*.png.
|
|
- latest_readonly_live_analysis_trader_mode_p2_boundary: does_not_connect_real_tradingview_mcp_yet_does_not_change_execution_allowed_real_live_ready_decision_support_ready_risk_governor_trust_bucket_or_operator_confirmation
|
|
- latest_real_trade_readiness_r3_slice: okx_sandbox_preflight_starter
|
|
- latest_real_trade_readiness_r3_status: implemented_deployed_preflight_passed
|
|
- latest_real_trade_readiness_r3_next_gate: deferred_until_execution_adapter_phase
|
|
- latest_real_trade_readiness_r4_status: blocked_on_r1_r2_r3_gates
|
|
- latest_real_trade_readiness_r5_status: blocked_until_r4_pilot_evidence
|
|
- latest_decision_assistant_archive_productization_slice: workflow_digest_archive_query_compare
|
|
- latest_decision_assistant_focus_persistence_slice: server_persisted_focus_candidate
|
|
- latest_decision_assistant_profile_management_slice: digest_profiles_and_editable_importance_templates
|
|
- latest_decision_assistant_enhancement_plan_path: docs/AI_ICT_鍒嗘瀽鍔╂墜涓荤嚎澧炲己寮€鍙戣鍒抇2026-05-14_v1.md
|
|
- latest_decision_assistant_preferences_surface_slice: independent_preferences_section
|
|
- latest_decision_assistant_profile_lifecycle_slice: digest_preference_profile_create_rename_delete
|
|
- latest_decision_assistant_preferences_draft_slice: explicit_dirty_save_revert_reset
|
|
- latest_decision_assistant_archive_filter_slice: archive_filter_toolbar_and_query_context
|
|
- latest_decision_assistant_archive_selection_slice: arbitrary_archive_snapshot_compare
|
|
- latest_decision_assistant_archive_pagination_slice: archive_load_more_and_offset_state
|
|
- latest_decision_assistant_focus_evidence_slice: focus_candidate_evidence_chain
|
|
- latest_decision_assistant_focus_digest_slice: focus_related_reminder_recompute
|
|
- latest_decision_assistant_focus_replay_slice: candidate_scoped_replay_rollup
|
|
- latest_decision_assistant_focus_note_slice: structured_focus_note_prefill
|
|
- latest_decision_assistant_macro_provider_slice: macro_news_provider_inventory
|
|
- latest_decision_assistant_chart_registry_slice: multi_provider_chart_reference_registry
|
|
- latest_decision_assistant_exchange_surface_slice: exchange_context_surface_inventory
|
|
- latest_decision_assistant_visual_reference_slice: external_context_visual_reference_cards
|
|
- latest_decision_assistant_summary_status: implemented
|
|
- latest_decision_assistant_change_summary_status: implemented
|
|
- latest_decision_assistant_evidence_status: implemented
|
|
- latest_decision_assistant_workflow_status: implemented
|
|
- latest_decision_assistant_priority_status: implemented
|
|
- latest_decision_assistant_timeline_status: implemented
|
|
- latest_decision_assistant_explanation_status: implemented
|
|
- latest_decision_assistant_reason_citation_status: implemented
|
|
- latest_decision_assistant_learning_status: implemented
|
|
- latest_decision_assistant_watchlist_status: implemented
|
|
- latest_decision_assistant_external_context_status: implemented
|
|
- latest_decision_assistant_digest_status: implemented
|
|
- latest_decision_assistant_setup_learning_status: implemented
|
|
- latest_decision_assistant_review_entry_status: implemented
|
|
- latest_decision_assistant_watchlist_action_status: implemented
|
|
- latest_decision_assistant_external_source_status: implemented
|
|
- latest_decision_assistant_workspace_status: implemented
|
|
- latest_decision_assistant_replay_stats_status: implemented
|
|
- latest_decision_assistant_digest_history_status: implemented
|
|
- latest_decision_assistant_replay_compare_status: implemented
|
|
- latest_decision_assistant_exchange_status_status: implemented
|
|
- latest_decision_assistant_scan_summary_status: implemented
|
|
- latest_decision_assistant_digest_summary_status: implemented
|
|
- latest_decision_assistant_replay_story_status: implemented
|
|
- latest_decision_assistant_note_template_status: implemented
|
|
- latest_decision_assistant_digest_group_status: implemented
|
|
- latest_decision_assistant_replay_broad_baseline_status: implemented
|
|
- latest_decision_assistant_announcement_status: implemented
|
|
- latest_decision_assistant_note_shortcut_status: implemented
|
|
- latest_decision_assistant_history_filter_status: implemented
|
|
- latest_decision_assistant_template_recommendation_status: implemented
|
|
- latest_decision_assistant_digest_recommendation_status: implemented
|
|
- latest_decision_assistant_replay_percentile_status: implemented
|
|
- latest_decision_assistant_scan_action_status: implemented
|
|
- latest_decision_assistant_digest_group_nav_status: implemented
|
|
- latest_decision_assistant_template_action_status: implemented
|
|
- latest_decision_assistant_replay_composite_rank_status: implemented
|
|
- latest_decision_assistant_section_nav_status: implemented
|
|
- latest_decision_assistant_history_persistence_status: implemented
|
|
- latest_decision_assistant_replay_composite_status: implemented
|
|
- latest_decision_assistant_scan_hierarchy_status: implemented
|
|
- latest_decision_assistant_digest_focus_status: implemented
|
|
- latest_decision_assistant_template_loop_status: implemented
|
|
- latest_decision_assistant_replay_risk_status: implemented
|
|
- latest_decision_assistant_scan_transition_status: implemented
|
|
- latest_decision_assistant_digest_staleness_status: implemented
|
|
- latest_decision_assistant_template_reuse_status: implemented
|
|
- latest_decision_assistant_replay_peer_status: implemented
|
|
- latest_decision_assistant_scan_completion_status: implemented
|
|
- latest_decision_assistant_digest_refresh_status: implemented
|
|
- latest_decision_assistant_template_reuse_metrics_status: implemented
|
|
- latest_decision_assistant_replay_family_status: implemented
|
|
- latest_decision_assistant_scan_handoff_status: implemented
|
|
- latest_decision_assistant_digest_refresh_evidence_status: implemented
|
|
- latest_decision_assistant_template_outcome_status: implemented
|
|
- latest_decision_assistant_replay_family_trend_status: implemented
|
|
- latest_decision_assistant_handoff_aging_status: implemented
|
|
- latest_decision_assistant_digest_refresh_proof_status: implemented
|
|
- latest_decision_assistant_template_feedback_loop_status: implemented
|
|
- latest_decision_assistant_replay_family_drift_status: implemented
|
|
- latest_decision_assistant_handoff_cleanup_status: implemented
|
|
- latest_decision_assistant_digest_confirmation_trail_status: implemented
|
|
- latest_decision_assistant_template_feedback_tuning_status: implemented
|
|
- latest_decision_assistant_replay_family_watchlist_status: implemented
|
|
- latest_decision_assistant_handoff_grouping_status: implemented
|
|
- latest_decision_assistant_digest_proof_escalation_status: implemented
|
|
- latest_decision_assistant_template_guardrail_status: implemented
|
|
- latest_decision_assistant_replay_promotion_status: implemented
|
|
- latest_decision_assistant_handoff_lifecycle_status: implemented
|
|
- latest_decision_assistant_digest_followup_status: implemented
|
|
- latest_decision_assistant_template_guardrail_resolution_status: implemented
|
|
- latest_decision_assistant_replay_promotion_queue_status: implemented
|
|
- latest_decision_assistant_handoff_resume_persistence_status: implemented
|
|
- latest_decision_assistant_digest_resolution_history_status: implemented
|
|
- latest_decision_assistant_template_recovery_status: implemented
|
|
- latest_decision_assistant_replay_review_lane_status: implemented
|
|
- latest_decision_assistant_handoff_resume_history_status: implemented
|
|
- latest_decision_assistant_digest_proof_sla_status: implemented
|
|
- latest_decision_assistant_template_recovery_recommendation_status: implemented
|
|
- latest_decision_assistant_replay_backlog_status: implemented
|
|
- latest_decision_assistant_handoff_backlog_status: implemented
|
|
- latest_decision_assistant_digest_backlog_status: implemented
|
|
- latest_decision_assistant_template_audit_lane_status: implemented
|
|
- latest_decision_assistant_replay_evidence_backlog_status: implemented
|
|
- latest_decision_assistant_handoff_execution_status: implemented
|
|
- latest_decision_assistant_digest_debt_trend_status: implemented
|
|
- latest_decision_assistant_template_shortcut_telemetry_status: implemented
|
|
- latest_decision_assistant_replay_evidence_aging_status: implemented
|
|
- latest_decision_assistant_external_calendar_status: implemented
|
|
- latest_decision_assistant_workflow_rhythm_status: implemented
|
|
- latest_decision_assistant_workflow_session_status: implemented
|
|
- latest_decision_assistant_learning_attribution_status: implemented
|
|
- latest_decision_assistant_digest_high_value_status: implemented
|
|
- latest_decision_assistant_chart_source_status: implemented_optional_reference_internal_primary
|
|
- latest_decision_assistant_chart_reference_status: implemented
|
|
- latest_decision_assistant_continuous_workspace_status: implemented
|
|
- latest_decision_assistant_workspace_evidence_status: implemented
|
|
- latest_decision_assistant_weekly_trend_status: implemented
|
|
- latest_decision_assistant_digest_review_back_status: implemented
|
|
- latest_decision_assistant_workspace_refinement_status: implemented
|
|
- latest_decision_assistant_digest_browser_status: implemented
|
|
- latest_decision_assistant_digest_preference_status: implemented
|
|
- latest_decision_assistant_workflow_queue_status: implemented
|
|
- latest_decision_assistant_workspace_loop_status: implemented
|
|
- latest_decision_assistant_learning_focus_status: implemented
|
|
- latest_decision_assistant_learning_loop_status: implemented
|
|
- latest_decision_assistant_workflow_artifact_status: implemented
|
|
- latest_decision_assistant_digest_action_status: implemented
|
|
- latest_decision_assistant_learning_matrix_status: implemented
|
|
- latest_decision_assistant_workspace_handoff_status: implemented
|
|
- latest_decision_assistant_watchlist_focus_status: implemented
|
|
- latest_decision_assistant_review_action_status: implemented
|
|
- latest_decision_assistant_review_handoff_status: implemented
|
|
- latest_decision_assistant_digest_persistence_status: implemented
|
|
- latest_decision_assistant_digest_archive_status: implemented
|
|
- latest_decision_assistant_workflow_persistence_status: implemented
|
|
- latest_decision_assistant_workflow_archive_status: implemented
|
|
- latest_decision_assistant_focus_workspace_status: implemented
|
|
- latest_decision_assistant_exchange_hardening_status: implemented
|
|
- latest_decision_assistant_external_chart_adapter_status: implemented_remote_field_smoke_passed
|
|
- latest_decision_assistant_broker_transport_status: implemented
|
|
- latest_decision_assistant_archive_productization_status: implemented
|
|
- latest_decision_assistant_focus_persistence_status: implemented
|
|
- latest_decision_assistant_profile_management_status: implemented
|
|
- latest_decision_assistant_workbench_status: visible_local_smoke
|
|
- latest_remote_decision_assistant_deploy_status: deployed_current_head
|
|
- latest_remote_decision_assistant_smoke_status: passed
|
|
- latest_remote_decision_assistant_review_packet_status: item4_full_closure_passed
|
|
- latest_p7_selector_choice: continue_periodic_analysis_decision_monitoring_with_maturity_rollup
|
|
- latest_p14_slice: webhook_transport_retry
|
|
- latest_p15_pxx_tasklist_status: ready
|
|
- latest_p15_pxx_tasklist_path: docs/AI_ICT_鑷姩鍖栨墽琛屽眰_P15-PXX闂幆浠诲姟娓呭崟_v1.md
|
|
- latest_p15_slice: alert_noise_policy_matrix
|
|
- latest_alert_noise_policy_status: implemented
|
|
- latest_alert_noise_policy_route_status: visible_existing_quality_summary
|
|
- latest_alert_noise_policy_runtime_status: visible
|
|
- latest_p16_slice: browser_screenshot_capture_adapter
|
|
- latest_visual_browser_capture_status: implemented
|
|
- latest_visual_browser_capture_smoke_status: captured
|
|
- latest_visual_capture_script_noop_status: ignored_watch_run_missing
|
|
- latest_p17_slice: visual_trigger_roi_router
|
|
- latest_visual_trigger_policy_status: implemented
|
|
- latest_visual_trigger_policy_smoke_status: idle_no_pending_watch_runs
|
|
- latest_visual_trigger_runtime_status: visible
|
|
- latest_visual_trigger_quality_summary_status: visible
|
|
- latest_p18_slice: visual_evidence_media_dispatch
|
|
- latest_visual_media_evidence_status: implemented
|
|
- latest_visual_media_evidence_dispatch_status: visible
|
|
- latest_visual_media_evidence_smoke_status: no_pending_alerts_safe_noop
|
|
- latest_p19_slice: multi_channel_alert_routing
|
|
- latest_channel_router_status: implemented
|
|
- latest_channel_health_status: visible
|
|
- latest_disabled_adapter_status: visible_credential_missing
|
|
- latest_channel_routing_smoke_status: no_pending_alerts_safe_noop
|
|
- latest_p20_slice: operator_digest_review_queue
|
|
- latest_operator_digest_status: implemented
|
|
- latest_operator_digest_route_status: ok
|
|
- latest_operator_digest_workbench_status: visible
|
|
- latest_operator_digest_smoke_status: safe_noop_or_completed
|
|
- latest_p21_slice: runtime_incident_journal
|
|
- latest_runtime_incident_journal_status: implemented
|
|
- latest_runtime_incident_journal_route_status: ok
|
|
- latest_runtime_incident_journal_workbench_status: visible
|
|
- latest_runtime_incident_journal_smoke_status: idle_persisted
|
|
- latest_p22_slice: maintenance_retention_rollup
|
|
- latest_maintenance_summary_status: implemented
|
|
- latest_maintenance_summary_route_status: ok
|
|
- latest_maintenance_summary_workbench_status: visible
|
|
- latest_maintenance_summary_smoke_status: warning_feedback_sample_health
|
|
- latest_p23_slice: end_to_end_unattended_harness
|
|
- latest_unattended_harness_status: implemented
|
|
- latest_unattended_harness_route_status: ok
|
|
- latest_unattended_harness_smoke_status: passed_9_checks
|
|
- latest_p24_slice: remote_smoke_ops_closure
|
|
- latest_remote_deploy_status: deployed_current_head
|
|
- latest_remote_ops_smoke_status: passed
|
|
- latest_remote_ops_smoke_base_url: http://192.168.3.90:8000
|
|
- latest_pxx_slice: automation_execution_closure_gate
|
|
- latest_pxx_closure_gate_status: passed
|
|
- latest_pxx_new_phase_policy: require_explicit_user_product_decision
|
|
- next_execution_layer_phase: Long-running Analysis Decision Monitor With Ops Rollup
|
|
- latest_visual_review_script_status: idle
|
|
- latest_runtime_visual_watch_task_status: ok
|
|
- latest_visual_capture_cleanup_task_status: ok
|
|
- latest_runtime_watchdog_task_status: implemented
|
|
- latest_runtime_visual_watch_state: idle
|
|
- latest_visual_snapshot_capture_status: implemented
|
|
- latest_visual_reviews_panel_status: visible
|
|
- latest_visual_feedback_status: implemented
|
|
- latest_visual_alert_evidence_dispatch_status: implemented_existing_channels
|
|
- latest_alert_quality_summary_status: implemented
|
|
- latest_review_packet_alert_quality_status: visible
|
|
- latest_alert_quality_route_status: ok
|
|
- latest_visual_capture_cleanup_status: implemented
|
|
- latest_visual_capture_cleanup_route_status: ok
|
|
- latest_runtime_watchdog_status: implemented
|
|
- latest_runtime_watchdog_route_status: ok
|
|
- latest_alert_silent_window_status: implemented
|
|
- latest_alert_silent_window_route_status: ok
|
|
- latest_alert_retry_recovery_status: implemented
|
|
- latest_alert_transport_retry_status: implemented
|
|
- latest_runtime_blockers: none
|
|
- guards_unchanged: execution_allowed, real_live_ready, risk_governor, trust_bucket, operator_confirmation_protocol
|
|
|
|
## Completed In This Run
|
|
|
|
- Added handoff cleanup execution log / grouped resume handoff summary fields (`cleanup_execution_log`, `grouped_resume_handoff_summary`, and `next_cleanup_execution_prompt`) plus cockpit visibility.
|
|
- Added digest freshness-debt trend / SLA recovery recommendation fields (`freshness_debt_trend`, `freshness_debt_trend_counts`, `sla_recovery_recommendations`, and `next_sla_recovery_prompt`) plus cockpit visibility.
|
|
- Added template audit-lane recommendation / shortcut outcome telemetry fields (`audit_lane_recommendation`, `shortcut_outcome_telemetry`, `template_audit_lane_recommendations`, and `shortcut_outcome_status_counts`) plus cockpit visibility.
|
|
- Added setup-family promotion evidence aging / backlog comparison fields (`promotion_evidence_aging_status`, `promotion_evidence_aging_queue`, `promotion_backlog_comparison_status`, and `promotion_backlog_comparison_summary`) plus cockpit visibility.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `node --check src/web/app.js`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), and `scripts/run_script_static_checks.py`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed cleanup execution, freshness-debt trend, shortcut telemetry, and promotion evidence aging fields.
|
|
- Added external read-only macro/news calendar and event-window summary fields (`macro_news_calendar`, `event_window_summary`, `high_volatility_window`, `low_liquidity_window`, and `exchange_anomaly_window`) plus cockpit visibility.
|
|
- Added pre-market / intraday / post-trade workflow rhythm checklist fields (`workflow_rhythm_summary`, `rhythm_checklist`, `rhythm_status`, and `next_rhythm_action`) plus cockpit visibility.
|
|
- Added replay learning attribution fields (`failure_reason_attribution`, `missed_opportunity_attribution`, `setup_session_market_state_stats`, and `weekly_trend_summary`) plus cockpit visibility.
|
|
- Added personalized digest high-value filtering fields (`importance_score`, `importance_template`, `high_value_reminders`, `important_change_filter`, and `importance_templates`) plus cockpit visibility.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `node --check src/web/app.js`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), and `scripts/run_script_static_checks.py`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed macro/news calendar, workflow rhythm, learning attribution, and high-value digest fields.
|
|
- Added external chart read-only source inventory / stale-source evidence fields (`chart_readonly_sources`, `chart_stale_source_evidence`, and `chart_context_prompt`) plus cockpit visibility.
|
|
- Added continuous workspace rail fields (`continuous_workspace_rail` and `continuous_workspace_status`) linking Watchlist, Evidence, Notes, Digest, and Replay.
|
|
- Added weekly trend breakdown fields (`weekly_trend_breakdown`) and digest history review-back actions (`digest_review_back_actions`, `next_digest_review_back_action`) plus cockpit visibility.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `node --check src/web/app.js`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), and `scripts/run_script_static_checks.py`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed chart inventory, continuous workspace rail, weekly trend breakdown, and digest review-back fields.
|
|
- Added handoff cleanup-action readiness / resume backlog grouping fields (`cleanup_action_readiness`, `cleanup_action_ready_count`, `resume_backlog_group`, `resume_backlog_groups`, and `next_cleanup_action_prompt`) plus cockpit visibility.
|
|
- Added digest proof-SLA backlog routing / freshness-debt summary fields (`proof_sla_backlog_route`, `proof_sla_backlog_priority`, `freshness_debt_score`, `proof_sla_backlog_queue`, and `freshness_debt_summary`) plus cockpit visibility.
|
|
- Added template recovery shortcuts / audit lane grouping fields (`recovery_action_shortcuts`, `audit_lane_group`, `audit_lane_rank`, `template_audit_lane_groups`, and `next_recovery_action_shortcut`) plus cockpit visibility.
|
|
- Added setup-family promotion evidence queue / backlog trend handoff fields (`promotion_evidence_queue`, `promotion_evidence_queue_count`, `promotion_backlog_trend_status`, and `promotion_backlog_trend_handoff`) plus cockpit visibility.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `node --check src/web/app.js`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), and `scripts/run_script_static_checks.py`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed cleanup backlog, proof debt, template audit lanes, and promotion evidence fields.
|
|
- Added handoff resume-history / stale-persistence cleanup fields (`resume_history`, `resume_history_count`, `stale_persistence_cleanup_queue`, `stale_persistence_cleanup_count`, and `next_stale_persistence_cleanup_prompt`) plus cockpit visibility.
|
|
- Added digest proof-resolution SLA / repeated-stale suppression fields (`proof_resolution_sla_status`, `proof_resolution_sla_seconds`, `proof_resolution_sla_queue`, `proof_resolution_sla_breach_count`, and `repeated_stale_proof_suppression_count`).
|
|
- Added template recovery recommendation / audit-filter fields (`preference_recovery_recommendation`, `preference_recovery_recommendations`, `guardrail_audit_filter`, `guardrail_audit_filter_counts`, and `guardrail_audit_filtered_trail`).
|
|
- Added setup-family review-lane SLA / promotion backlog fields (`review_lane_sla_seconds`, `review_lane_sla_status`, `promotion_backlog_priority`, `promotion_backlog_rank`, and `promotion_backlog_item`).
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `node --check src/web/app.js`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), and `scripts/run_script_static_checks.py`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed resume history, proof SLA, recovery audit filtering, and review-lane backlog fields.
|
|
- Added handoff resume persistence / resolved-lane fields (`resume_persistence_key`, `resume_persistence_status`, `resolved_lane_state`, `resolved_lane_prompt`, `resume_queue_persistence_status`, and `resolved_lane_state_counts`) plus cockpit visibility.
|
|
- Added digest proof follow-up resolution history / stale queue aging (`proof_follow_up_age_band`, `proof_follow_up_stale_queue`, `proof_resolution_history`, `stale_proof_follow_up_count`, and `proof_follow_up_age_counts`).
|
|
- Added template preference recovery / guardrail audit fields (`preference_recovery_status`, `preference_recovery_prompt`, `guardrail_audit_trail`, `preference_recovery_queue`, and `guardrail_audit_trail_count`).
|
|
- Added setup-family promotion decision history / review-lane aging (`promotion_decision_history`, `promotion_decision_history_count`, `review_lane_age_status`, `review_lane_age_score`, and `review_lane_aging_hint`).
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `node --check src/web/app.js`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), and `scripts/run_script_static_checks.py`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed resume persistence, proof resolution history, template recovery/audit, and review-lane aging fields.
|
|
- Added handoff lifecycle / operator resume queue fields (`lifecycle_state`, `resume_queue_rank`, `resume_action_label`, `handoff_lifecycle_summary`, `operator_resume_queue`, and `next_resume_*`) plus cockpit resume visibility.
|
|
- Added digest proof follow-up queue and resolved-state fields (`proof_follow_up_state`, `proof_follow_up_action_label`, `proof_resolved_state`, `proof_follow_up_queue`, `resolved_proof_count`, and `proof_resolution_state_counts`).
|
|
- Added template guardrail resolution / preferred-template decay fields (`guardrail_resolution_status`, `guardrail_resolution_prompt`, `preferred_template_decay`, `guardrail_resolution_queue`, and `preferred_template_decay_status`).
|
|
- Added setup-family promotion queue / demotion history fields (`promotion_queue_status`, `promotion_queue_rank`, `promotion_next_action`, `promotion_queue_item`, `demotion_history`, and `demotion_history_count`).
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), `scripts/run_script_static_checks.py`, and `node --check src/web/app.js`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed handoff lifecycle/resume queue, proof follow-up queue, guardrail resolution/decay, setup-family promotion queue/demotion history, and matching `/static/app.js` UI strings.
|
|
- Added handoff lane grouping / overdue cleanup visibility (`handoff_lane_groups`, `overdue_cleanup_count`, `next_cleanup_*`, per-marker `lane_group`, `overdue_cleanup_candidate`, and `cleanup_priority`) plus matching cockpit summaries.
|
|
- Added digest proof-aging trend and stale-proof escalation fields (`proof_age_trend`, `proof_escalation_level`, `proof_escalation_prompt`, `proof_aging_trend_counts`, and `stale_proof_escalation_count`).
|
|
- Added template feedback trend history and negative-feedback guardrails (`feedback_trend_history`, `negative_feedback_guardrail`, `negative_feedback_guardrail_count`, and guardrail template IDs) with cockpit visibility.
|
|
- Added setup-family watchlist prioritization / promotion-readiness hints (`watchlist_priority_score`, `promotion_ready`, `promotion_readiness_hint`, and `promotion_blockers`) on replay family trend deltas.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), `scripts/run_script_static_checks.py`, and `node --check src/web/app.js`.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed handoff grouping, proof aging/escalation, template guardrails, setup-family promotion readiness, and matching `/static/app.js` UI strings.
|
|
- Added handoff lane cleanup/snooze metadata (`cleanup_candidate_count`, `handoff_cleanup_recommendation`, per-marker `snooze_seconds`, and `snooze_options`) plus workbench snooze/clear-snooze controls for persisted handoff markers.
|
|
- Added digest refresh proof history trails (`refresh_confirmation_trail`, `refresh_confirmation_trail_count`, `latest_confirmation_trail_item`) so each recall group carries an auditable freshness confirmation path.
|
|
- Added template feedback aggregation and recommendation tuning fields (`template_feedback_aggregation`, `feedback_tuned_template_id`, `recommendation_tuning_status`) plus workbench tuned-template actions.
|
|
- Added setup-family drift watchlist/sample-threshold fields (`watchlist_status`, `watchlist_priority`, `sample_threshold`, `sample_gap`, `drift_watchlist_items`) on replay family trend deltas.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), `scripts/run_script_static_checks.py`, `node --check src/web/app.js`, and a local field smoke for H13/F14/G13/D15 fields.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed handoff cleanup/snooze, digest confirmation trails, template feedback tuning, setup-family drift watchlist, and matching `/static/app.js` UI strings.
|
|
- Added persisted handoff aging/stale policy fields (`handoff_stale_after_seconds`, `handoff_stale_warning`, `default_stale_after_seconds`) plus workbench saved-handoff age/status/warning display.
|
|
- Added digest refresh confirmation and freshness-proof fields (`refresh_confirmation_status`, `freshness_proof_status`, proof counts, and confirmation prompts) so recall groups show whether their evidence is current enough to reuse.
|
|
- Added review-template feedback capture loops with per-template feedback actions and `feedback_loop_summary`; workbench buttons now save useful/actionable/misleading feedback notes through the existing operator-note route.
|
|
- Added setup-family drift alerts and focus recommendations (`drift_alert`, `drift_severity`, `focus_recommendation`, `focus_reasons`) on replay family trend deltas.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, full `unittest discover -s tests/unit` (713 tests), `scripts/run_script_static_checks.py`, `node --check src/web/app.js`, and a local field smoke for the new H12/F13/G12/D14 fields.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed handoff aging, digest refresh proof, template feedback loops, setup-family drift, and matching `/static/app.js` UI strings.
|
|
- Added scan handoff markers on assistant scan cards plus a top-level `scan_handoff_summary`; the workbench can persist and reopen a saved handoff marker in local storage.
|
|
- Added digest refresh evidence anchors (`refresh_evidence_anchor`, `refresh_evidence_path`, `refresh_evidence_anchor_count`) so stale-to-fresh prompts point back to the source surface they should recheck.
|
|
- Added template outcome/usefulness scoring (`template_outcomes`, `recommended_outcome_status`, `recommended_usefulness_score`, `template_outcome_summary`) so saved templates can distinguish useful signals from unscored reuse.
|
|
- Added setup-family trend deltas (`setup_family_trend_delta`) so family replay comparison shows framework/avg-R/risk deltas against adjacent peers or the available baseline.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, `scripts/run_script_static_checks.py`, `node --check src/web/app.js`, and a local `review-packet` smoke for the new H11/F12/G11/D13 fields.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed scan handoff, digest refresh evidence anchors, template outcome summary, setup-family trend deltas, and matching `/static/app.js` UI strings.
|
|
- Added guided scan completion state metadata (`completion_state`, `completion_hint`, `is_next_scan_step`) plus a top-level `scan_completion_summary` so the operator can see which cockpit scan item should be handled next.
|
|
- Added stale-to-fresh digest refresh prompts (`refresh_needed`, `refresh_prompt`, `refresh_action_label`, `refresh_needed_count`) so aged recall groups clearly ask for refresh before being reused as live context.
|
|
- Added saved-template reuse metrics (`template_reuse_metrics`, per-template `reuse_count` / `last_used_ts` / `reuse_status`) so review templates show whether the recommended template has already been used in recent notes.
|
|
- Added setup-family peer replay baselines (`setup_family`, `setup_family_peer_sessions`, `setup_family_peer_summary`, `setup_family_focus`) so replay comparison can talk about the setup family, not only the current session ladder.
|
|
- Passed focused validation: `unittest tests.unit.test_operator_workspace_service`, `unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server`, `scripts/run_script_static_checks.py`, `node --check src/web/app.js`, and a local `review-packet` smoke for the new H10/F11/G10/D12 fields.
|
|
- Deployed the current working tree to `http://192.168.3.90:8000`; deploy smoke passed 11 endpoints, `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed `scan_completion_summary`, digest refresh prompts, template reuse metrics, setup-family baseline fields, and matching `/static/app.js` UI strings.
|
|
- Added scan-to-action `transition_hint` fields so scan cards tell the operator what the next click/action is for.
|
|
- Added digest recall aging metadata (`age_seconds`, `age_band`, `stale`, `staleness_hint`) plus fresh/stale group counts on the digest summary.
|
|
- Added review-template carry-over and reuse metadata (`carry_over_context`, `reuse_hint`, `recommended_reuse_hint`) so repeated note loops preserve context.
|
|
- Added peer replay baseline visibility with `peer_sessions` and `peer_summary`, plus market-session fallback for setup replay when the decision packet has no session code.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local `review-packet` smoke confirming transition hints, digest staleness, template reuse hints, and peer baseline fields.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes transition hints, digest staleness hints, template reuse hints, and peer replay baseline fields; remote `app.js` includes the matching UI.
|
|
- Added clearer `scan_summary_cards` hierarchy with rank, context, emphasis, and direct action labels so the top rail reads more like an operator scan order instead of five flat cards.
|
|
- Added richer `digest_history_groups` focus metadata (`headline`, `latest_title`, `recommended`, `action_label`) and wired the workbench to filter/review groups with clearer recall intent.
|
|
- Added context-aware review templates by introducing `next_review` and `queue_follow_up` note templates plus recommended-template reasoning/priority metadata.
|
|
- Extended broader replay baselines with `risk_rank`, `risk_percentile`, `risk_band`, `top_safe_sessions`, and `replay_verdict`.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local `review-packet` smoke confirming `recommended_reason`, digest group headlines, scan action labels, and replay verdict fields.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `recommended_reason`, digest group headlines/action labels, scan hierarchy metadata, and replay verdict/risk fields; remote `app.js` / `styles.css` include the matching UI updates.
|
|
- Added `note_templates` to review entrypoints so the assistant can prefill operator notes with top setup, blocker, and focus-mode templates.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `note_templates`.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `note_templates`, and remote app includes the prefill note helper and template actions.
|
|
- Added recommended-template guidance and digest-history group filtering ergonomics to the assistant workspace.
|
|
- Added replay percentile visibility so the assistant can show `framework_percentile` and `avg_r_percentile` alongside broader baseline ranks.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `recommended_label`, `recommended_kind`, `framework_percentile`, and `avg_r_percentile`.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `recommended_label`, `recommended_kind`, `framework_percentile`, and `avg_r_percentile`, and the remote app renders the corresponding UI labels.
|
|
- Added section navigation, digest filter persistence, and composite replay percentile visibility to the assistant workspace.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local smoke confirming the updated section-nav/filter interactions.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes the template/digest/replay metadata and the remote app includes section navigation plus persisted digest filtering.
|
|
- Revalidated and remotely confirmed that the current live `Decision Assistant` now exposes recommended templates, digest group guidance, replay percentiles, and the denser grouped workspace together.
|
|
- Revalidated and remotely confirmed that the current live `Decision Assistant` now exposes grouped digest recall, broader replay baselines, OKX announcements, and quick-save note shortcuts alongside the earlier template and scan surfaces.
|
|
- Added `scan_summary_cards` so the assistant can present a compact top scan rail with top opportunity, top blocker, next review, external context, and digest summary.
|
|
- Added `history_summary` under the digest surface so the assistant can summarize recall kinds and latest timestamp, not just raw history rows.
|
|
- Extended replay comparison with `comparison_status`, `confidence_band`, `session_alignment`, and a human-readable `story`.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `scan_summary_cards`, digest history summary, and replay comparison story fields.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `scan_summary_cards`, digest history summary, and replay comparison story; remote app/css include the matching dense workspace updates.
|
|
- Added `comparative_summary` to setup/session replay statistics so the assistant can compare the current replay profile against weekly high/low session baselines.
|
|
- Tightened the `Decision Assistant` surface into denser grouped sections for repeated operator use.
|
|
- Added a concrete new read-only external source: OKX public system status, surfaced inside the assistant external context block.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `comparative_summary` and `exchange_status`.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `comparative_summary`, `digest_history_preview`, and `exchange_status`, and remote app/css include the latest dense assistant workspace updates.
|
|
- Added `assistant-section-title` grouping so the Decision Assistant renders as a denser action-oriented workspace instead of one long undifferentiated surface.
|
|
- Added setup/session `replay_statistics` inside `setup_learning_rollup`.
|
|
- Added `digest_history_preview` so recent reminders, alerts, notes, and the previous packet can be recalled from the assistant surface.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `replay_statistics` and `digest_history_preview`.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `replay_statistics` and `digest_history_preview`, and remote app/css include the assistant sectioned workspace updates.
|
|
- Added `review_entrypoints` so the assistant can expose notes / review / journal entry surfaces directly from the top-level panel.
|
|
- Added per-tier watchlist action metadata (`suggested_action`, `action_path`, `action_method`) and workbench buttons for confirm-check flows.
|
|
- Broadened `external_context_summary` with `operator_questions`, `next_confirmation_targets`, and structured `source_cards`.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `review_entrypoints`, `suggested_action`, `source_cards`, and `operator_questions`.
|
|
- Deployed current `HEAD` again to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `review_entrypoints`, watchlist action metadata, and expanded external context cards; remote static app includes the same assistant surface changes.
|
|
- Added `personalized_reminders` and `digest_surface` so the assistant can expose actionable reminder cards and a compact digest summary.
|
|
- Added `setup_learning_rollup` so the assistant can surface setup-level lessons and session learning context for the current setup type.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `personalized_reminders`, `digest_surface`, and `setup_learning_rollup`.
|
|
- Deployed current `HEAD` to `http://192.168.3.90:8000`.
|
|
- Passed remote smoke for the latest Decision Assistant fields: remote `review_packet` exposes `candidate_watchlist_tiers`, `external_context_summary`, `personalized_reminders`, `digest_surface`, and `setup_learning_rollup`, and the remote workbench root still renders `Decision Assistant`.
|
|
- Added `candidate_watchlist_tiers` and `candidate_watchlist_summary` so the assistant can group recent setups into `review_now`, `strong_watch`, `soft_watch`, and `archive_only`.
|
|
- Added `external_context_summary` so the assistant can surface news-window status, provider freshness, active macro events, external waiting items, and council watch items.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `candidate_watchlist_tiers`, `candidate_watchlist_summary`, and `external_context_summary`.
|
|
- Reconfirmed the real external blocker: remote deploy validation still requires `AI_ICT_DEPLOY_PASSWORD` or an explicit `--password`, which is absent in the current shell.
|
|
- Added `explanation_drilldown` so the assistant can expose decision logic, blockers/guards, watch signals, and launch boundaries as separate drill-down cards.
|
|
- Added structured `reason_citations` with source path / source type / severity so the assistant can show where each reason comes from.
|
|
- Added `learning_rollup` so the assistant can surface review-entry count, pending feedback, quality flags, and next review actions.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `explanation_drilldown`, `reason_citations`, and `learning_rollup`.
|
|
- Reconfirmed the real external blocker: remote deploy validation still requires `AI_ICT_DEPLOY_PASSWORD` or an explicit `--password`, which is absent in the current shell.
|
|
- Added `workflow_digest` so the Decision Assistant now exposes pre-market / intraday / post-trade workflow cards.
|
|
- Refined top opportunity ranking and structured `no_trade_reason_items` so the assistant can prioritize actionable setups over broad session wrappers and explain blocker severity.
|
|
- Added `decision_timeline` so the assistant can show current packet, previous packet, latest alert, latest note, and latest execution time anchors when available.
|
|
- Passed focused validation again: `unittest`, `node --check src/web/app.js`, and local HTTP smoke confirming `workflow_digest`, `top_opportunities`, `no_trade_reason_items`, and `decision_timeline`.
|
|
- Confirmed the first real external blocker for this loop: remote deploy validation requires `AI_ICT_DEPLOY_PASSWORD` or an explicit `--password`, which is absent in the current shell.
|
|
- Verified `GSTACK_OK` and reread the current Decision Assistant anchors.
|
|
- Started `Decision Assistant Phase A Cockpit` under explicit user direction while preserving the closed PXX execution-layer state.
|
|
- Added `DecisionAssistantSummaryService` and exposed `decision_assistant_summary` from `review_packet`.
|
|
- Added a unified `Decision Assistant` workbench panel that surfaces focus mode, headline, market/risk posture, priority items, and next actions.
|
|
- Added `changed_since_last` delta summary against the latest stored decision packet so the assistant can explain what materially changed.
|
|
- Added a structured `evidence_chain` so the assistant summary exposes the key decision gate, launch mode, session context, operator queue, and weekly review evidence blocks.
|
|
- Passed focused validation: `unittest` for operator/api/static surfaces, `node --check src/web/app.js`, and local HTTP smoke confirming the new panel text and summary payload.
|
|
- Verified `GSTACK_OK`.
|
|
- Promoted the visual-watch prewire into a P8 review loop slice.
|
|
- Added `VisualReviewService` to review reserved watch runs, create optional snapshot records, create visual reviews, and mark watch runs reviewed.
|
|
- Added `scripts/run_visual_review.py` for manual or automation-driven review processing.
|
|
- Added `VisualSnapshotCaptureService` and `scripts/run_visual_snapshot_capture.py` for advisory review-packet snapshot capture.
|
|
- Added API helpers and routes for `POST /trading/visual-watch/review` and `POST /trading/visual-watch/review-pending`.
|
|
- Added a read-only workbench panel for recent visual reviews.
|
|
- Added a runtime `visual_watch` task that processes pending visual-watch reviews without changing trading gates.
|
|
- Added `alert_feedback` persistence and feedback service support for alert and visual-review labels.
|
|
- Added visual-review feedback API routes and workbench actions for useful / misleading / actionable labels.
|
|
- Extended alert dispatch messages and delivery payloads with the latest visual evidence for the decision packet.
|
|
- Added `AlertQualitySummaryService` to aggregate recent alert deliveries, alert feedback, visual feedback, and visual-review states.
|
|
- Added `GET /trading/alerts/quality-summary` and attached the same summary to `review_packet.alert_quality_summary`.
|
|
- Added a dashboard `Alert Quality` panel with delivery success, alert usefulness, visual helpfulness, flags, and operator summary.
|
|
- Applied local migrations through `042_create_alert_feedback.sql` so P9 can be exercised on the current database.
|
|
- Added `VisualCaptureRetentionService` to remove stale `.claude/visual_watch/captures` HTML/JSON artifacts by retention window.
|
|
- Added `scripts/run_visual_capture_cleanup.py` and `POST /trading/visual-watch/cleanup-captures`.
|
|
- Added runtime task `visual_capture_cleanup` and a workbench `Cleanup Old Captures` button in the Visual Reviews panel.
|
|
- Added `RuntimeTaskWatchdogService` to detect runtime tasks that are overdue or running too long.
|
|
- Added `scripts/run_runtime_task_watchdog.py` and `GET /trading/runtime-watchdog`.
|
|
- Extended `runtime_status` and the runtime workbench panel with `runtime_watchdog`, stalled task names, and per-task stall details.
|
|
- Added `AlertSilentWindowService` for configurable quiet-hour suppression of outbound non-workbench alerts.
|
|
- Added `scripts/run_alert_silent_window_status.py` and `GET /trading/alerts/silent-window-status`.
|
|
- Extended alert dispatch, alert quality summary, runtime `alert_dispatch` task details, and the `Alert Quality` panel with silent-window visibility and suppression counts.
|
|
- Added failed-alert retry recovery to `AlertDispatcherService` with bounded retry attempts and retry backoff.
|
|
- Added retry observability in dispatcher payloads, delivery summary fields, runtime `alert_dispatch` details, and `Alert Quality` delivery cards.
|
|
- Added bounded webhook transport retry inside `AlertDispatcherService._send` so transient outbound failures can be retried before the alert is marked failed.
|
|
- Added transport-retry observability in dispatcher payloads, delivery summary fields, and runtime `alert_dispatch` details.
|
|
- Added focused unit tests for the service, script, API routing, and runtime task.
|
|
- Added `docs/AI_ICT_鑷姩鍖栨墽琛屽眰_P15-PXX闂幆浠诲姟娓呭崟_v1.md` to define a finite continuation queue from P15 through PXX.
|
|
- Updated the state anchors so future continuation starts at P15 instead of inventing new unbounded phases.
|
|
- Added alert noise policy matrix settings for external minimum severity, workbench-only alert types, suppressed duty modes, and suppressed operator modes.
|
|
- Extended `DeliveryPolicyService` with `evaluate_alert_delivery_policy()` so alert status, silent window, alert type, severity, channel, duty mode, operator mode, and cooldown return a structured policy decision.
|
|
- Extended `AlertDispatcherService` to persist `delivery_policy` metadata and expose `policy_external_allowed`, `workbench_only`, and `suppressed_noise_policy` counters.
|
|
- Extended `AlertQualitySummaryService`, runtime `alert_dispatch` task details, `run_alert_dispatcher.py`, and the workbench `Alert Quality` panel with noise-policy visibility.
|
|
- Added focused unit tests for policy matrix, dispatcher suppression, summary rollup, runtime details, and docs inventory alignment.
|
|
- Added browser-backed screenshot capture support to `VisualSnapshotCaptureService` using local Edge/Chrome headless when available.
|
|
- Extended visual capture payloads with `html_path`, `screenshot_path`, `metadata_path`, `capture_url`, `browser_capture_status`, and structured `browser_capture` details.
|
|
- Extended `scripts/run_visual_snapshot_capture.py`, `POST /trading/visual-watch/capture`, and the workbench Visual Reviews panel with browser capture visibility.
|
|
- Verified a real local browser screenshot smoke produced a PNG from a generated review-packet HTML artifact.
|
|
- Added structured `evaluate_visual_trigger_policy()` for visual trigger/skip routing with auditable reason codes.
|
|
- Wired decision alert payloads and reserved visual watch requests with `visual_trigger_policy`, `visual_trigger_skip_reason`, and `visual_trigger_roi`.
|
|
- Extended runtime `decision_packet` and `visual_watch` task details with visual trigger policy statuses, skip reasons, trigger type counts, and review state counts.
|
|
- Extended visual review payloads, alert quality summary, `scripts/run_visual_review.py`, and the workbench panels with trigger type and ROI visibility.
|
|
- Added `build_visual_media_evidence()` and `summarize_visual_media_evidence()` so visual reviews produce a stable media evidence block.
|
|
- Extended alert dispatcher delivery payloads, dispatcher results, alert messages, alert quality summary, runtime `alert_dispatch` details, and `run_alert_dispatcher.py` with media evidence status.
|
|
- Extended visual review API enrichment and workbench Visual Reviews with media evidence status and primary media path.
|
|
- Added structured channel route/capability helpers with workbench, webhook, WeCom, and email channel descriptions.
|
|
- Added channel health summary and disabled adapter metadata for WeCom/Email credential-missing states.
|
|
- Extended alert dispatcher payloads/results, delivery summary, runtime `alert_dispatch` details, dispatcher script output, and workbench delivery cards with per-channel observability.
|
|
- Added `OperatorDigestService` to aggregate recent alerts, deliveries, visual reviews, quality flags, and missing feedback into an operator review queue.
|
|
- Added `scripts/run_operator_digest.py` and `GET /trading/alerts/operator-digest`.
|
|
- Extended the workbench `Alert Quality` panel with operator digest status, review queue counts, and top review item types.
|
|
- Added `runtime_incidents` persistence with upsert aggregation by incident key.
|
|
- Added `RuntimeIncidentJournalService`, `scripts/run_runtime_incident_journal.py`, and `GET /trading/runtime-incidents`.
|
|
- Extended `runtime_status`, `run_trading_runtime.py`, and the workbench runtime panel with incident summary, severity/source counts, and recommended actions.
|
|
- Added `MaintenanceSummaryService` for read-only storage/delivery/feedback/runtime maintenance rollups.
|
|
- Added `scripts/run_maintenance_summary.py` and `GET /trading/maintenance-summary`.
|
|
- Extended the workbench runtime panel with maintenance status, blockers/warnings, actions, and P23 assertion visibility.
|
|
- Added `UnattendedHarnessService`, `scripts/run_unattended_harness.py`, and `GET /trading/unattended-harness`.
|
|
- The harness validates policy suppression, dispatch retry contract, runtime watchdog, visual capture fallback, alert quality feedback rollup, visual media/channel rollup, operator digest, maintenance summary, and runtime environment blockers without using external channels or real trades.
|
|
- Added `scripts/run_remote_ops_smoke.py` for P24 remote API validation.
|
|
- Extended password deploy smoke coverage to include alert quality, operator digest, runtime incidents, maintenance summary, and the P23 harness.
|
|
- Deployed current `HEAD` to `http://192.168.3.90:8000` and confirmed P24 remote ops smoke passed without warnings or blockers.
|
|
- Added `scripts/run_automation_execution_closure_gate.py` for the PXX finite-scope closure check.
|
|
- Marked P15-P24 and PXX closed in the state anchors and froze automatic P25/P26 phase creation.
|
|
|
|
## Current Working State
|
|
|
|
- Decision Assistant Phase H/F/D/G/E Dense Recall + Templates + Announcements is active as the current product-development line on top of the frozen execution-layer baseline.
|
|
- The new assistant summary is implemented in `review_packet`: it synthesizes a single headline, focus mode, market posture, risk posture, no-trade reasons, priority items, next actions, and evidence summary.
|
|
- The assistant summary now reports `changed_since_last` by diffing the current packet against the latest stored decision packet payload.
|
|
- The assistant summary now also reports a structured `evidence_chain` so the top-level panel can show why the current stance exists without opening multiple secondary panels.
|
|
- The assistant summary now also reports `workflow_digest`, `top_opportunities`, structured `no_trade_reason_items`, and `decision_timeline`.
|
|
- The assistant summary now also reports `explanation_drilldown`, `reason_citations`, and `learning_rollup` so explainability and review-loop state are visible from the top-level panel.
|
|
- The assistant summary now also reports `candidate_watchlist_tiers` / `candidate_watchlist_summary` and `external_context_summary`, so setup tiers and read-only macro/news context are visible from the same top-level surface.
|
|
- The assistant summary now also reports `personalized_reminders`, `digest_surface`, and `setup_learning_rollup`, so reminder prioritization and setup-level learning are visible from the same top-level panel.
|
|
- The assistant summary now also reports `review_entrypoints`, per-tier watchlist action metadata, `operator_questions`, `next_confirmation_targets`, and structured external `source_cards`.
|
|
- The assistant summary now also reports setup/session `replay_statistics`, replay `comparative_summary`, `digest_history_preview`, and OKX public `exchange_status`.
|
|
- The assistant summary now also reports `scan_summary_cards`, digest `history_summary`, replay comparison `story`, `digest_history_groups`, broader replay baseline summaries, `note_templates`, OKX announcements, plus recommended template and replay percentile guidance.
|
|
- The workbench top section now includes a dedicated `Decision Assistant` panel with denser grouped sections plus note-template prefill, quick-save actions, digest-history group filtering, and replay percentile visibility, and both local and remote smoke confirmed the rendered surface plus `review_packet.decision_assistant_summary` with the latest scan/digest/replay/template/announcement fields.
|
|
- P7 is closed and remains a monitor-maturity routing layer, not a Research Council expansion.
|
|
- P8 review/capture/feedback surfaces remain implemented and unchanged in their execution guards.
|
|
- P9 quality rollup remains implemented and visible in both the dashboard and review packet.
|
|
- P10 retention cleanup remains implemented and visible in runtime plus workbench flows.
|
|
- P11 runtime watchdog remains implemented and visible in runtime status, API, script, and workbench flows.
|
|
- P12 silent-window noise control remains implemented and visible in dispatcher, summary, runtime, and workbench flows.
|
|
- P13 retry recovery remains implemented: failed alerts can be re-scanned, deferred during backoff, and stopped after bounded retry exhaustion.
|
|
- P14 transport retry is implemented: single webhook send attempts can now be retried in-process before the alert falls back to failed delivery state.
|
|
- P14 transport visibility is implemented: dispatcher results expose `transport_attempt_count`, delivery summary exposes `transport_retried_delivery_count` / `transport_retry_failed_count`, and runtime `alert_dispatch` details expose transport retry counters.
|
|
- P15-PXX is now a finite known-scope queue: P15 noise policy matrix, P16 browser screenshot capture adapter, P17 visual trigger ROI router, P18 visual evidence media dispatch, P19 multi-channel routing, P20 operator digest/review queue, P21 runtime incident journal, P22 maintenance rollup, P23 unattended harness, P24 remote smoke, and PXX closure gate.
|
|
- P15 noise policy matrix is implemented: external alert sends can be suppressed by severity, alert type, duty mode, operator mode, silent window, or cooldown while workbench visibility remains intact.
|
|
- P15 visibility is implemented: dispatcher payloads include `delivery_policy`, delivery summary includes noise-policy/workbench-only/external-allowed counters, runtime `alert_dispatch` details expose policy counters, and the workbench `Alert Quality` panel displays them.
|
|
- P16 browser screenshot capture is implemented: visual snapshot capture now writes HTML/JSON artifacts and, when browser capture is available, a PNG screenshot; when unavailable, it returns structured `browser_capture_status=unavailable` without interrupting the visual-watch flow.
|
|
- P16 workbench visibility is implemented: Visual Reviews now expose browser capture status, image path, HTML path, and artifact path.
|
|
- P17 visual trigger ROI routing is implemented: ordinary observe/monitoring states now produce `observe_monitoring_not_high_value` instead of reserving visual review, while actionable, blocked, market degraded, broker/reconciliation degraded, and council-recommended watch items produce explicit trigger types.
|
|
- P17 visibility is implemented: decision alert payloads carry `visual_trigger_policy`/`visual_trigger_roi`, runtime exposes trigger/skip counts, visual review summaries count trigger types and review results, and the workbench displays trigger counters.
|
|
- P18 visual media evidence dispatch is implemented: visual review context now becomes a stable `media_evidence` block with channel-aware `media_attached`, `media_linked`, or `media_unavailable` status.
|
|
- P18 visibility is implemented: dispatcher payloads/results, delivery summary, runtime `alert_dispatch` details, script output, visual review API, and workbench panels expose media evidence status.
|
|
- P19 multi-channel alert routing is implemented: routing now returns `channel_route`, `channel_health`, channel capability metadata, and explicit disabled-adapter states for WeCom/Email when credentials/adapters are unavailable.
|
|
- P19 visibility is implemented: dispatcher result exposes `channel_summary` / `channel_health` / `channel_disabled`, delivery summary exposes `channel_status_counts`, runtime `alert_dispatch` details expose channel health, and the workbench `Alert Quality` panel shows channel counts.
|
|
- P20 operator digest/review queue is implemented: recent high-value alerts, suppressed deliveries, failed/retry deliveries, visual mismatches, and pending feedback items are aggregated into a bounded review queue.
|
|
- P20 visibility is implemented: `scripts/run_operator_digest.py`, `/trading/alerts/operator-digest`, focused tests, and the workbench `Alert Quality` panel expose digest status, counts, warnings, and top queue items.
|
|
- P21 runtime incident journal is implemented: runtime/watchdog/blocker/noisy incident signals can be normalized into persisted incidents with severity, source, reason, subject, first/last seen timestamps, occurrence count, and recommended action.
|
|
- P21 visibility is implemented: `/trading/runtime-incidents`, `scripts/run_runtime_incident_journal.py`, `runtime_status.incident_summary`, `run_trading_runtime.py`, and the workbench runtime panel expose incident counts and recommendations.
|
|
- P22 maintenance retention rollup is implemented: visual capture retention dry-run stats, alert delivery health, feedback sample health, runtime watchdog, and incident journal health are aggregated into `checks`, `blockers`, `warnings`, `maintenance_actions`, and `p23_assertions`.
|
|
- P22 visibility is implemented: `/trading/maintenance-summary`, `scripts/run_maintenance_summary.py`, and the workbench runtime panel expose maintenance state without deleting business data.
|
|
- P23 unattended harness is implemented: a single local command/API call returns mode, passed checks, warnings, blockers, and trimmed payloads across P15-P22 key paths.
|
|
- P23 is analysis/decision-only: `external_channels_used=false` and `real_trade_required=false`.
|
|
- P24 remote deployment is complete for current `HEAD`.
|
|
- P24 remote smoke is implemented and passed: `/health`, `/trading/runtime-status`, `/trading/review-packet`, `/trading/alerts/quality-summary`, `/trading/alerts/operator-digest`, `/trading/runtime-incidents`, `/trading/maintenance-summary`, visual-watch cleanup dry-run, and `/trading/unattended-harness` all passed on `http://192.168.3.90:8000`.
|
|
- PXX closure gate is implemented and passed: P15-P24 and PXX are checked in `TASKS.md`, PXX state is recorded in `SESSION.md`, final validation evidence is present, and no new Research Council phase was created.
|
|
- PXX post-state is frozen: `Long-running Analysis Decision Monitor With Ops Rollup`; new product phases require explicit user direction.
|
|
- Latest `scripts/run_visual_review.py` smoke found no pending reviews: attempted=0, reviewed=0, status=idle.
|
|
- Latest capture smoke returned `status=ignored` when no watch run was supplied, which is the expected safe no-op.
|
|
- Latest cleanup smoke deleted one expired temporary artifact through `scripts/run_visual_capture_cleanup.py`.
|
|
- Latest watchdog smoke returned `stalled_task_count=0` through `scripts/run_runtime_task_watchdog.py`.
|
|
- Latest silent-window smoke returned `active=true` through `scripts/run_alert_silent_window_status.py` and exposed the same state through `/trading/alerts/silent-window-status`.
|
|
- Latest dispatcher smoke returned retry-related fields (`retry_candidates=0`, `retried=0`, `deferred_retry_backoff=0`, `retry_exhausted=0`) through `scripts/run_alert_dispatcher.py`.
|
|
- Latest `scripts/run_trading_runtime.py` smoke returned blockers=none and includes a healthy `visual_watch` runtime task.
|
|
- Latest local runtime smoke confirmed `runtime_status.tasks.alert_dispatch.details` now exposes retry and silent-window counters with blockers=none.
|
|
|
|
## PXX Blockers
|
|
|
|
- none
|
|
|
|
## Current Risks Or Open Questions
|
|
|
|
- Remote deploy is no longer blocked. External chart configuration is now an optional read-only enhancement: internal review-packet chart context remains primary, and missing external chart URLs no longer block the analysis loop.
|
|
- Browser screenshot capture adapter is a future enhancement, not a P8 closure blocker. The current adapter is an advisory review-packet HTML capture, and the review loop can still use an existing snapshot, an explicit `image_path`, or write an `unavailable` structured review.
|
|
- Visual review remains advisory and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- Alert-quality statistics remain advisory and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- Capture cleanup remains operational only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- Runtime watchdog remains operational only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- Silent-window suppression remains operational only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- Retry recovery remains operational only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- Transport retry remains operational only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P15-PXX must remain automation execution-layer work and must not reopen Research Council phases or create new trading permissions.
|
|
- P15 noise policy remains operational only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P16 browser screenshot capture remains advisory evidence only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P17 visual trigger routing remains advisory evidence routing only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P18 media evidence remains delivery metadata/fallback routing only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P19 channel routing remains notification routing/observability only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P20 operator digest remains read-only review aggregation only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P21 runtime incident journal remains observability/persistence only and must not change execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P22 maintenance summary remains read-only and uses visual capture retention dry-run statistics only; it must not delete business data or alter execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P23 unattended harness remains a local/remote smoke verifier only and must not use external channels, require real trades, or alter execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- P24 remote ops smoke remains verification only: its visual-watch step uses dry-run cleanup and it must not use external channels, require real trades, or alter execution permission, live readiness, trust bucket, risk governor, or operator confirmation.
|
|
- PXX closure gate is verification/state-freeze only and must not create a Research Council phase, alter execution permission, enable real-live readiness, change risk governor/trust bucket behavior, or weaken operator confirmation.
|
|
- A final rerun of `scripts/run_alert_dispatcher.py` and `scripts/run_trading_runtime.py` hit local PostgreSQL connection timeout because nothing was listening on `127.0.0.1:5432`; the P14 code path is still covered by full unit tests and earlier successful smoke during implementation.
|
|
- P15 dispatcher smoke succeeded with `suppressed_noise_policy`, `workbench_only`, and `policy_external_allowed` counters present. P15 runtime smoke reached `alert_dispatch` successfully, but the overall runtime returned external environment blockers for market stream disconnected and OKX read transport connection refused.
|
|
- P16 direct browser smoke succeeded locally with `browser_capture_status=captured`. Script-level capture without a watch run still returns safe no-op `watch_run_missing`.
|
|
- P17 visual review smoke returned `status=idle`, `skip_reason=no_pending_visual_watch_runs`, and empty trigger/review counters, which is the expected safe no-op when no policy-backed visual watch is pending.
|
|
- P17 quality-summary API smoke returned 200 and exposed `visual_review_summary.trigger_type_counts` / `review_result_counts`.
|
|
- Latest P17 runtime smoke returned blockers=none and exposes `decision_packet.details.visual_trigger_*` plus `visual_watch.details.skip_reason` / trigger counts.
|
|
- P18 dispatcher smoke returned attempted=0 and media counters present as safe no-op: `media_attached=0`, `media_linked=0`, `media_unavailable=0`.
|
|
- P18 quality-summary API smoke returned 200 and exposed `delivery_summary.media_attached_count`, `media_linked_count`, and `media_unavailable_count`.
|
|
- Latest P18 runtime smoke returned blockers=none and exposes `alert_dispatch.details.media_attached/media_linked/media_unavailable`.
|
|
- P19 dispatcher smoke returned attempted=0 and exposed `channel_health.enabled_channels=["workbench"]` plus disabled `webhook`, `wecom`, and `email` credential-missing states.
|
|
- P19 quality-summary API smoke returned 200 and exposed `delivery_summary.channel_status_counts`.
|
|
- Latest P19 runtime smoke returned blockers=none and exposes `alert_dispatch.details.channel_health` and `channel_summary`.
|
|
- P20 focused tests passed for digest service, script JSON/text output, API route, and dashboard route inventory; full `tests/unit` passed with 685 tests.
|
|
- P20 smoke returned `status=completed` through `scripts/run_operator_digest.py` with review_queue=10, API route smoke returned 200 with review_queue=3, and runtime smoke returned blockers=none.
|
|
- P21 local migration applied `043_create_runtime_incidents.sql`.
|
|
- P21 full validation passed: 691 unit tests, 69 script static checks, `node --check src/web/app.js`, and runtime smoke blockers=none with `Incident journal: idle / 0`.
|
|
- P21 script/API smoke returned idle persisted incident journal state, which is expected when no current runtime incidents are present.
|
|
- P22 full validation passed: 696 unit tests, 70 script static checks, and `node --check src/web/app.js`.
|
|
- P22 script/API smoke returned `status=warning` with `warnings=['feedback.sample_health']`, blockers=[], automatic_actions=[], and P23 assertions visible.
|
|
- P23 full validation passed: 701 unit tests, 71 script static checks, and `node --check src/web/app.js`.
|
|
- P23 script/API smoke returned `status=passed`, passed_checks=9, warnings=[], blockers=[], `external_channels_used=false`, and `real_trade_required=false`.
|
|
- P24 focused validation passed: remote ops smoke tests and deploy smoke coverage tests passed; script static checks passed across 72 scripts.
|
|
- P24 deploy passed through `scripts/deploy_with_password.py` with 11 HTTP smoke endpoints.
|
|
- P24 remote ops smoke passed on `http://192.168.3.90:8000` with 9 passed checks, warnings=[], blockers=[].
|
|
- PXX final validation passed: 709 unit tests, 73 script static checks, `node --check src/web/app.js`, P24 remote ops smoke passed, and closure gate passed.
|
|
- Latest H16/F17/G16/D18 validation passed: 713 unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke returned `status=passed`.
|
|
- Latest H18/F19/G18/D20 validation passed: 713 unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke returned `status=passed`.
|
|
- Latest H17/F18/G17/D19 validation passed: 713 unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke returned `status=passed`.
|
|
- Latest H19/F20/G19/D21 validation passed: 713 unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed cleanup execution, debt trend, shortcut telemetry, and evidence aging fields.
|
|
- Latest E5/W1/D22/F21 validation passed: 713 unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed external calendar, workflow rhythm, learning attribution, and high-value digest fields.
|
|
- Latest E6/H20/D23/F22 validation passed: 713 unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed chart inventory, continuous workspace, weekly trend, and digest review-back fields.
|
|
- Latest H21/F23 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `continuous_workspace_summary` plus `digest_history_browser`.
|
|
- Latest W2/H22/F24 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `workflow_session_completion_summary`, `digest_preference_profile`, and the deployed Evidence section anchor/navigation strings.
|
|
- Latest W3/H23 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `assistant_loop_queue`, `assistant_loop_summary`, the Loop Queue UI anchor, and the deployed Workflow navigation entry.
|
|
- Latest D24/H24 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `learning_focus_queue`, `next_learning_focus_prompt`, and replay-learning presence inside `assistant_loop_queue`.
|
|
- Latest E7 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `chart_adapter_mode=optional_reference`, `chart_primary_mode=internal_review_packet_html`, and a non-blocking external chart adapter even when other supporting context sources are stale.
|
|
- Latest W4/D25/F25/H25 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `workflow_artifact_summary`, `digest_action_queue`, `learning_focus_matrix`, and `workspace_continuity_handoff` plus matching UI strings.
|
|
- Latest C3/G20/H26 validation passed: focused operator workspace tests, 68 related unit/API/static tests, 713 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed `watchlist focus matrix`, `review_entry_action_queue`, `review_entry_handoff_summary`, and watchlist-focus presence inside `assistant_loop_queue`.
|
|
- Latest F26/W5/H27 validation passed: focused operator workspace/API/deploy tests, 75 related unit/API/static tests, 715 full unit tests, 73 script static checks, `node --check src/web/app.js`, remote migrations `044_create_decision_assistant_digest_state.sql` and `045_create_decision_assistant_workflow_history.sql` applied successfully, deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed `/trading/alerts/digest-preferences`, persisted `digest_preference_profile`, `digest_history_archive`, and `workflow_history_archive`.
|
|
- Latest H28 validation passed: focused operator workspace tests, 69 related unit/API/static tests, 715 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed `focus_workspace_context` plus the deployed `Focus Workspace` UI.
|
|
- Latest E8 validation passed: focused exchange/provider tests, 71 related unit/API/static tests, 717 full unit tests, 73 script static checks, deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed `exchange_status/announcements = idle`, `cache_state = empty_fallback`, and `chart_stale_source_count = 0`.
|
|
- Latest E9/B1 validation passed: 72 related unit/API/static tests, 720 full unit tests, 73 script static checks, `node --check src/web/app.js`, remote deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed `chart_url`, `symbol=BTC-USDT`, `interval=1m`, adapter mode `live_reference/empty_fallback`, and `unattended_harness = passed`.
|
|
- Latest W6/F27/F28/H29 validation passed: 70 focused route/operator/static tests, 722 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote field smoke confirmed digest/workflow archive query+compare routes, profile route visibility, and non-blocking assistant focus route.
|
|
- Latest A1/A2/A3/A4 validation passed: 71 focused API/operator/static tests, 723 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote Phase A smoke confirmed profile create/save/review-packet profile switch/rename/delete closure.
|
|
- Latest B1/B2/B3/B4 validation passed: 71 focused API/operator/static tests, 723 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote Phase B smoke confirmed archive filters, arbitrary digest/workflow snapshot compare, and load-more compatible query state.
|
|
- Latest C1/C2/C3/C4 validation passed: 71 focused API/operator/static tests, 723 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote Phase C smoke confirmed persisted focus drives evidence, reminders, replay scope, and structured note prefill.
|
|
- Latest D1/D2/D3/D4 validation passed: 23 focused provider/operator/static tests, 723 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote Phase D smoke confirmed macro provider inventory, chart provider registry, exchange surface inventory, and visual reference cards on the live host.
|
|
- Latest E1 validation passed: 74 focused workflow/operator/static tests, 726 full unit tests, 73 script static checks, `node --check src/web/app.js`, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and remote Phase E smoke confirmed workflow archive operations summary, day/session groups, multi-day drift review, and deployed `workflow operations` / `workflow drift` / `Day Group` / `Session Group` UI strings on the live host.
|
|
- Latest B5 validation passed: 72 focused API/static/operator tests, 726 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote B5 smoke confirmed digest/workflow archive `query_text` search, digest/workflow export bundles, and deployed `Search Text` / `Export Archive Results` / `Export Workflow Results` UI strings on the live host.
|
|
- Latest W7 validation passed: 74 focused workflow/API/static/operator tests, 726 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote W7 smoke confirmed workflow archive bridge summary, handoff export bundle summary, and deployed `Replay Bridge` / `Note Bridge` / `Handoff Bridge` / `Prefill Replay Note` UI strings on the live host.
|
|
- Latest E10 validation passed: 16 focused external-context/static tests, 726 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote E10 smoke confirmed provider health summary/cards, visual evidence bridge summary, and deployed `Open Visual Bridge` / `Open Target` / `Open Embed` UI strings on the live host.
|
|
- Latest O1 validation passed: 19 focused archive/static/operator tests, 729 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote O1 smoke confirmed digest/workflow long-range trend summaries, baseline pin starter fields, and deployed `archive trend` / `archive baseline` / `Pin Baseline` / `Compare To Baseline` UI strings on the live host.
|
|
- Latest B6 validation passed: 72 focused archive/API/static/operator tests, 730 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote B6 smoke confirmed cross-profile archive retrieval, query presets, structured export summaries, and deployed `Profile Scope` / `Query Preset` UI strings on the live host.
|
|
- Latest E11 validation passed: 16 focused external-context/static tests, 730 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote E11 smoke confirmed capture surface summary/cards, external visual evidence chain entry, and deployed `Open Capture Surface` / `Open Capture Target` / `Open Capture Embed` UI strings on the live host.
|
|
- Latest W8 validation passed: 69 focused workflow bridge/API/static tests, 731 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote W8 smoke confirmed handoff packet starter, replay note bridge summary, artifact bundle starter export, and deployed `Prefill Compare Replay Note` / `Export Handoff Starter` / `Export Artifact Bundle` UI strings on the live host.
|
|
- Latest O2 validation passed: 74 focused archive/API/static/operator tests, 732 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote O2 smoke confirmed persisted digest/workflow baselines, long-range trend stories, and deployed `Save Baseline` / `Save Workflow Baseline` UI strings on the live host.
|
|
- Latest B7 validation passed: 74 focused archive/API/static/operator tests, 732 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote B7 smoke confirmed persisted archive defaults, cross-profile preset retrieval, and deployed `Save Digest Defaults` / `Use Saved Digest Defaults` / `Save Workflow Defaults` / `Use Saved Workflow Defaults` UI strings on the live host.
|
|
- Latest E12 validation passed: 16 focused external-context/static tests, 732 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote E12 smoke confirmed screenshot readiness summary, capture-surface screenshot status fields, and deployed `Open Screenshot Surface` UI strings on the live host.
|
|
- Latest W9 validation passed: 74 focused workflow bridge/API/static/operator tests, 732 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote W9 smoke confirmed persisted workflow bridge state, persisted handoff/bundle starters, and deployed `Persist Bridge State` plus `bridge persistence` cockpit summary on the live host.
|
|
- Latest O3 validation passed: 16 focused archive/static/operator tests, 732 full unit tests, 73 script static checks, `node --check src/web.app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote O3 smoke confirmed unified archive operator overview plus deployed `archive operator overview` / `overview story` UI strings on the live host.
|
|
- Latest B8 validation passed: 75 focused archive/API/static/operator tests, 734 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, direct remote field smoke confirmed digest/workflow ranked aggregation plus operator overview continuity, and standard `run_remote_ops_smoke.py` returned to passed after the proxy/runtime environment recovered.
|
|
- Latest W10 validation passed: 68 focused API/static tests, 734 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote W10 smoke confirmed `workflow_group_bundle` export scope plus deployed `Export Day Bundle` / `Export Session Bundle` UI strings on the live host.
|
|
- Latest W11 validation passed: 76 focused archive/API/static/operator tests, 735 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote W11 smoke confirmed workflow compare writeback persistence, `review-packet` bridge readback continuity, and deployed `Persist Compare Replay Note` / `Prefill Saved Compare Note` UI strings on the live host.
|
|
- Latest B9 validation passed: 72 focused archive export/API/static tests, 736 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote B9 smoke confirmed digest/workflow `selection_provenance_summary` plus deployed `export provenance` / `workflow export provenance` / `selection fingerprint` UI strings on the live host.
|
|
- Latest O4 validation passed: 19 focused archive long-range/operator/static tests, 736 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote O4 smoke confirmed digest/workflow baseline delta status plus operator overview baseline delta stories on the live host.
|
|
- Latest E13/E14 validation passed: 16 focused operator/static tests, 736 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed provider/capture/screenshot stories plus visual bridge story on the live host.
|
|
- Latest E15/E16 validation passed: 74 focused API/operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed persisted external surface selection history, review-packet history readback, and deployed `surface history` / `surface history story` / `Reopen Surface` UI strings on the live host.
|
|
- Latest E17 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed dominant surface/source-group summary plus deployed `dominant surface` / `dominant surface story` UI strings on the live host.
|
|
- Latest E18 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed surface history recency status, revisit prompt, revisit target continuity, and deployed `surface history recency` / `surface revisit prompt` / `Reopen Latest Surface` UI strings on the live host.
|
|
- Latest E19 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed surface history cadence, revisit queue, next revisit prompt, and deployed `surface history cadence` / `revisit queue count` / `Reopen Revisit` UI strings on the live host.
|
|
- Latest E20 validation passed: 74 focused API/operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed revisit acknowledgment persistence, `review-packet` acknowledged-count readback, and deployed `acknowledged revisits` / `Acknowledge Revisit` UI strings on the live host.
|
|
- Latest E21 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed resolution history, cleared-queue summary, latest-acknowledged metadata, and deployed `cleared queue status` / `resolution history count` / `Reopen Cleared Surface` UI strings on the live host.
|
|
- Latest E22 validation passed: 74 focused API/operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed acknowledgment note persistence, resolution filter summary, latest-acknowledged note readback, and deployed `Acknowledge With Note` / `All Resolved` / `With Resolution Note` / `Without Resolution Note` UI strings on the live host.
|
|
- Latest E23 validation passed: 74 focused API/operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed note-gap/resolution-filter follow-up, acknowledged-note coverage counts, and deployed `Add Resolution Note` plus resolution filter labels on the live host.
|
|
- Latest E26 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed owner cadence, note-gap priority lane, and deployed `owner cadence` / `priority lane status` / `Open Priority Surface` UI strings on the live host.
|
|
- Latest E27 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed owner trend, priority-lane resolution story, and deployed `owner trend` / `owner trend story` / `priority lane story` UI strings on the live host.
|
|
- Latest E28 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed owner handoff, priority-lane carry-forward, and deployed `owner handoff` / `owner handoff story` / `priority lane carry-forward` UI strings on the live host.
|
|
- Latest E29 validation passed: 16 focused operator/static tests, 737 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed carry-forward aging, owner handoff follow-up, and deployed `owner handoff follow-up` / `carry-forward aging` UI strings on the live host.
|
|
- Latest E30 validation passed: 21 focused alert/operator/static tests plus 58 focused API route tests, 738 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed resolved-owner drift, carry-forward follow-up lane, and deployed `resolved owner drift` / `follow-up lane status` / `Open Follow-Up Lane` UI strings on the live host.
|
|
- Latest E31 implementation passed: 90 focused market-truth/alert/operator/static/API tests, 739 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, and remote field smoke confirmed `resolved_owner_drift_review_status`, `carry_forward_follow_up_lane_rollover_status`, and deployed `resolved owner drift review` / `follow-up lane rollover` / `Open Rollover Surface` UI strings on the live host.
|
|
- Latest E31 closure gate recovered after the network fix: remote diagnostics confirmed `192.168.3.73:10808` became reachable from `192.168.3.90`, `unattended_harness` returned `passed`, and `run_remote_ops_smoke.py` returned to 9/9 passed checks while keeping the new market-stream `proxy -> direct` fallback in place.
|
|
- Latest E32 validation passed: 79 focused alert/operator/static/API tests, 739 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed drift-review queue, rollover prompt, and deployed `drift review queue` / `rollover prompt` / `Open Drift Review` UI strings on the live host.
|
|
- Latest E33 validation passed: 79 focused alert/operator/static/API tests, 739 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field smoke confirmed drift-review queue aging, rollover handoff, and deployed `drift review queue aging` / `rollover handoff` / `Open Rollover Handoff` UI strings on the live host.
|
|
- Latest B10 validation passed: 75 focused alert/API/static tests, 740 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote export smoke confirmed `decision_assistant_archive_export_v4`, normalized `bundle_manifest`, and deployed `bundle manifest` / `workflow bundle manifest` / `manifest sections` UI strings on the live host.
|
|
- Refreshed `docs/AI_ICT_??????????????????????2026-05-14_v1.md` after closing Phases A-E; the external-context deep visual evidence tail line is now fully closed and this enhancement plan no longer has an active mainline slice pointer inside that track.
|
|
- Backlog refresh after the external-context closure narrowed the remaining non-external mainline work to archive export normalization only; workflow archive deep bridge and archive long-range trend tracks are considered closed at the current plan granularity.
|
|
- Real-live order submission remains intentionally disabled because the OKX order adapter is still not a real-live submitter.
|
|
- 2026-05-17 live suitability assessment: the system is usable as `restricted_decision_support` / observe-only assisted analysis, with `analysis_only_ready=true`, `restricted_decision_support_ready=true`, `assisted_trading_ready=true`, and remote unattended harness passed; it is not safe to use as direct live trade guidance because `decision_support_ready=false`, `execution_assist_ready=false`, `real_live_ready=false`, trust remains observe-only/blacklist for the current model, and `live-readiness` is blocked by `adapter_real_live_not_ready`.
|
|
- Added `docs/AI_ICT_实盘辅助分析决策助手可用性评估与补齐方案_2026-05-17_v1.md` as the current plan for moving from restricted assisted analysis toward real-time assisted trading without enabling default live auto-trading.
|
|
- Latest R0 validation passed: 77 focused launch-readiness/operator/static/API tests, 740 full unit tests, 73 script static checks, `node --check src/web/app.js`, live deploy completed, remote ops smoke passed 9 checks, and remote field/UI smoke confirmed `decision_support_boundary_summary` plus cockpit labels `operator boundary`, `boundary summary`, and `boundary next gate` are deployed. Current live `/trading/launch-readiness` may still report `analysis_blocked` when market-truth or broker read state is unavailable; that is expected runtime truth, not a permission change. R0 did not modify `execution_allowed`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Latest R2 sample-collection closure passed: added persistent `shadow_paper_observations`, `ShadowPaperSampleCollectionService`, `/trading/shadow-paper/observe`, runtime `shadow_paper_observation` task, cockpit `Record/Agree/Disagree Shadow Observation` actions, and validation fields for `shadow_observation_count`, `shadow_observation_day_count`, `operator_observation_feedback_count`, and `sample_collection_plan`. Local validation passed focused R2/API/runtime/static tests, migration static checks, 73 script static checks, `node --check src/web/app.js`, and full unit (`750` tests). Live deploy completed, deploy smoke passed 11 endpoints, standard `run_remote_ops_smoke.py` passed with `unattended_harness`, and remote field smoke recorded observation `id=1`: `shadow_observation_count=1`, `operator_observation_feedback_count=1`, `operator_feedback_count=1`, `paper_execution_count=1`. Paper ticket sampling was not fabricated because the live remote candidate set currently has no executable candidate; latest watch candidate `3996` remains blocked, so the remote action is `wait_for_executable_candidate_before_paper_ticket`. R2 still cannot be marked evidence-passed until enough distinct shadow days and paper/operator samples accumulate naturally. No change was made to `execution_allowed`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Latest R3 starter implementation passed: added `OKXSandboxPreflightService`, signed dry-run request previews for OKX submit/cancel/query/fills, idempotency key preview, error normalization catalog, `okx_sandbox_preflight_summary` inside `/trading/live-readiness`, independent `/trading/okx-sandbox-preflight`, and cockpit labels for `okx sandbox preflight`, `sandbox next gate`, simulated trading header, dry-run operations, idempotency key, error normalization, and `real_live_still_blocked`. Local validation passed 93 API/static/live-readiness/live-adapter/launch-readiness tests, 73 script static checks, `node --check src/web/app.js`, documentation consistency, and full unit (`756` tests). Live deploy completed, deploy smoke passed 11 endpoints, standard `run_remote_ops_smoke.py` passed 9 checks, and remote field smoke confirmed `/trading/okx-sandbox-preflight` plus `/trading/live-readiness` report `next_gate=sandbox_submit_cancel_reconcile_smoke`, `execution_boundary=real_live_still_blocked`, `dry_run_ready=true`, `live_trading_enabled=false`; `/static/app.js` contains the deployed R3 UI strings. This starter does not send orders, does not write live operation audit, does not change `LIVE_TRADING_ENABLED`, does not change `adapter_real_live_not_ready`, and does not alter `execution_allowed`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Latest R3 isolated smoke tooling passed locally and deployed: added explicit `OKX_SANDBOX_SMOKE_EXECUTE` gated submit/query/cancel/query/fills smoke via `scripts/run_okx_sandbox_smoke.py`, JSON artifact `.claude/okx_sandbox_smoke_latest.json`, proxy reuse from `broker_read_proxy_url` / `market_truth_proxy_url`, and `permission_error` normalization for OKX `50120`. Local validation passed 12 focused OKX/API/live-readiness/script tests, 73 script static checks, `node --check src/web/app.js`, dry-run smoke blocked safely with `okx_sandbox_smoke_execute_not_enabled`, and full unit (`761` tests). Live deploy completed, deploy smoke passed 11 endpoints, and standard `run_remote_ops_smoke.py` passed 9 checks with `unattended_harness=passed`. A real remote demo submit attempt reached OKX with `x-simulated-trading=1`, `instrument_id=2`, `proxy_configured=true`, and `LIVE_TRADING_ENABLED=false`, then returned HTTP 401 / code `50120` / `permission_error` on `submit_order`. Per current product boundary, this is a future execution-adapter readiness finding, not a blocker for the current assisted-analysis / decision-support phase; do not request or enable OKX trade permission while the system is intentionally not doing order submission. No change was made to `execution_allowed`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Latest R2 evidence backfill audit passed and deployed: added guarded `ShadowPaperObservationBackfillService` plus `scripts/run_shadow_paper_observation_backfill.py` to scan the prior 14 days and only backfill real historical shadow observation rows. Remote dry-run found 10 eligible blocked-candidate days; remote apply created observations `1449` through `1458` for `2026-05-06`, `2026-05-08`, `2026-05-09`, `2026-05-10`, `2026-05-11`, `2026-05-12`, `2026-05-13`, `2026-05-14`, `2026-05-15`, and `2026-05-16`, all with `observation_status=candidate_observed`, `system_recommendation=stand_down_blocked_candidate`, `operator_agreement=pending`, and no `paper_ticket_id` / `paper_execution_id`. Local validation passed 12 focused backfill/R2 tests, 75 script static checks, `git diff --check`, and full unit (`766` tests). Live deploy completed, deploy smoke passed 11 endpoints, remote ops smoke passed 9 checks, and live `/trading/launch-readiness` moved R2 from `shadow_candidate_day_coverage` to `paper_ticket_sample_gate`: `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`. No paper ticket, paper execution, or operator feedback was fabricated from blocked candidates. On Windows local-to-remote HTTP checks, set `NO_PROXY=*` / use `curl.exe --noproxy '*'` when the proxy path causes timeouts; the remote container itself stayed healthy.
|
|
- Remote API responsiveness recovery passed on 2026-05-18: no-proxy `/health` returned `200` in milliseconds, standard `scripts/run_remote_ops_smoke.py --base-url http://192.168.3.90:8000 --attempts 2 --timeout-seconds 30` passed all 9 checks including `unattended_harness`, and SSH command execution recovered. Triggering read-only `POST /trading/runtime/run-once` succeeded, but `/trading/launch-readiness` still reports `blocked_by_runtime` because OKX market/broker read connectivity is refused through the configured proxy path: remote host and container both fail to connect to `192.168.3.73:10808`; container env has `MARKET_TRUTH_PROXY_URL=http://192.168.3.73:10808` and empty `BROKER_READ_PROXY_URL`. Independent `/trading/shadow-paper-validation` remains at `collecting_paper_samples` / `paper_ticket_sample_gate`, but live launch readiness requires `runtime_market_broker_ready` first. Latest `/trading/candidates?instrument_id=1&limit=5` returned candidate `4244` as `blocked`, `executable=false`, missing `fvg_retrace_confirmed`, rejected by `fvg_direction_mismatch`; no shadow paper ticket was created.
|
|
- Added `docs/AI_ICT_实盘辅助分析决策助手上线必做清单_2026-05-18_v1.md` for the urgent launch target: read-only live analysis assistant, no order submission, no trading, no direct buy/sell instruction. The must-do launch queue is P0-1 read-only market data recovery, P0-2 `live_analysis_assistant_ready` narrow readiness, P0-3 forced boundary and de-traded UI, P0-4 one-screen cockpit health, P0-6 read-only launch smoke, and P0-5 minimal observation/note/weekly-review operations loop.
|
|
- Trader Mode P1/P2 live gate recovered on 2026-05-18: used `yuqei` SSH + sudo with the user-provided temporary password, copied the complete existing root deploy `.env` into `/home/yuqei/project/ai-exchange/.env` without exposing secret values, redeployed via `scripts/deploy_with_password.py --host 192.168.3.90 --user yuqei --port 22 --remote-path /home/yuqei/project/ai-exchange --remote-archive /home/yuqei/ai-ict-deploy.tgz`, deploy smoke passed 11 endpoints, standard `run_remote_ops_smoke.py` passed all checks including `unattended_harness`, and `run_readonly_live_analysis_smoke.py --base-url http://192.168.3.90:8000 --attempts 2 --timeout-seconds 30 --output-json` passed with `ready_for_readonly_live_analysis=true`, `must_not_trade=true`, `trade_permission_required=false`, and `submit_cancel_or_live_execution_called=false`. Remote readiness now reports `market_stream_connected`, `market_data_gap_clear`, `readonly_account_context_status=available`, `product_operating_mode=restricted_decision_support`, and `real_live_ready=false`.
|
|
- Low-risk sensitive credential cleanup passed on 2026-05-18 without rotating or changing any live credentials: removed tracked legacy expect scripts that embedded password sends, replaced rollback docs/checker with `deploy_with_password.py` plus runtime env injection, added redacted `scripts/run_secret_static_checks.py`, wired it into `run_script_static_checks.py` and the Trading Delivery Checklist, ignored `tmp_*.jsonl` / `*_capture.jsonl`, and documented the boundary in `docs/AI_ICT_敏感凭据低风险清理记录_2026-05-18_v1.md`. Validation passed secret static checks, script static checks, 35 focused tests, `git diff --check` with only LF/CRLF warnings, and full unit discovery (`779` tests). Current tree secret scan passed; Git history was not rewritten, so any historical exposure should be handled by a future explicit rotation window after backup login and smoke paths are confirmed.
|
|
- 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.
|
|
- Frontend Chinese/English i18n closure passed on 2026-05-20: added shared `/static/i18n.js`, default locale `zh-CN`, persistent `ai_ict_locale_v1`, topbar language switchers on the workbench, standalone Trader Mode fallback page, and training page. `app.js`, `trader_mode.js`, and `training.js` now route dynamic `setText` output through the same translation layer, so both static shell labels and live Trader Mode status/readout labels can switch between Chinese and English without changing backend payloads. Mutation handling was hardened to avoid self-triggered translation loops during language changes. Remote validation confirmed default Chinese with no stored locale (`lang=zh-CN`, heading `AI ICT 交易工作台`, status `仅观察`, readout `为什么不交易`) and English switching (`lang=en`, heading `AI ICT Trading Workbench`, status `Observe Only`), with no browser console errors. Evidence screenshots saved at `output/playwright/i18n-trader-mode-zh-default-1366x768.png` and `output/playwright/i18n-trader-mode-en-1366x768.png`. Local validation passed i18n/app/trader/training JS syntax checks, focused static/read-only/operator tests, script static checks, full unit discovery (`789` tests), deploy smoke over 11 endpoints, `run_remote_ops_smoke.py`, and `run_readonly_live_analysis_smoke.py`. No change was made to `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Frontend i18n regression follow-up passed on 2026-05-20: fixed whitespace-preserving text-node translation so Chinese mode now translates top controls such as `Instrument ID`, `Timeframe`, `Limit`, `Auto Refresh`, `Execution Status`, `Session Focus`, `Trust Class`, and `Search` on `/trader-mode#overview`. The workbench active-section marker moved from `body[data-workbench-section]` to `body[data-active-workbench-section]` to avoid selector collisions with real content sections during browser automation and Trader Mode visibility checks. Added missing Chinese button labels for dynamic workbench actions including `Generate Active Plan`, `Run Watch`, `Risk Check`, `Cleanup Old Captures`, `Reconcile Real Trades`, `Cancel`, `Close`, `Sync`, note/review-packet buttons, and visual feedback buttons. Local validation passed `node --check src/web/app.js`, `node --check src/web/i18n.js`, 27 focused static/read-only/operator tests, secret static checks, script static checks, full unit discovery (`789` tests), and `git diff --check` with only LF/CRLF warnings. Live deploy completed with 11 deploy smoke endpoints; `run_remote_ops_smoke.py` and `run_readonly_live_analysis_smoke.py` passed, with `ready_for_readonly_live_analysis=true`, `must_not_trade=true`, and `submit_cancel_or_live_execution_called=false`. gstack browser automation cold-started `http://192.168.3.90:8000/trader-mode?verify=20260520b#overview`, confirmed `lang=zh-CN`, no old body selector collision, Chinese top controls, 17 left-menu pages navigable, no console errors, and clicked only safe `刷新` while skipping write/record/reconcile buttons to avoid polluting live state. Evidence screenshot saved at `output/playwright/i18n-overview-controls-zh-final-1366x768.png`. No change was made to `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Existing-UI i18n polish passed on 2026-05-20 without adding product features: hardened phrase replacement so short words like `no` no longer corrupt larger English words such as `not` / `enough`, then optimized Chinese labels for existing Trader Mode / duty / chart bridge / R2 evidence / runtime workbench surfaces. Remote browser audit on `/trader-mode?audit=20260520e#trader-mode` confirmed no `否t` / `e否ugh` corruption, no old English labels such as `Bridge Status`, `Exact Candle Source`, `Use Today`, `Paper Tickets`, or `Decision Support Ready`, and reduced visible English-remnant audit count from `3396` before the fix to `881` after the fix; the remaining items are mostly symbols/session names/ICT tokens/internal status keys. Validation passed `node --check src/web/i18n.js`, 27 focused static/read-only/operator tests, secret static checks, script static checks, full unit discovery (`789` tests), `git diff --check` with only LF/CRLF warnings, deploy smoke over 11 endpoints, `run_remote_ops_smoke.py`, `run_readonly_live_analysis_smoke.py`, and gstack browser console check with no errors. Evidence screenshot saved at `output/playwright/i18n-existing-ui-polish-zh-1366x768.png`. No change was made to `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Existing-UI i18n/R2 gate polish follow-up passed on 2026-05-20 without adding product features: expanded the existing Chinese translation map for live-readiness, launch-readiness, shadow/paper validation, runtime states, OKX sandbox preflight labels, and Trader Mode first-screen wording. Remote browser audit on `/trader-mode?audit=20260520k#trader-mode` confirmed `lang=zh-CN`, no `为什么不交易不交易`, no `下一步观察观察候选`, no `操作员反馈 count`, and no old English labels such as `Auto refresh`, `All Trust`, `Incident Journal`, `Maintenance Rollup`, `Plan Context`, `Model Trust`, `Live Readiness`, or `Launch Readiness`; the remaining English-token count in the active Trader Mode view is `13`, mostly `English`, `ai-ict`, timezone/profile names, strategy codes, and feedback enum values. Trader Mode R2 evidence display now follows `shadow_paper_validation_summary.failed_criteria`, so the evidence window no longer says operator feedback is complete while the canonical shadow validation gate still requires more samples. Current live evidence is still collecting: `operator_feedback_count=3/5`, `paper_ticket_count=0`, `paper_execution_count=0`, and `weekly_review_entry_count=0`. Validation passed focused i18n/operator/static tests, secret static checks, script static checks, full unit discovery (`790` tests), deploy smoke over 11 endpoints, `run_remote_ops_smoke.py`, `run_readonly_live_analysis_smoke.py`, and gstack browser console check with no errors. Evidence screenshot saved at `output/playwright/i18n-existing-ui-polish-zh-followup-1366x768.png`. No change was made to `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- Session Focus Chinese dynamic-label follow-up passed on 2026-05-20 without adding product features: fixed the existing i18n layer for dynamic session-focus cards so session names and lower-case backend labels now render in Chinese (`ASIA`, `LONDON`, `NY_AM`, `NY_LUNCH`, `NY_PM`, `status`, `window`, `candidates`, `executable`, `open executions`, `alerts`, `recommendation`, `action hint`, `incomplete`, `closed`, `observe`, `avoid`, `review_alerts`, `avoid_new_risk`). Remote browser audit on `/trader-mode?i18n=20260520-session#session-focus` confirmed `lang=zh-CN`, `active=session-focus`, no English leftovers from the reported list, and visible Chinese replacements such as `亚洲盘`, `纽约下午盘`, `状态`, `时间窗口`, `候选数`, `可执行数`, `未平仓执行`, `提醒数`, `建议`, `动作提示`, `观察 @ 无`, `回避 @ 30.0`, `回避新增风险`, and `复核提醒`; console errors were empty. Validation passed `node --check src/web/i18n.js`, focused static/operator/read-only tests, secret static checks, script static checks, full unit discovery (`790` tests), deploy smoke over 11 endpoints, `run_remote_ops_smoke.py`, and `run_readonly_live_analysis_smoke.py`. Evidence screenshot saved at `output/playwright/i18n-session-focus-zh-1366x768.png`. No change was made to `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, or operator confirmation protocol.
|
|
- S2 ICT canonical taxonomy/rulebook registry is implemented locally: added `src/services/ict_mainline/taxonomy.py`, `docs/AI_ICT_ICT主线概念字典_S2_2026-05-21_v1.md`, and `ict_rulebook_mapping` on Trader Cockpit, Strategy Backtest, Trading Plan, and Journal outputs. The registry binds trader-facing analysis to the book chain `Range / Draw / Location -> Liquidity / Sweep / Inducement / Path -> Displacement / MSS / FVG / Retest / Session -> backtest evidence -> pre-market plan -> intraday unique focus or no-trade reason -> journal / study-notes feedback`, while preserving read-only/no-order boundaries.
|
|
- S3/S4 Review Now mainline gate is implemented locally: added `src/services/ict_mainline/gates.py`, `docs/AI_ICT_ReviewNow主线Gate_S3S4_2026-05-21_v1.md`, `mainline_focus_gate` on Decision Assistant / Trader Cockpit, and `cockpit_promotion_gate` on Strategy Backtest. `Review Now` now requires active Trading Plan + primary draw + invalidation + no blocking plan condition + passed Strategy Backtest quality gate + candidate link to the active plan; otherwise candidates are downgraded to watch / observe and Trader Cockpit remains `Observe Only` or lower.
|
|
- S5/S6 Cockpit chain sentence and feedback loop is implemented locally: added `src/services/ict_mainline/feedback.py`, `docs/AI_ICT_Cockpit链路句与反馈错误分类_S5S6_2026-05-21_v1.md`, `trader_mode_summary.trader_readout.ict_chain_sentence`, `ict_chain_steps`, and book-rule feedback classifications for operator feedback, Journal, weekly review, and study-note drafts. Observation review, paper review, and execution-derived review are now counted separately so observation samples cannot be mistaken for execution evidence.
|
|
- S7/S8 read-only reliability and trader SOP is implemented, deployed, and remote-verified: added `docs/AI_ICT_只读实盘可靠性与交易员SOP_S7S8_2026-05-21_v1.md`, `maintenance_summary.readonly_live_reliability`, and `trader_mode_summary.ops_duty_panel.trader_safe_health`. Trader Cockpit now shows only a trader-safe read-only use conclusion plus recovery action, while System Ops exposes proxy / market freshness / runtime / review packet / REST fallback / stream / news-account diagnostics. Warning states remain analysis-use guidance only and are not trade signals. Validation passed focused unit/static checks, script static checks, full unit discovery (`807` tests), deploy smoke over 11 endpoints, remote ops smoke, readonly live analysis smoke, field smoke, and gstack browser verification on `/trader-mode#system-ops` with no console errors.
|
|
- S9 Trader Cockpit status copy compression is implemented, deployed, and remote-verified: added `docs/AI_ICT_TraderCockpit状态话术压缩_S9_2026-05-21_v1.md`; `trader_mode_summary.trader_readout` now exposes fixed six-card copy fields `Now / Reason / Wait / Risk / Historical Edge / Boundary`, and the frontend prioritizes those compressed fields before fallback text. `Review Now` now reads as manual review only, `Observe Only` as wait/no-trade, and `Do Not Use` as restore data/runtime first. Chinese Trader Cockpit display now renders the six cards as trader-readable sentences and removes the visible S9 residues `Risk:`, `Wait for FVG`, `Trader Mode changed:`, and raw `sweep -> MSS -> FVG` on `/trader-mode`. Validation passed focused operator/static/docs tests, `node --check`, script static checks, full unit discovery (`807` tests), `git diff --check` with only LF/CRLF warnings, deploy smoke over 11 endpoints, remote ops smoke, readonly live analysis smoke, six-card field smoke, and gstack browser verification with no console errors. Evidence screenshot: `output/playwright/s9-trader-cockpit-six-card-copy-final2-1366x768.png`.
|
|
- S10 real intraday feedback validation is implemented, deployed, and remote-verified: added `docs/AI_ICT_TraderCockpit真实反馈验证_S10_2026-05-21_v1.md`; used real remote evidence (`operator_feedback_count=3`, recent Candidate `4610` observation with `operator_agreement=unclear`, `paper_ticket_count=0`, `paper_execution_count=0`, `weekly_review_entry_count=0`) to tighten the six-card copy without adding features. `Observe Only` now says the explicit gap (`FVG retrace is not confirmed yet; no trade`), `Wait` says the operator should wait for `trigger-chart FVG retrace confirmation`, `Risk` warns against treating the watch as a signal, and `Historical Edge` is reduced to Study / Review-only language without first-screen PF/DD/expectancy detail. Validation passed focused operator/static/docs tests, `node --check`, script static checks, full unit discovery (`807` tests), `git diff --check` with only LF/CRLF warnings, deploy smoke over 11 endpoints, remote ops smoke, readonly live analysis smoke, six-card field smoke, and gstack browser verification with no console errors. Evidence screenshot: `output/playwright/s10-trader-cockpit-real-feedback-six-card-1366x768.png`.
|
|
- S11 real intraday use loop is implemented, deployed, and remote-verified: remote `/trader-mode` showed the S10 six-card conclusion clearly (`FVG retrace is not confirmed yet; no trade`), so the operator recorded a real `No Trade` instead of tuning more copy. This created observation `9237` with `operator_agreement=no_trade` for Candidate `4610`; `operator_feedback_count` increased from `3` to `4`, while `paper_ticket_count=0`, `paper_execution_count=0`, and `weekly_review_entry_count=0` stayed unchanged. A feedback mapping bug was fixed so Trader Cockpit buttons now write `no_trade` and `need_more_evidence` explicitly instead of collapsing both into `unclear`. Validation passed focused tests, `node --check`, deploy smoke over 11 endpoints, remote ops smoke, readonly live analysis smoke, field verification, and gstack browser verification with no console errors. Evidence screenshot: `output/playwright/s11-trader-mode-no-trade-feedback-1366x768.png`.
|
|
- S12 real intraday use loop was attempted and the anti-duplication guard was confirmed: remote `/trader-mode` still showed a clear Chinese `Observe Only / no trade` readout, the UI wrote `POST /trading/shadow-paper/observe -> 201`, and screenshot evidence was saved at `output/playwright/s12-trader-mode-fifth-feedback-1366x768.png`. The R2 count did not increase from `4/5` to `5/5` because `shadow_paper_observations` upserts by `(instrument_id, observation_date, timeframe, session_code)`, so another same-day same-session LONDON `No Trade` updates observation `9237` instead of creating a duplicate sample. Current live state: `observed_shadow_day_count=14`, `shadow_observation_count=17`, `shadow_observation_day_count=13`, `operator_feedback_count=4/5`, `operator_observation_feedback_count=4`, `operator_feedback_day_count=3`, `paper_ticket_count=0`, `paper_execution_count=0`, `weekly_review_entry_count=0`, and `runtime_clear_for_shadow` is currently blocked by `broker_sync_degraded:BTC-USDT:okx_read_credentials_missing`.
|
|
- Current assisted-analysis next gate: proceed to S13 only after a distinct real feedback sample exists: wait for a new real session/date feedback sample, or a legitimate non-duplicate feedback channel already present in the product, to move `operator_feedback_count` from `4/5` to `5/5`. Do not repeat-click the same LONDON/day sample, do not tune copy unless the next real feedback is `unclear` or `disagree`, and do not fabricate paper ticket / paper execution / weekly review samples from blocked candidates. Also clear the read-only runtime blocker (`okx_read_credentials_missing`) before claiming R2 evidence progress. Do not add new product features, do not restart external-context/archive/digest long-tail work, do not physically delete S1 deprecated surfaces yet, and keep `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, and operator confirmation protocol unchanged.
|
|
|
|
## Exact Next Step
|
|
|
|
Use `docs/AI_ICT_实盘辅助分析决策助手ICT主线开发方案_2026-05-21_v1.md`, `docs/AI_ICT_ICT主线概念字典_S2_2026-05-21_v1.md`, `docs/AI_ICT_ReviewNow主线Gate_S3S4_2026-05-21_v1.md`, `docs/AI_ICT_Cockpit链路句与反馈错误分类_S5S6_2026-05-21_v1.md`, `docs/AI_ICT_只读实盘可靠性与交易员SOP_S7S8_2026-05-21_v1.md`, `docs/AI_ICT_TraderCockpit状态话术压缩_S9_2026-05-21_v1.md`, and `docs/AI_ICT_TraderCockpit真实反馈验证_S10_2026-05-21_v1.md` as the active anchors. Continue with S13: first clear the read-only runtime blocker if still present, then collect one distinct real operator feedback sample from a new session/date or legitimate non-duplicate feedback channel. Repeated same-day same-session `/trader-mode` clicks are intentionally de-duplicated and must not be used to satisfy R2. If the next real feedback is clear (`agree` / `no_trade`), do not tune copy; if it is `unclear` or `disagree`, adjust only existing text/hiding rules around `Reason`, `Wait`, and `Risk`. Do not restart external-context/archive/digest long-tail work, do not create order-submission features, do not physically delete S1 deprecated surfaces yet, and do not fabricate R2 paper samples. Keep `execution_allowed`, `decision_support_ready`, `real_live_ready`, risk governor, trust bucket, and operator confirmation protocol unchanged.
|
|
|
|
## Validation Commands Used Recently
|
|
|
|
```bash
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_operator_workspace_service
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_script_static_checks.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest discover -s tests/unit
|
|
node --check src/web/app.js
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\deploy_with_password.py --host 192.168.3.90 --user root --port 22 --password <provided>
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_remote_ops_smoke.py --base-url http://192.168.3.90:8000 --attempts 2 --timeout-seconds 20
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_operator_workspace_service
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_script_static_checks.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest discover -s tests/unit
|
|
node --check src/web/app.js
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\deploy_with_password.py --host 192.168.3.90 --user root --port 22 --password <provided>
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_remote_ops_smoke.py --base-url http://192.168.3.90:8000 --attempts 2 --timeout-seconds 20
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_workflow_archive_projection tests.unit.test_operator_workspace_service tests.unit.test_api_static_server tests.unit.test_api_server
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_script_static_checks.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest discover -s tests/unit
|
|
node --check src/web/app.js
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\deploy_with_password.py --host 192.168.3.90 --user root --port 22 --password <provided>
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_remote_ops_smoke.py --base-url http://192.168.3.90:8000 --attempts 2 --timeout-seconds 20
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_visual_review_service tests.unit.test_run_visual_review tests.unit.test_trading_runtime_service tests.unit.test_api_and_main tests.unit.test_api_server
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_script_static_checks.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_run_until_blocked tests.unit.test_monitoring_alert_rollout tests.unit.test_runtime_script_json
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_visual_review.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_visual_snapshot_capture.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_visual_capture_cleanup.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_runtime_task_watchdog.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_alert_silent_window_status.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_trading_runtime.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_visual_snapshot_capture_service tests.unit.test_run_visual_snapshot_capture tests.unit.test_api_static_server
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_visual_trigger_policy_service tests.unit.test_decision_packet_service tests.unit.test_research_council_decision_packet_fields tests.unit.test_visual_review_service tests.unit.test_alert_quality_summary_service tests.unit.test_trading_runtime_service tests.unit.test_run_visual_review
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest discover -s tests/unit
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_visual_review.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_visual_media_evidence_service tests.unit.test_alert_feedback_service tests.unit.test_alert_quality_summary_service tests.unit.test_trading_runtime_service tests.unit.test_api_and_main
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_alert_dispatcher.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_channel_router_service tests.unit.test_alert_feedback_service tests.unit.test_alert_quality_summary_service tests.unit.test_trading_runtime_service
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_operator_digest_service tests.unit.test_run_operator_digest tests.unit.test_api_server.ApiServerRoutingTests.test_routes_trading_alert_operator_digest tests.unit.test_api_static_server.ApiStaticServerTests.test_dashboard_uses_canonical_trading_routes
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_operator_digest.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_runtime_incident_journal_service tests.unit.test_run_runtime_incident_journal tests.unit.test_trading_runtime_service tests.unit.test_api_static_server.ApiStaticServerTests.test_dashboard_uses_canonical_trading_routes
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\apply_migrations.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_runtime_incident_journal.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_maintenance_summary_service tests.unit.test_run_maintenance_summary tests.unit.test_api_server.ApiServerRoutingTests.test_routes_maintenance_summary tests.unit.test_api_static_server.ApiStaticServerTests.test_dashboard_uses_canonical_trading_routes
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_maintenance_summary.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_unattended_harness_service tests.unit.test_run_unattended_harness tests.unit.test_api_server.ApiServerRoutingTests.test_routes_unattended_harness
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_unattended_harness.py
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_run_remote_ops_smoke tests.unit.test_deploy_with_password
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_remote_ops_smoke.py --base-url http://192.168.3.90:8000 --attempts 2 --timeout-seconds 20
|
|
D:\ai-exchange\.venv\Scripts\python.exe -m unittest tests.unit.test_run_automation_execution_closure_gate
|
|
D:\ai-exchange\.venv\Scripts\python.exe scripts\run_automation_execution_closure_gate.py
|
|
```
|