Три задачи в temp-репозитории: implementer'ы deepseek-flash, все ревью deepseek-v4-pro. Ревьюер Task 2 независимо нашёл T2.1 (медиана чётной длины противоречит спеке) и T2.2 (нет теста), fix-раунд 1 → 186575c, скоуп-ре-ревью APPROVED, финальное ревью ветки APPROVED. Режим 2 (фоновый контроллер, глубина 2) проверен отдельной пробой: вызов subagent из контроллера прошёл. Артефакты прогона — openspec/changes/dsh-sdd/trial/ (план, спека, брифы, отчёты, ledger), результаты — design.md. По урокам прогона skill sdd уточнён: DONE_WITH_CONCERNS при замеченном расхождении, число тестов в плане — ориентир, повтор при ошибке валидации provider/model. Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>
520 B
520 B
Spec: stats
Module src/stats.py. Plain functions over a list of numbers. No third-party
dependencies; Python 3.8+ stdlib only.
mean(values)
Returns the arithmetic mean as float. Raises ValueError("empty") on an
empty list.
median(values)
Returns the median as float and does not mutate values.
- Odd length: the middle element.
- Even length: the mean of the two middle elements.
- Empty list:
ValueError("empty").
describe(values)
Returns {"count": int, "mean": float, "median": float}.