feat(workforce): add interpretation policy config

This commit is contained in:
igor04091968
2026-06-03 13:03:24 +03:00
parent 0302d888f6
commit 7bc1d4170a
7 changed files with 235 additions and 12 deletions
+24
View File
@@ -85,6 +85,30 @@ Worktime API сохраняет daily history как агрегированны
- `AW_WORKTIME_MANAGEMENT_HISTORY_DIR`;
- `AW_WORKTIME_MANAGEMENT_HISTORY_DAYS`;
- `AW_WORKTIME_MANAGEMENT_HISTORY_RETENTION_DAYS`.
Интерпретация трендов настраивается через customer policy:
- пример: `configs/worktime-interpretation-policy.example.json`;
- runtime-файл: `/etc/activitywatch/worktime-interpretation-policy.json`;
- env-путь: `AW_WORKTIME_MANAGER_INTERPRETATION_POLICY`.
Пример policy:
```json
{
"overload_threshold": 0.92,
"underload_threshold": 0.45,
"drop_threshold_pct": 20,
"night_work_after": "20:00",
"weekend_work": true
}
```
`overload_threshold` и `underload_threshold` можно задавать дробью
`0.92`/`0.45` или процентом `92`/`45`; внутри они нормализуются к процентам.
Если policy-файл отсутствует или отдельное поле не задано, используются
env/default значения:
- `AW_WORKTIME_MANAGER_OVERLOAD_COVERAGE_PCT`;
- `AW_WORKTIME_MANAGER_TREND_MIN_POINTS`;
- `AW_WORKTIME_MANAGER_TREND_DELTA_PCT`;
+3
View File
@@ -45,6 +45,9 @@ baseline и раздела `Phase 8: Post-MVP Enhancements`.
`Выводы Workforce`;
- insights включают текущую недогрузку/перегрузку, рост/падение тренда,
просадку относительно нормы, работу вне рабочего окна и выходные;
- пороги интерпретации задаются customer policy
`/etc/activitywatch/worktime-interpretation-policy.json`, публичный пример:
`configs/worktime-interpretation-policy.example.json`;
- `trend_status=daily_only` означает, что месячный тренд еще нельзя
интерпретировать как полноценный отчет; для `monthly_ready` нужна накопленная
daily history;