Skip to content

Commit 016326c

Browse files
committed
docs: fix Milestone 9 ordering in ROADMAP.md
1 parent f1248c6 commit 016326c

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

ROADMAP.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -125,22 +125,6 @@ OpenFarm **Phase 5 (Historical Data Backfill) is complete**. The platform delive
125125
- [x] Alembic migrations for detected boundaries, nullable job field_id, updated_at
126126
- [x] i18n translations (English + Spanish) for all detection UI
127127

128-
## Milestone 9 — Historical Data Backfill ✅
129-
130-
- [x] Backfill orchestrator task — splits 24-month range into 90-day chunks, dispatches one job per (chunk × index) with staggered countdowns
131-
- [x] Chunk-level and index-level deduplication — skips chunks/indices where raster data already exists
132-
- [x] Alert suppression — backfill pipeline runs do not create alerts (`is_backfill` flag in `params_json`)
133-
- [x] Auto-trigger on field creation — new fields automatically get 24 months of all 4 vegetation indices
134-
- [x] Weekly auto-compute Celery Beat schedule (`schedule_weekly_index_compute`) — Monday 06:00 UTC, skips fresh fields
135-
- [x] Manual backfill API: `POST /fields/{id}/backfill-indices` (admin/owner, rate-limited 1/min)
136-
- [x] Backfill status API: `GET /fields/{id}/backfill-status` — pending, running, completed job counts
137-
- [x] Endpoint-level deduplication — 409 Conflict if backfill already in progress
138-
- [x] Sentinel job pattern — synchronous placeholder job before async dispatch to prevent race conditions
139-
- [x] Batch backfill task (`backfill_all_existing_fields`) for retroactive backfill of all org fields
140-
- [x] Backfill History button on Indices tab with active-backfill detection and progress banner
141-
- [x] Config settings: `index_backfill_months` (24), `index_backfill_chunk_days` (90)
142-
- [x] i18n translations (English + Spanish) for all backfill UI strings
143-
144128
## Milestone 8 — Weather Data Integration ✅
145129

146130
- [x] `weather_daily` table with 18 raw variables + 5 derived indices + metadata
@@ -163,6 +147,22 @@ OpenFarm **Phase 5 (Historical Data Backfill) is complete**. The platform delive
163147
- [x] Config settings: Open-Meteo URLs, backfill days, batch size, GDD base temp, heat stress threshold
164148
- [x] i18n translations (English + Spanish) for all weather UI strings
165149

150+
## Milestone 9 — Historical Data Backfill ✅
151+
152+
- [x] Backfill orchestrator task — splits 24-month range into 90-day chunks, dispatches one job per (chunk × index) with staggered countdowns
153+
- [x] Chunk-level and index-level deduplication — skips chunks/indices where raster data already exists
154+
- [x] Alert suppression — backfill pipeline runs do not create alerts (`is_backfill` flag in `params_json`)
155+
- [x] Auto-trigger on field creation — new fields automatically get 24 months of all 4 vegetation indices
156+
- [x] Weekly auto-compute Celery Beat schedule (`schedule_weekly_index_compute`) — Monday 06:00 UTC, skips fresh fields
157+
- [x] Manual backfill API: `POST /fields/{id}/backfill-indices` (admin/owner, rate-limited 1/min)
158+
- [x] Backfill status API: `GET /fields/{id}/backfill-status` — pending, running, completed job counts
159+
- [x] Endpoint-level deduplication — 409 Conflict if backfill already in progress
160+
- [x] Sentinel job pattern — synchronous placeholder job before async dispatch to prevent race conditions
161+
- [x] Batch backfill task (`backfill_all_existing_fields`) for retroactive backfill of all org fields
162+
- [x] Backfill History button on Indices tab with active-backfill detection and progress banner
163+
- [x] Config settings: `index_backfill_months` (24), `index_backfill_chunk_days` (90)
164+
- [x] i18n translations (English + Spanish) for all backfill UI strings
165+
166166
---
167167

168168
## Future Ideas (Post-MVP)

0 commit comments

Comments
 (0)