feat(backend): patient garden — deterministic growth from activities
CI / ruff · pytest (pull_request) Successful in 2m17s
CI / ruff · pytest (pull_request) Successful in 2m17s
GET /api/v1/me/{token}/garden computes the garden on the fly from taken doses,
check-ins/diary and finished questionnaires (no new table). Rules and texts in
config/garden.yaml: per-day caps, points only add up, answers never count.
Refs #118
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Сад (#118, слайд 13): лёгкая геймификация поверх модулей. Расчёт детерминированный, без LLM.
|
||||
# Принципы «без давления» (вычитка — #120):
|
||||
# 1. Сад не вянет: очки только прибавляются, пропуск ничего не отнимает.
|
||||
# 2. Рост не зависит от ответов: считается факт активности, а не баллы шкал или настроение.
|
||||
# 3. Нет соревнования: только свой сад, никаких сравнений.
|
||||
|
||||
# Очки за активность и дневной лимит по каждому типу (чтобы пять одинаковых действий подряд не давали пятикратный рост).
|
||||
activities:
|
||||
meds: # отметка «Принял(а)» по назначенной дозе
|
||||
points: 2
|
||||
daily_cap: 4
|
||||
diary: # ежедневный чек-ин или запись дневника
|
||||
points: 3
|
||||
daily_cap: 1
|
||||
questionnaire: # завершённый опрос (шкала, этап опроса)
|
||||
points: 4
|
||||
daily_cap: 1
|
||||
|
||||
# Каждые step_points очков — один шаг роста. Растения растут по очереди: у каждого stages_per_plant стадий
|
||||
# (росток → стебель → бутон → цветок); распустился один — проклёвывается следующий.
|
||||
step_points: 10
|
||||
stages_per_plant: 4
|
||||
max_plants: 6
|
||||
|
||||
# Название сада по числу шагов роста (берётся последний порог ≤ шагов).
|
||||
titles:
|
||||
- {from_steps: 0, title: "Сад ждёт первых ростков"}
|
||||
- {from_steps: 1, title: "Появились первые ростки"}
|
||||
- {from_steps: 4, title: "Распустился первый цветок"}
|
||||
- {from_steps: 10, title: "Сад растёт"}
|
||||
- {from_steps: 18, title: "Сад цветёт"}
|
||||
- {from_steps: 24, title: "Цветущий сад"}
|
||||
|
||||
# Подписи пунктов «Сегодня».
|
||||
today:
|
||||
meds: "Приём лекарств"
|
||||
diary: "Запись в дневнике"
|
||||
questionnaire: "Назначенный опрос"
|
||||
Reference in New Issue
Block a user