feat(mera/b2c): бесплатный лимит анонима — 5 расчётов в месяц
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 10s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m33s
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 10s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m33s
Решение владельца при разборе PR #2546 (16.08.2026): в первой редакции стояло 3. Пять проб — больше шансов, что человек дойдёт до ценности и купит платный отчёт, ценой чуть более высокого потолка злоупотребления. Значение переопределяется переменной окружения ANON_ESTIMATE_QUOTA_LIMIT без выкатки кода, так что пересмотр не требует релиза. Тесты берут лимит из настроек, а не из литерала, поэтому правка их не трогает. Единственное место с числом — _ANON_DEFAULT в тесте передачи произвольного default; там 3 оставлено намеренно и снабжено пояснением, что число специально не совпадает ни с одной настройкой.
This commit is contained in:
parent
ddcd526284
commit
bfe58f9160
2 changed files with 11 additions and 2 deletions
|
|
@ -751,7 +751,13 @@ class Settings(BaseSettings):
|
|||
# чистка cookie обходит этот лимит — цель поднять стоимость злоупотребления,
|
||||
# а не сделать его невозможным (тот же принцип, что и account_estimate_usage
|
||||
# для пилотов). ENV: ANON_ESTIMATE_QUOTA_LIMIT.
|
||||
anon_estimate_quota_limit: int = Field(default=3, validation_alias="ANON_ESTIMATE_QUOTA_LIMIT")
|
||||
#
|
||||
# Значение 5 выбрано владельцем 16.08.2026 при разборе PR #2546 (в первой
|
||||
# редакции стояло 3). Компромисс продуктовый, а не технический: пять проб —
|
||||
# это больше шансов, что человек дойдёт до ценности и купит платный отчёт за
|
||||
# 150 ₽, ценой чуть более высокого потолка злоупотребления. Число легко
|
||||
# пересматривается переменной окружения без выкатки кода.
|
||||
anon_estimate_quota_limit: int = Field(default=5, validation_alias="ANON_ESTIMATE_QUOTA_LIMIT")
|
||||
|
||||
# anon_session_secret: ключ HMAC-подписи анонимного session-cookie (см.
|
||||
# app/core/anon_session.py). Пусто (дефолт) → используется process-local
|
||||
|
|
|
|||
|
|
@ -993,7 +993,10 @@ def test_estimate_real_result_still_increments_quota(estimate_app_ok: FastAPI) -
|
|||
|
||||
|
||||
_ANON_KEY = "anon:fake-session-id:203.0.113.7"
|
||||
_ANON_DEFAULT = 3 # существенно строже MONTHLY_LIMIT (15) — см. settings.anon_estimate_quota_limit
|
||||
# Произвольное число, намеренно НЕ равное ни MONTHLY_LIMIT (15), ни текущему
|
||||
# settings.anon_estimate_quota_limit (5) — тест проверяет, что переданный
|
||||
# default доходит до результата, а не что совпал с какой-то настройкой.
|
||||
_ANON_DEFAULT = 3
|
||||
|
||||
|
||||
def test_user_limit_anon_key_falls_back_to_custom_default() -> None:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue