mt5-httpapi v4.12.0 — CI covers the stack, vendored binaries are gated make verify-binaries: every tracked executable must be declared in assets/binaries.lock.json with its sha256, upstream and signature state. An undeclared binary, a changed one, or a degraded signature fails the build, and it runs first in make test so CI enforces it on every PR. It immediately documents scripts/defender-remover/PowerRun.exe, which arrived repacked through the defender-remover toolkit: malformed certificate directory, hash matching no upstream Sordum release, signature unverifiable. Not known to be malicious, but no longer silent. The unit suite goes from 244 to 379. Everything that previously only ran against a live terminal now runs in CI through the real Flask app against a scripted SDK. mt5client, monitor and the Go client get their first coverage, and the healthcheck awk program is tested by executing it rather than grepping its source. Coverage for mt5api is gated at 62 percent, currently 75. Fixed: non-finite durations raised OverflowError and surfaced as a 500 instead of a 400; the backtest timeout was unbounded while holding the terminal's run lock; prune_old_jobs rmtree'd a path built from a jobId read out of a state file; check_health.py degraded silently when its per-VM filter import failed.