Summary
Operator action: Bulk EOD has been bridged into price_history coverage for the latest landed date; keep symbol-level FMP calls as fallback only.
Bulk EOD selection policy: newest_request_date_success_unless_newer_attempt_failed. Latest attempted bulk EOD: date_2026_07_17 / succeeded; latest successful bulk EOD: date_2026_07_17.
Bulk datasets available/succeeded/restricted: 18/18/0 of 18 registered.
Daily Maintenance Decision
Daily recommendation: Latest bulk coverage is clean; recent older fallback or empty rows should stay in a small review queue rather than becoming daily baseline work.
This is a local metadata check only: it does not call FMP, place orders, or start data jobs.
Daily FMP Delta Policy
Derived policy for keeping FMP daily updates sustainable after bulk history: bridge bulk EOD first, skip broad symbol-level price calls when the latest date is clean, and keep older fallback/empty rows in a bounded cleanup queue.
| Policy Area | Status | Observed | Required | Gap / Review | Ratio | Daily Update Policy | Operator Action |
|---|---|---|---|---|---|---|---|
| latest_bulk_bridge_gate | bulk_bridge_current | 0 | 0 | 0 | run_bulk_bridge_before_symbol_fallback | Latest landed bulk EOD is bridged into price_history; symbol-level fallback is not the daily baseline. | |
| latest_date_symbol_fallback_gate | skip_symbol_fallback_for_latest_date | 0 | 0 | 0 | bulk_first_symbol_fallback_only | Latest bulk date has no symbol-level fallback rows; skip symbol-level price calls for this date. | |
| latest_date_empty_coverage_gate | latest_date_empty_coverage_clean | 0 | 0 | 0 | do_not_spend_broad_calls_on_empty_rows | Latest bulk date has no empty coverage rows. | |
| historical_fallback_review_queue_gate | historical_fallback_review_queue_present | 106389 | 0 | 10 | historical_cleanup_not_daily_baseline | Older fallback or empty rows are a cleanup queue; do not promote them into the daily refresh baseline. | |
| aggregate_daily_fmp_delta_policy | bulk_first_ready_with_historical_review_queue | 3 | 4 | 1 | 0.75 | bulk_first_daily_updates_keep_cleanup_queue_separate | Run bulk EOD and bridge first; keep older fallback and empty coverage rows in a bounded cleanup queue. |
Post-Bulk Daily Maintenance Manifest
This manifest answers what should remain after the paid bulk backfill: use bulk EOD plus the bridge as the daily baseline, and keep symbol-level fallback bounded to proven coverage gaps. It is local/read-only and does not call FMP.
Manifest action: Use bulk EOD plus bridge as the daily baseline; keep older fallback/empty rows in a bounded cleanup queue.
Preflight Checks
| Check | Status | Observed | Required | Operator Action |
|---|---|---|---|---|
| latest_bulk_eod_landed | passed | succeeded | succeeded | Latest selected bulk EOD landing succeeded. |
| latest_bulk_bridge_current | passed | 0 | 0 | Latest landed bulk EOD is bridged into price_history. |
| latest_date_symbol_fallback | skip | 0 | 0 | No latest-date symbol-level fallback rows are needed. |
| latest_date_empty_coverage | passed | 0 | 0 | No latest-date empty coverage rows are visible. |
| historical_cleanup_queue | bounded_cleanup_queue | 106389 | 0 | Treat older fallback/empty rows as bounded cleanup, not the daily baseline. |
Run Sequence
| Step | Command |
|---|---|
| 1 | .\scripts\run-fmp-bulk-data-foundation.ps1 -Dataset fmp_eod_bulk -Date '2026-07-17' -RunKind daily -TriggeredBy schedule |
| 2 | .\scripts\publish-fmp-bulk-eod.ps1 -Date '2026-07-17' -Workers 24 -DryRun |
| 3 | .\scripts\publish-fmp-bulk-eod.ps1 -Date '2026-07-17' -Workers 24 |
| 4 | .\scripts\write-fmp-daily-delta-readiness.ps1 |
| 5 | .\scripts\publish-fmp-api-updates.ps1 -Scope '<TARGET_SYMBOLS_FROM_FALLBACK_REVIEW>' -Workers 4 |
| 6 | .\scripts\write-fmp-daily-delta-readiness.ps1 |
Forbidden Actions
- Do not make broad symbol-by-symbol FMP price-history calls while the latest bulk bridge is current.
- Do not treat historical fallback cleanup as the daily baseline.
- Do not run fallback publication before the latest landed bulk EOD bridge has been reviewed.
- Do not use this report to start provider calls automatically; it is a local readiness manifest.
Fallback Review Queue
Rows are local coverage metadata, not provider calls. Priority rows identify latest-date coverage problems first; older rows remain cleanup evidence unless a model gate asks for targeted backfill.
| Date | Status | Priority | Bulk Bridge | Symbol-Level | Empty | Review Rows | Latest Observed | Operator Action |
|---|---|---|---|---|---|---|---|---|
| 2026-06-30 | historical_fallback_review_queue | 4 | 0 | 16685 | 8315 | 25000 | 2026-07-02T04:03:53.193484+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-01 | historical_fallback_review_queue | 4 | 29708 | 0 | 15 | 15 | 2026-07-03T01:32:41.421857+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-03 | historical_fallback_review_queue | 4 | 41852 | 0 | 44755 | 44755 | 2026-07-06T07:37:49.593605+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-06 | historical_fallback_review_queue | 4 | 62454 | 6318 | 19001 | 25319 | 2026-07-07T20:04:17.630935+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-07 | historical_fallback_review_queue | 4 | 62053 | 61 | 11172 | 11233 | 2026-07-08T09:28:16.256566+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-08 | historical_fallback_review_queue | 4 | 61767 | 1 | 12 | 13 | 2026-07-15T10:09:17.489810+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-09 | historical_fallback_review_queue | 4 | 61533 | 1 | 12 | 13 | 2026-07-15T10:09:17.354796+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-10 | historical_fallback_review_queue | 4 | 67919 | 1 | 12 | 13 | 2026-07-15T10:09:17.751260+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-13 | historical_fallback_review_queue | 4 | 62217 | 2 | 12 | 14 | 2026-07-16T03:08:01.552204+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-14 | historical_fallback_review_queue | 4 | 63786 | 0 | 14 | 14 | 2026-07-16T03:08:02.067411+00:00 | Keep this as bounded cleanup/review evidence, not a daily baseline provider call. |
| 2026-07-17 | latest_bulk_clean | 8 | 62621 | 0 | 0 | 0 | 2026-07-19T01:34:31.130992+00:00 | Latest bulk bridge date is clean; skip symbol-level price calls. |
| 2026-07-02 | historical_bulk_clean | 9 | 25097 | 0 | 0 | 0 | 2026-07-03T02:20:34.836559+00:00 | No daily action. |
| 2026-07-15 | historical_bulk_clean | 9 | 63326 | 0 | 0 | 0 | 2026-07-16T03:53:53.906135+00:00 | No daily action. |
| 2026-07-16 | historical_bulk_clean | 9 | 61482 | 0 | 0 | 0 | 2026-07-17T01:47:00.310840+00:00 | No daily action. |
Recent Price Coverage
| Date | Bulk Bridge Succeeded | Symbol-Level Succeeded | All Succeeded | Empty | Latest Observed |
|---|---|---|---|---|---|
| 2026-07-17 | 62621 | 0 | 62621 | 0 | 2026-07-19T01:34:31.130992+00:00 |
| 2026-07-16 | 61482 | 0 | 61482 | 0 | 2026-07-17T01:47:00.310840+00:00 |
| 2026-07-15 | 63326 | 0 | 63326 | 0 | 2026-07-16T03:53:53.906135+00:00 |
| 2026-07-14 | 63786 | 0 | 63786 | 14 | 2026-07-16T03:08:02.067411+00:00 |
| 2026-07-13 | 62217 | 2 | 62219 | 12 | 2026-07-16T03:08:01.552204+00:00 |
| 2026-07-10 | 67919 | 1 | 67920 | 12 | 2026-07-15T10:09:17.751260+00:00 |
| 2026-07-09 | 61533 | 1 | 61534 | 12 | 2026-07-15T10:09:17.354796+00:00 |
| 2026-07-08 | 61767 | 1 | 61768 | 12 | 2026-07-15T10:09:17.489810+00:00 |
| 2026-07-07 | 62053 | 61 | 62114 | 11172 | 2026-07-08T09:28:16.256566+00:00 |
| 2026-07-06 | 62454 | 6318 | 68772 | 19001 | 2026-07-07T20:04:17.630935+00:00 |
| 2026-07-03 | 41852 | 0 | 41852 | 44755 | 2026-07-06T07:37:49.593605+00:00 |
| 2026-07-02 | 25097 | 0 | 25097 | 0 | 2026-07-03T02:20:34.836559+00:00 |
| 2026-07-01 | 29708 | 0 | 29708 | 15 | 2026-07-03T01:32:41.421857+00:00 |
| 2026-06-30 | 0 | 16685 | 16685 | 8315 | 2026-07-02T04:03:53.193484+00:00 |