Article:
- edit all sections, shorten schema drift story,
drop the useful-links and warning sections, keep first-level TOC only
- add "Тестирование" with three 750 px screenshots (docs/images)
- add "Содержание архива" with file versions
Code:
- ServiceStateWriter.mq5: use TERMINAL_DATA_PATH (portable-only), replace
ExecutePragma() with DatabaseExecute(), use built-in
ERR_DATABASE_NO_MORE_DATA, align comments with the article
- deploy_service.py: skip compilation when .ex5 is newer than the source
- bump versions: main.py 0.3.0, config.py 0.2.0, static/script.js 0.2.0
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Wraps the manual steps we kept redoing after every schema/service
change: sync each terminal's Shared Projects copy via git, compile the
service, and drop config/services.ini into place.
Per-terminal headless MetaEditor compilation proved unreliable in
testing - it can exit 0 without producing a log or touching the .ex5,
seemingly needing an interactive desktop session. The script compiles
once against the repo's own working tree instead and copies the
resulting .ex5 to the other terminals, verifying success by checking
the file's mtime actually changed rather than trusting the exit code.