Commit graph

70 commits

Author SHA1 Message Date
google-labs-jules[bot]
ab85cdaef2 🛡️ Sentinel: [Security Enhancement] Add security headers to web dashboard
🚨 Severity: MEDIUM (Enhancement)
💡 Vulnerability: Missing security headers (CSP, X-Frame-Options, etc.)
🎯 Impact: Reduces risk of XSS, Clickjacking, and MIME sniffing.
🔧 Fix: Added @app.after_request hook to inject robust security headers.
 Verification: Added unit test `test_security_headers` which verifies header presence and values.
2026-02-08 11:33:00 +00:00
copilot-swe-agent[bot]
e1d193b6f9 Security fix: Replace real credentials with placeholders in docs and examples
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-08 04:15:17 +00:00
copilot-swe-agent[bot]
7c55d36653 Update Telegram bot defaults and webhook configuration
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-08 04:12:44 +00:00
google-labs-jules[bot]
9b6778cba0 Fix CRITICAL authorization bypass in Telegram Bot
- Changed `check_authorized` in `scripts/telegram_deploy_bot.py` to fail closed (deny all) if `TELEGRAM_ALLOWED_USER_IDS` is unset or empty.
- Updated `scripts/TELEGRAM_BOT_SETUP.md` and `QUICK_DEPLOY.md` to document that `TELEGRAM_ALLOWED_USER_IDS` is now mandatory for bot access.
- Added Sentinel Journal entry in `.jules/sentinel.md` documenting the vulnerability and learning.
- Verified fix with reproduction script.
2026-02-07 11:33:43 +00:00
Copilot
3ae9f3f7e7
Add release management infrastructure and automation (#255)
* Initial plan

* Add release infrastructure: CHANGELOG, workflow, and documentation

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>

* Add release checklist and VERSION file

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>

* Fix variable assignment in release preparation script

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>

* Add release quick reference and update documentation

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>

* Add comprehensive release preparation summary

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>

* Add task completion summary

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-05 02:53:31 +07:00
google-labs-jules[bot]
71982b145b feat: launch to metatrader vps Singapore 10
- Updated all references from Singapore 09 to Singapore 10 across documentation and scripts.
- Updated dates and timestamps to reflect the current migration date (February 4, 2026).
- Added migration details to VPS_SETUP_NOTES.md.
- Verified repository consistency and ran validation tests.

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-04 07:59:55 +00:00
copilot-swe-agent[bot]
719513590f Add PWA documentation and validation script
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-01 19:20:28 +00:00
google-labs-jules[bot]
6a038d53e0 Setup schedule for Gemini and Jules research with NotebookLM context
- Updated `docs/NOTEBOOK_LM_CONTEXT.txt` with user-provided NotebookLM URL and context directives.
- Enhanced `scripts/market_research.py` and `scripts/upgrade_repo.py`:
  - Added proper Jules integration using the REST API structure `{"model": ..., "prompt": ...}` to match MQL5 implementation.
  - Added warning suppression for deprecated `google.generativeai` warnings.
  - Added robustness checks for API keys.
- Enhanced `scripts/schedule_research.py` with file logging (`logs/scheduler.log`) and next-run prediction.
2026-01-28 20:07:51 +00:00
google-labs-jules[bot]
7f5c705c00 feat: Add scalping strategy support for M5, M15, M30
- Implements `CPositionManager` class in `ManagePositions.mqh` for robust Trailing Stop and Break Even logic.
- Updates `SMC_TrendBreakout_MTF_EA.mq5` to use `CPositionManager` and exposes Scalping inputs.
- Adds preset files for M5, M15, M30 scalping in `mt5/MQL5/Presets/`.
- Documents strategy parameters in `docs/SCALPING_STRATEGY.md`.
- Adds `scripts/research_scalping.py` utility.
2026-01-28 18:14:03 +00:00
GenX FX Trading System
0fe9db8276
Merge pull request #218 from A6-9V/bolt-perf-runner-setup-8300516273090358873
 Bolt: CI Runner Setup & MQL5 Performance Optimization
2026-01-29 00:20:28 +07:00
google-labs-jules[bot]
6529deda2a bolt: setup forge runner and optimize mql5 performance
- Added `scripts/setup_forge_runner.sh` for automated Gitea runner registration.
- Optimized `SMC_TrendBreakout_MTF.mq5` by replacing manual loops with native `ArrayMaximum`/`ArrayMinimum`.
- Optimized `SMC_TrendBreakout_MTF_EA.mq5`:
    - Replaced `CopyTime` with `iTime` for faster bar checks.
    - Replaced non-existent `iDonchian` handle with standard MQL5 price range logic using `CopyHigh`/`CopyLow`.
    - Removed redundant code and handles in `OnInit`/`OnDeinit`.

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-28 16:31:18 +00:00
GenX FX Trading System
25210cb93a
Merge pull request #203 from A6-9V/perf-telegram-bot-async-subprocess-7777137281643102778
 Optimize Telegram Bot Deployment with Asyncio Subprocess
2026-01-28 22:54:19 +07:00
google-labs-jules[bot]
ea261ed334 Merge feature branch, cleanup dependencies, and sanitize credentials
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-28 10:24:13 +00:00
google-labs-jules[bot]
36f6846358 Bolt: Lazy load heavy dependencies in market_research.py
- Moved `yfinance` and `pandas` imports inside `get_market_data`
- Moved `google.generativeai` import inside `analyze_with_gemini`
- Reduces startup time when these libraries are not immediately needed (e.g. missing API keys or dry runs)
- Keeps fallback simulation logic intact

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-28 05:32:18 +00:00
GenX FX Trading System
8d4ecd4b84
Merge pull request #205 from A6-9V/optimize-market-research-10141970005764280165
 Optimize market_research.py with yf.download
2026-01-28 11:58:19 +07:00
GenX FX Trading System
083ea5b15d
Merge pull request #206 from A6-9V/bolt-optimize-pr-review-calls-8757165414626091425
 Optimize git calls in PR review script
2026-01-28 11:57:45 +07:00
google-labs-jules[bot]
3c60a83185 Setup Research Schedule and Improvements
- Updated `scripts/market_research.py` to provide helpful hints on Jules NameResolutionError.
- Updated `docs/USER_NOTES.md` to document the schedule setup and current API status.
- Created `docs/upgrade_suggestions.md` to establish the upgrade context (NotebookLM) and track pending analysis.
- Verified scheduler execution (PID running).
- Note: Gemini API is currently rate-limited (429) and Jules API endpoint requires verification.

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-27 20:07:35 +00:00
google-labs-jules[bot]
fc5646a73c Refactor review_pull_requests.py to batch git calls
Replaced per-branch git log calls with a single git for-each-ref command using the ahead-behind atom. This optimizes the script from O(N) to O(1) git subprocess calls.

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-27 01:10:00 +00:00
google-labs-jules[bot]
8d572816b7 Optimize market_research.py with yf.download
- Replaced sequential loop with batch fetch (~3x speedup)
- Cleaned up unused imports
- Verified with benchmark script

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-27 01:00:42 +00:00
google-labs-jules[bot]
be4268a251 Optimize telegram_deploy_bot to use asyncio subprocesses
Replaced blocking `subprocess.run` calls with `asyncio.create_subprocess_exec` to ensure the Telegram bot event loop remains responsive during long-running deployment tasks.

Key changes:
- Switched to `asyncio.create_subprocess_exec` for command execution.
- implemented `asyncio.wait_for` to handle the 300s timeout.
- Added explicit process cleanup (kill/wait) on timeout.
- Manually decoded stdout/stderr since async subprocesses return bytes.

Verified with a reproduction script showing the event loop gap dropped from ~2.0s (blocking) to ~0.1s (non-blocking).

Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-01-27 00:57:34 +00:00
google-labs-jules[bot]
85174d9a2b Bolt: Optimize market data fetching with bulk download
- Replaced sequential `yf.Ticker` loop with `yf.download`
- Added logic to handle MultiIndex DataFrame
- Reduced fetch time from ~0.86s to ~0.33s
2026-01-26 05:13:57 +00:00
google-labs-jules[bot]
957e97403f Setup schedule and integrate NotebookLM context for research/upgrades 2026-01-25 19:44:13 +00:00
google-labs-jules[bot]
9365d50dea feat: parallelize AI market research
Parallelizes the Gemini and Jules AI analysis calls in `scripts/market_research.py` using `concurrent.futures`. This optimization allows both API requests to execute concurrently, reducing the total execution time of the script to the duration of the slower request rather than the sum of both.

Changes:
- Imported `concurrent.futures` in `scripts/market_research.py`.
- Replaced sequential calls to `analyze_with_gemini` and `analyze_with_jules` with `ThreadPoolExecutor` submission.
2026-01-25 05:36:41 +00:00
google-labs-jules[bot]
b528ef932e Add Cloudflare management scripts and tunnel setup
- Created `scripts/manage_cloudflare.py` to get/set security levels via API.
- Created `scripts/setup_cloudflare_tunnel.sh` to install `cloudflared`.
- Created `config/vault.json` with user-provided Zone/Account IDs for `lengkundee01.org`.
- Created `docs/CLOUDFLARE_GUIDE.md` with usage instructions.
- Updated `requirements.txt` to include `requests` as a core dependency.
2026-01-25 02:59:06 +00:00
google-labs-jules[bot]
884bccc3ef Setup research scheduler and environment configuration 2026-01-24 19:54:18 +00:00
google-labs-jules[bot]
6bafb1a326 Add GCP deployment configuration and scripts 2026-01-24 19:21:00 +00:00
google-labs-jules[bot]
b3311b9694 feat: Setup automated market research and upgrades with Gemini and Jules
- Added `yfinance` to fetch real market data.
- Enhanced `scripts/market_research.py` to use `yfinance` and support Jules AI.
- Enhanced `scripts/upgrade_repo.py` to support Jules AI for code suggestions.
- Updated `scripts/schedule_research.py` to load environment variables.
- Created `scripts/setup_research.sh` to automate setup.
- Updated `requirements.txt` and `README.md`.
2026-01-23 19:50:48 +00:00
google-labs-jules[bot]
0c59ee6ed8 Bolt: Reduce syscalls in web dashboard
Replaced `os.path.exists()` + `os.path.getmtime()` with a single `os.stat()` call in `scripts/web_dashboard.py` to reduce syscalls by 50% for cache checks. Also pre-calculated static file paths at module level to avoid redundant `abspath` and `join` calls on every request.

Impact:
- Reduces filesystem operations per request.
- Improves code cleanliness by centralizing path constants.
- Verified with existing tests and manual curl check.
2026-01-23 05:19:37 +00:00
google-labs-jules[bot]
4a280992bf Setup Market Research Scheduler (Scandal)
- Added `scripts/market_research.py` to analyze market data using Gemini.
- Added `scripts/upgrade_repo.py` to suggest code upgrades based on research.
- Added `scripts/schedule_research.py` to orchestrate periodic research.
- Updated `config/startup_config.json` to include the scheduler.
- Added `schedule` and `google-generativeai` to `requirements.txt`.
2026-01-22 19:36:23 +00:00
google-labs-jules[bot]
2698f7f96d feat: Add monitoring support to startup script
- Added `--monitor` flag to `scripts/startup.sh`.
- Fixed circular nameref warning in `scripts/startup.sh`.
- Updated `startup.sh` to pass the monitor flag to `startup_orchestrator.py`.
- Verified system startup and web dashboard accessibility.
2026-01-22 08:20:09 +00:00
google-labs-jules[bot]
2cceaf9619 Update Magic Number to 81001 and enhance reset scripts for MT5 cleanup 2026-01-22 05:58:45 +00:00
google-labs-jules[bot]
58fa990314 Update MagicNumber to 81001 and add resetup scripts/docs 2026-01-22 05:41:55 +00:00
google-labs-jules[bot]
878e4e5d83 feat: Secure bridge integration, refactor EAs, and add profile maintenance script
- Created `mt5/MQL5/Include/ZoloBridge.mqh` for shared, secure (HTTPS) bridge logic with proper JSON sanitization.
- Created `ExpertMACD_Enhanced.mq5`, `ExpertMAMA_Enhanced.mq5`, and `ExpertMAPSAR_Enhanced.mq5` using standard library and ZOLO bridge.
- Refactored `EXNESS_GenX_Trader.mq5` and `SMC_TrendBreakout_MTF_EA.mq5` to use `ZoloBridge.mqh` and updated default URL to `https://genx-fx.com/api/signal`.
- Updated `scripts/deploy_docker_hub.sh` and `scripts/update_vps.sh` to support `DOCKER_USERNAME` and `DOCKER_PASSWORD` environment variables.
- Added `scripts/fix_profiles.py` to copy defaults to empty profile directories.
- Added `SECRETS_TEMPLATE.md` for credential management guidance.
- Updated EA link properties to Forge URL.
2026-01-22 01:08:24 +00:00
google-labs-jules[bot]
3c40b86bc0 Install Jules CLI and update setup_ubuntu.sh 2026-01-21 18:45:40 +00:00
google-labs-jules[bot]
99f9e77aa4 Add Docker Hub deployment scripts and update configuration 2026-01-21 17:54:06 +00:00
google-labs-jules[bot]
134421bbed Add Ubuntu 24.04/VPS setup script 2026-01-21 17:44:15 +00:00
GenX FX Trading System
3089f6bbd7
Merge pull request #133 from A6-9V/bolt/optimize-health-check-4798524406111260530
 Bolt: Optimize health check endpoint
2026-01-21 23:27:16 +07:00
GenX FX Trading System
a49d378e29
Merge pull request #135 from A6-9V/cloudflare-secrets-setup-5456175216657820693
Add Cloudflare Configuration and Secret Management Tools
2026-01-21 23:26:51 +07:00
GenX FX Trading System
2b07eab6e3
Merge branch 'copilot/install-juless-cli' into perf-optimize-merge-prs-16008112154592563262 2026-01-21 23:26:11 +07:00
google-labs-jules[bot]
92d0e30d9c feat(scripts): parallelize PR closing in merge_best_prs.py
Optimize `scripts/merge_best_prs.py` by using `concurrent.futures.ThreadPoolExecutor` to close duplicate PRs in parallel. This significantly reduces execution time by masking network latency for independent API calls.

Benchmarks show a reduction from ~1.31s to ~0.25s for closing 13 PRs with simulated 0.1s latency.
2026-01-21 16:23:19 +00:00
GenX FX Trading System
134026ff99
Merge branch 'copilot/install-juless-cli' into cloudflare-secrets-setup-5456175216657820693 2026-01-21 22:58:40 +07:00
google-labs-jules[bot]
0a0a0619f1 feat: add Cloudflare configuration and secret management tools
- Create config/vault.json with Cloudflare credentials (gitignored)
- Update .env.example with Cloudflare placeholders
- Create scripts/set_github_secrets.sh to automate GitHub Secret management
- Add docs/Secrets_Management.md for detailed credential handling
- Update README.md with Cloudflare setup instructions
2026-01-21 15:17:38 +00:00
google-labs-jules[bot]
9d93a21039 Bolt: Optimize health check endpoint
💡 What: Separated the /health endpoint from the main dashboard rendering logic. It now returns a lightweight JSON response.
🎯 Why: The previous implementation rendered the full Markdown dashboard for every health check, consuming unnecessary CPU and I/O resources during frequent polling.
📊 Impact: Reduces health check processing time from file reading + markdown parsing (~milliseconds) to a simple JSON return (~microseconds).
🔬 Measurement: Verified with new test script scripts/test_web_dashboard.py and updated render.yaml/app.yaml to use the new endpoint.
2026-01-21 05:17:23 +00:00
GenX FX Trading System
035f01fe7b
Merge pull request #127 from A6-9V/jules-merge-optimizations-update-defaults-11629271208221018204
Merge Dashboard Cache and Update EA Defaults
2026-01-20 23:14:21 +07:00
google-labs-jules[bot]
a7593c589a Add GCP deployment config and update Gemini model
- Create `app.yaml` for Google App Engine Flexible environment.
- Update `scripts/deploy_cloud.py` to support `gcp` argument with specific instructions for project `infra-outrider-snqdt`.
- Update `mt5/MQL5/Experts/SMC_TrendBreakout_MTF_EA.mq5` default `GeminiModel` to `gemini-1.5-pro` and update comments.
2026-01-20 10:49:31 +00:00
google-labs-jules[bot]
5fba7c9c32 Merge web dashboard cache and update EA defaults
Merged `bolt-web-dashboard-cache` optimization into `scripts/web_dashboard.py` to improve documentation rendering performance.
Updated `mt5/MQL5/Experts/SMC_TrendBreakout_MTF_EA.mq5` defaults:
- EnableTrading: true
- RiskPercent: 1.0

Verified frontend functionality and passed all repo validation checks.
2026-01-20 08:52:52 +00:00
google-labs-jules[bot]
0bb468b0be feat(ci): Optimize repo validation with single-pass file checks
- Consolidate file validation logic into a single loop
- Check file size before reading content to prevent loading large files into memory
- Add error handling for file reading
- Reduce I/O operations and loop iterations

This improves the efficiency of the CI validation script, especially for repositories with many files or when large files are accidentally introduced.
2026-01-19 05:04:17 +00:00
NUNA
de4e3c9c38 Add Telegram deployment bot, web dashboard, and deployment automation
- Add Telegram bot (@GenX_FX_bot) for cloud deployment automation
- Add web dashboard with deployment status and quick links
- Add Exness terminal deployment script
- Add dashboard deployment script (Fly.io, Render, GitHub Pages)
- Add personal vault for secure credential storage
- Update deploy_cloud.py with Fly.io deployment automation
- Add GitHub Pages workflow for dashboard auto-deployment
- Add bot setup documentation and deployment guides
2026-01-19 06:08:25 +07:00
google-labs-jules[bot]
6b0f95b374 feat: add web dashboard for cloud deployment
- Implemented a Flask-based web dashboard in `scripts/web_dashboard.py` to serve project status and documentation.
- Integrated the web dashboard into `config/startup_config.json` as a managed component.
- Updated `requirements.txt` with `flask` and `markdown` dependencies.
- Added `/health` endpoint for cloud platform health checks.
- Verified system integrity with existing validation and testing scripts.
2026-01-18 22:52:05 +00:00
GenX FX Trading System
d3c1b849f6
Merge branch 'copilot/install-juless-cli' into perf/optimize-test-automation-222939161259281654 2026-01-19 02:26:24 +07:00