Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ 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 routine reads the symbol list from marketdata's `registry.yaml`**
(every entry with a `tradingview:` key), not from the file's own table, which is now for
the reader only. The build refuses any registry series symbol with no raw files, so a
routine on a fixed table failed every build from the night the registry grew; now a
registry change is the only step. Found the day marketdata #33 added two series.
- **`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
Expand Down
24 changes: 18 additions & 6 deletions docs/examples/windows/series-routine.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,21 @@ Do these in order, and nothing else.
1. **Load the TradingView tool schema.** The connector's tools are deferred; one schema-load
call for `get_ohlcv` (the tool named `mcp-tv-get-ohlcv`) is required before it can be
called.
2. **One bars call per symbol** in the table below: `symbol` as listed, `interval` `1D`,
`count` `10`. If a call fails, skip that symbol and continue; the build will refuse it by
name and the later routine will retry.
2. **Read the symbol list from the registry**, never from memory and never from the table
at the bottom of this file. The registry is
`REPLACE_WITH_CODE_ROOT\marketdata\src\marketdata\registry.yaml`. Every symbol entry
in it that carries a `tradingview:` key is one to pull: the entry's own name (the mapping
key, such as `NASDAQ_FOMO_5D`) is the folder name in step 4, and the `tradingview:` value
(such as `INDEX:NCFD`) is the `symbol` for the call. Ignore every entry without that key.
Then make **one bars call per symbol** found: `interval` `1D`, `count` `10`. If a call
fails, skip that symbol and continue; the build will refuse it by name and the later
routine will retry.

Why the registry and not the table: the build refuses any registry series symbol that has
no raw files, as a missed pull, and a symbol added to the registry is pulled by nothing
else. A routine working from a stale table would fail every build from the night the
registry grew until someone edited the table. Reading the registry makes a registry change
the only step.
3. **Write each tool result verbatim** to
`REPLACE_WITH_MARKETDATA_STORE_PATH\_raw\tradingview\<INTERNAL>\<YYYY-MM-DD>.json`, where
`YYYY-MM-DD` is today's date in US Eastern time. Verbatim means the complete JSON object
Expand All @@ -81,9 +93,9 @@ routine's to fix).

## The symbols

From marketdata's `registry.yaml`, classes `Market Breadth` and `Options Sentiment`. The
registry is the authority; if it and this table differ, the registry wins, and this table is
due an edit.
For the reader, not the routine: the routine reads the registry (step 2), and this table is
what the registry held on 2026-09-17. If it and the registry differ, the registry is right and
this table is out of date.

| internal (folder name) | `symbol` for the call |
|---|---|
Expand Down
Loading