Intake
Documented CSV templates, browser file preview with headers, validations and per-row errors.
CSV Template
Source URL, report family, participant, CFTC market code, position date, release date, received-at, source revision, long/short and 3-year observations must be explicit.
source_url, report_family, participant, cftc_market_code, position_date, release_date, received_at, source_revision, long_contracts, short_contracts, obs_count_3y- • report_family: legacy_futures_only | legacy_options_futures | traders_futures_only | disaggregated_futures_only
- • position_date / release_date: YYYY-MM-DD
- • received_at: ISO UTC (e.g. 2026-01-05T15:30:00Z)
- • long_contracts / short_contracts / obs_count_3y: numeric
Upload & Preview
Files are previewed and validated in the browser. Uploaded files are private in Cloud with size/type limits and no public buckets. Do not write unvalidated rows or partial failed uploads. Prevent duplicate dates and same-ID changed payloads. Preserve all historical rows.
Persistence
Preview-only — import not connectedThis page is preview and validation only. The persist action is intentionally disabled: it has no save handler, and this CSV template supplies only obs_count_3y — a typed sample count — not the actual ≥150 weekly observations over exactly three calendar years required to verify a COT series. A successful membership lookup is not proof that imports work. Browser-selected files are validated locally; they are not uploaded to private Cloud storage from this page. Actual protected server validators and durable, atomic, idempotent import require the connected atomic backend and an authenticated server write — not enabled here.
Disabled pending the connected atomic import path. You can download templates and review validation now; persistence accurately requires the connected backend and an authenticated server write. No current financial/user data has been supplied — do not seed it.
