Commit graph

75 commits

Author SHA1 Message Date
google-labs-jules[bot]
1b82a2865d Optimize branch analysis in PR review script
- Modified `scripts/review_pull_requests.py` to filter `git for-each-ref` output by unmerged branches.
- Reduces algorithmic complexity from O(N) to O(M) where N is total branches and M is active branches.
- Avoids expensive `ahead-behind` calculations for potentially thousands of stale merged branches.
2026-02-09 05:06:55 +00:00
google-labs-jules[bot]
643c712228 docs: update VPS and terminal configuration metadata 2026-02-09 01:03:32 +00:00
GenX FX Trading System
aa6632ee80
Merge branch 'copilot/install-juless-cli' into bolt-optimize-git-review-rev-list-count-10239882398315046114 2026-02-09 07:18:44 +07:00
google-labs-jules[bot]
151f18724c Optimize market data processing loop and fix logic error 2026-02-08 20:49:39 +00:00
google-labs-jules[bot]
644c00e696 🎨 Palette: Add skip-to-content link for accessibility 2026-02-08 11:20:56 +00:00
google-labs-jules[bot]
92e5a0540b perf: optimize PR review script using git rev-list
- Replaced O(N) `git log` parsing with O(1) `git rev-list --count` for branch commit counts.
- Updated `get_all_branch_details` to return an empty `commits` list to ensure consistent data structure with `get_branch_info`, preventing potential runtime errors.
- Changed base branch reference from `main` to `origin/main` to support CI/CD environments and shallow clones where local `main` might be missing.
- Removed unused `commits` list generation in `get_branch_info` to improve fallback performance.
2026-02-08 05:36:14 +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