docs: public landing page
1 changed file +4 −0
modified
docs/STATUS.md
+4 −0
@@ -127,6 +127,10 @@ Interpretation: file selection is by `lake_files` date range, so a 31-day 1m req | |||||
| 127 | | fundamentals MSFT as-of 2015 · instrument search | 21 ms · 41 ms | | 127 | | fundamentals MSFT as-of 2015 · instrument search | 21 ms · 41 ms | | ||
| 128 | How: the API never globs the lake — file lists come from the catalog (`lake_files`, indexed by dataset/date and dataset/symbol); the SQL playground/assistant extract symbol / underlying / year / date predicates from the statement and build the same explicit file list (fast path); statements without any such predicate fall back to a Hive directory scan (30–60 s to list a 170 k–320 k-file dataset) and are documented as slow. | 128 | How: the API never globs the lake — file lists come from the catalog (`lake_files`, indexed by dataset/date and dataset/symbol); the SQL playground/assistant extract symbol / underlying / year / date predicates from the statement and build the same explicit file list (fast path); statements without any such predicate fall back to a Hive directory scan (30–60 s to list a 170 k–320 k-file dataset) and are documented as slow. | ||
| 129 | 129 | ||||
| 130 | +## Public landing page (2026-11-02, owner decision) | ||||
| 131 | +- `/` and `/docs/` are readable without an account: catalog-level metrics from `GET /api/v1/public/overview` (rows, bytes, files, datasets, symbol counts and date ranges, options/fundamentals totals, freshness, free space, backup state, platform status). No data rows, no paths, no secrets; cached 120 s, rate-limited per IP. | ||||
| 132 | +- Every data route (bars, SQL, exports, fundamentals, symbols, coverage, quality) and all admin routes still require a session or an API key (FirstRate license: no redistribution of raw data). Verified anonymously in headless Chromium at 375 px and 1280 px: landing renders, `/bars/` redirects to `/login/?next=…`, `GET /market/bars` without auth → 401. | ||||
| 133 | + | ||||
| 130 | ## Known limitations after the full load | 134 | ## Known limitations after the full load | ||
| 131 | - Whole-dataset SQL scans without a symbol or date predicate are slow (directory listing of up to 320 k files); use predicates, the `*_1d_*` datasets for cross-sections, or exports. | 135 | - Whole-dataset SQL scans without a symbol or date predicate are slow (directory listing of up to 320 k files); use predicates, the `*_1d_*` datasets for cross-sections, or exports. | ||
| 132 | - The cold root (external SSD, ≈ 1.3 TB incl. raw archives) is not in the nightly backup (re-downloadable; catalog restore recreates the file list). The hot root + Postgres are backed up nightly (first full-catalog backup 04:04 → 04:41). | 136 | - The cold root (external SSD, ≈ 1.3 TB incl. raw archives) is not in the nightly backup (re-downloadable; catalog restore recreates the file list). The hot root + Postgres are backed up nightly (first full-catalog backup 04:04 → 04:41). | ||
| 133 | 137 | ||||