Skip to content

Record prod DDL and start-phase numbers after #501 deploys #502

Description

@FlyM1ss

Follow-up to #501 (Track A of the backtest speed-and-trust design). The plan's
Final verification tables have their local columns filled and their prod
columns deliberately blank, because prod is the only place Neon DDL and
connection setup exist at all — locally every store resolves to its SQLite twin,
which nothing in that PR guards, so a local before/after of ATL_BACKTEST_WORKER
measures exactly zero.

Two readings, both from the deploy that ships #501.

1. Pre-change baseline — the parent's own boot. Open the Render deploy log for
srv-d7lbmpjbc2fs73bcr6t0 and grep 'backend: schema init'. The parent is never a
worker, so it runs every store's DDL against the same Neon databases the child used
to: eleven timed lines, six of which name the twins a child constructs. Those six are
the round trips the child no longer pays. Note which line is preceded by
🏊 pg pool created for … — that store's figure carries the cold handshake for its
URL and the later stores on the same URL do not.

2. After — the child. Launch one onboarding backtest and grep the same log for the
child's schema init skipped (backtest worker) lines and its ⏱ phase /
spawn+interpreter … lines. Expect six skip lines (the six twins its import graph
builds, not eleven) and schema DDL 0.00s in the starting split.

⚠ Do not race a live poll for the phases: /backtest/status exposes phases[]
only while the run is in flight, and the parent unlinks the progress file the moment
it ends (backtests.py:1993). The child prints every transition to stdout and the
parent dumps that into the service log under === BACKTEST SCRIPT OUTPUT ===
(backtests.py:1773), head+tail bounded at 32k each — these lines are at the head, so
truncation cannot eat them.

How to read the result: the child's zero is a check, not a saving — it says the
flag fired. The saving is the parent-boot column. Five skips plus a sixth timed line
means the flag failed to reach one twin, which is exactly the case the timed direction
exists to make visible.

Local numbers already recorded, for comparison: the import probe counts 107
statements over 6 _init_schema calls
before vs 0/0 after; and the dark window
is ~21s of which ~86% is loading_bars, not schema — so do not expect this to be
large in wall-clock terms. The point is to confirm the flag fires in production and to
put a real number on what the parent pays.

Fill both tables in docs/superpowers/plans/2026-09-20-backtest-visible-start.md and
commit on a fresh branch — never on feat/backtest-visible-start after #501 merges
(commits behind a merged PR orphan silently).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions