From d5e21fde987d9fe12f145c5180c25edab0d2b2e0 Mon Sep 17 00:00:00 2001 From: Matt Spinola Date: Thu, 17 Sep 2026 22:03:16 -0400 Subject: [PATCH] series-routine.md: the backfill section records the persisted-result path actually used The first fill on 2026-09-17 did not go through a chart export. A count=5000 connector pull exceeds the harness's tool-result limit and is persisted verbatim to a file before the model sees it, so that file is the raw file, copied unchanged into the raw directory: no transcription, no export. The section now leads with that path, keeps the CSV export as the second, and notes the two vendor conventions the fill surfaced (a count of zero printed as 0.01, zero-close holes on the equity put/call ratio), which the build handles since marketdata 0.3.2. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 4 +++ docs/examples/windows/series-routine.md | 41 +++++++++++++++++++------ 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ecb50e..33e0f2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Bash tool is Git Bash, which rewrites a lone `/c` into a Windows path before cmd sees it. Found on the first supervised run, which wrote all eleven raw files correctly and then failed at the wrapper with `'ode' is not recognized`. +- **`series-routine.md`'s backfill section records the path actually used**: a `count=5000` + connector pull is persisted verbatim by the harness before the model sees it, so the file + is copied into the raw directory with no transcription and no chart export. The CSV export + stays as the second path. The two vendor conventions the first fill surfaced are noted. ### Removed — BREAKING diff --git a/docs/examples/windows/series-routine.md b/docs/examples/windows/series-routine.md index 975bb56..0a085bc 100644 --- a/docs/examples/windows/series-routine.md +++ b/docs/examples/windows/series-routine.md @@ -110,12 +110,35 @@ which. Next morning `verify-scheduling.ps1` reports the series freshness row gre ## Backfill, once, and not through the routine -A first fill of history is not a `count=5000` pull through the routine: writing five thousand -bars verbatim through the model is slow, expensive and, with no stored bars to overlap, has -nothing to catch a slip. Use TradingView's own chart export instead: open each symbol on a 1D -chart, Export chart data, CSV. That file is exact and needs no transcription. Convert it with -marketdata's CSV import (`marketdata-update --tradingview-csv --symbols `, -which writes a raw file in the connector's shape so the same build and the same guards apply), -then run `marketdata-update --build-tradingview --expect-session none` once, then let the -evening routine take over. The registry anchors are checked on that build: for -`NASDAQ_FOMO_5D` the 2026-07-29 close must read 48.05. +A first fill of history is not a job for the routine: the routine writes what the model +returns, and with no stored bars for the overlap guard to check against, nothing would catch +a slip in a five-thousand-bar transcription. Two exact paths exist, and both feed the same +build and the same guards. Done 2026-09-17 by the first. + +**Persisted tool results, from any Claude session.** A `get_ohlcv` call with `count` `5000` +returns more than the harness's tool-result limit, so the harness saves the connector's +response VERBATIM to a file under the session's `tool-results` directory before the model +sees it. That file is the raw file: copy it, unchanged, to +`REPLACE_WITH_MARKETDATA_STORE_PATH\_raw\tradingview\\-backfill.json` +(over the share from a Mac, or locally on the box). No transcription and no export. Validate +each file with the build's own parser before placing it if you can (`parse_raw` and +`check_anchors` in `marketdata.providers.tradingview`); the build will refuse it anyway if +not. The `count` cap is 5000 bars, which reaches 2006 on the older series and is the whole +published history on the newer ones. + +**TradingView's chart export, when a session is not to hand.** Open each symbol on a 1D +chart, scroll all the way back so the whole history has loaded (the export contains only +loaded bars), then Export chart data, CSV. Convert it with +`marketdata-update --tradingview-csv --symbols `, one file per call, which +writes a raw file in the connector's shape. + +Then, either way, one build with the gate off, since a backfill is a snapshot rather than +tonight's pull: + + marketdata-update --build-tradingview --expect-session none + +The registry anchors are checked on that build: for `NASDAQ_FOMO_5D` the 2026-07-29 close must +read 48.05. Two vendor conventions the build handles on its own, seen on that first fill: a +count of zero is printed as 0.01 and is stored as 0, and a put/call ratio bar with a zero +close is a vendor hole, dropped and named in the output. Then let the evening routines take +over; from the next night on they only ever add today's bar.