fix(site-finder): non-overlapping L2/L3 ready_dt windows, stop double-count of 13-24mo supply (#1355) #1677

Merged
lekss361 merged 1 commit from fix/supply-layers-overlap-1355 into main 2026-06-17 17:45:09 +00:00
Owner

Проблема (#1355)

_L2_HIDDEN_SQL не имел фильтра по ready_dt вообще → тянул все dom.rf объекты независимо от срока сдачи. Объект с ready_dt=now+18mo попадал и в L2 (hidden), и в L3 (future) → двойной учёт стока 13–24 мес.

Решение

Полуоткрытые непересекающиеся интервалы по границе now+12mo:

  • L2: ready_dt IS NULL OR ready_dt <= now+12mo (NULL = уже сдаётся → L2)
  • L3: ready_dt > now+12mo (без изменений)

Константа _L2_NEAR_HORIZON_MONTHS=12 в пару к _L3_FUTURE_HORIZON_MONTHS. L1/L2 — разные source-таблицы, overlap'а нет.

Verify

  • ruff clean, py_compile ok; pytest -k "supply or layer"334 passed.

Closes #1355

## Проблема (#1355) `_L2_HIDDEN_SQL` не имел фильтра по `ready_dt` вообще → тянул все dom.rf объекты независимо от срока сдачи. Объект с `ready_dt=now+18mo` попадал и в L2 (hidden), и в L3 (future) → двойной учёт стока 13–24 мес. ## Решение Полуоткрытые непересекающиеся интервалы по границе `now+12mo`: - L2: `ready_dt IS NULL OR ready_dt <= now+12mo` (NULL = уже сдаётся → L2) - L3: `ready_dt > now+12mo` (без изменений) Константа `_L2_NEAR_HORIZON_MONTHS=12` в пару к `_L3_FUTURE_HORIZON_MONTHS`. L1/L2 — разные source-таблицы, overlap'а нет. ## Verify - `ruff` clean, `py_compile` ok; `pytest -k "supply or layer"` → **334 passed**. Closes #1355
lekss361 added 1 commit 2026-06-17 17:31:14 +00:00
fix(site-finder): non-overlapping L2/L3 ready_dt windows, stop double-count of 13-24mo supply (#1355)
Some checks failed
CI / changes (push) Successful in 10s
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (push) Has been skipped
CI / openapi-codegen-check (push) Successful in 1m52s
CI / backend-tests (push) Failing after 8m55s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m47s
CI / backend-tests (pull_request) Failing after 9m0s
be68ba8f54
lekss361 merged commit ea32f064c1 into main 2026-06-17 17:45:09 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1677
No description provided.