Publish the Cloudflare terminal and documentation
The trading backend was retired on September 14, 2026. There is no trading API or daemon deployment target. Cloudflare hosts a separate workspace authentication API. Hosting and retirement status is the current source of truth; old runtime runbooks are historical.
Supported publication paths
- Validate changes locally using the repository virtualenv: Ruff lint and
format, the CI strict-mypy module subset, and the hermetic pytest suite.
Exclude
paperandintegrationtests; do not load broker credentials. - For web/auth changes, run the Worker tests in
qgtm_edgeand the frontend lint/static build inqgtm_webusing their checked-in lockfiles. Use a fresh branch and PR; hosted CI is the authoritative check. - After the approved merge, web/edge changes publish the private authentication
Worker, preserve its founder-hash secrets, and publish Pages with
QGTM_APIbound toqgtm-terminal-api. Docs changes publishqgtm-docs. These workflows cannot restart trading. - Verify
qgtmai.com(orwww.qgtmai.com):/healthreports Cloudflare auth availability and an offline trading runtime; an anonymous session GET returns - Sign in, reload, open Research/Learn, sign out and verify the protected
route requires sign-in again. The
qgtm-trading.pages.devasset host is not an allowed login origin. A valid session must not imply an active trading engine or display fabricated account data. Do not probe historical destructive endpoints. - Preserve the Pages Functions Fail closed quota setting in the Cloudflare dashboard. Do not bypass authentication when a service is unavailable.
- Verify
qgtm-docs.pages.devand its current hosting-status page load.
The web workflow retains its historical filename
deploy-web-self-hosted.yml, but now uses ubuntu-latest. The docs and PR-logger
workflows also use hosted runners. No self-hosted runner or DigitalOcean account
resource is needed to publish these Cloudflare surfaces.
Retired controls
Droplet API deploy, start/stop/restart, monitoring deployment, forced rebalance, runner restart/reboot, and broker-backed reports/backtests cannot execute: every legacy job has a literal false job condition. Manual attempts receive a retirement error without secrets, checkout, SSH, or broker calls. Do not rerun historical workflow runs: they use their original YAML.
Cloudflare Pages rollback can restore an earlier compatible, verified web deployment if publication is broken. Check its service binding and authentication Worker compatibility; Pages rollback does not roll back Durable Object session state or Worker secrets. Do not restore a frontend that routes authentication or account requests to the removed droplet.