- цель parsing-and-storage закрыта по своему критерию; незакрываемый остаток (новые формы от источника, ручные секции задним числом) переехал в тему parsing-completeness - цель mcp поглощена целью read-api, переименованной в «Чтение данных клиентами»: адаптер — последний шаг того же направления, а не своё - read-api-points разложена на конверт с точками, свёртку по сетке и тренировки с записями; спринт 2026-08-04 набран пятью задачами
6.2 KiB
План
Оглавление целей. Цель — файл [goal] в items/; её задачи
здесь не перечисляются — перечень даёт tasks.py list --goal <слаг>.
В первой секции («порядок») очередь значима и обосновывается
прозой; в остальных порядка нет — это тематические цели.
Что уже пройдено
Каркас и приём без разбора закрыты. Метрики, тренировки и записи со своими id
разбираются и ложатся в часовые объекты. reindex проигрывает журнал в свежую
витрину, отпечатки сравниваются, повторный прогон ничего не меняет. Род
агрегации измерен: сверка минутного слоя с часовым разложила метрики живого
корпуса на накопительные и мгновенные, не сойдясь ни на одной, и каталог
разрезов отдаётся первым маршрутом чтения. Разведка закончена — правило вывода
слоя, модель идентичности и формы точки проверены на живом потоке
(research/apple-health.md).
Разбор и хранилище закрыты 2026-08-04. Ни одна секция живого потока не числится неразобранной, категориальные значения несут стабильный код рядом с переведённой строкой, а первая встреча незнакомой секции стала наблюдаемым событием. То, что заканчиваться не умеет по природе — новые формы от источника и ручные секции задним числом, — переехало в тему «Полнота разбора потока».
Эти звенья целями не заведены: закрытая цель записи не оставляет, ей хватает коммита и спеки.
Почему в таком порядке
- Каталог и род агрегации — перед Read API. Без измеренного рода свёртка в ответе неотличима от угадывания, а ошибиться здесь дорого: просуммировать нижний слой значит завысить втрое. Это звено уже закрыто.
healthlog import— перед устареванием нижнего слоя. Пока импорт экспорта не написан, помечать что-либо устаревшим не на основании чего.- MCP — внутри чтения, а не отдельной целью. Прежде было две цели, и разделяла их очередь: адаптер собственной логики не несёт, он переводит вызовы в те же обработчики, и переводить было нечего. Очередь осталась — порядком задач внутри цели, — а отдельная цель под адаптер описывала не направление, а последний шаг того же направления.
порядок
- [goal] Чтение данных клиентами — Данные видны только через sqlite на хосте — ни один из трёх потребителей, включая агента-медика, ничего прочитать не может
- [goal] Самоописание — Метрик больше сотни и формы точек разные — клиент вынужден угадывать структуру по выборке
- [goal] Импорт родного экспорта Apple — Слой sample пуст: полная история и точные сэмплы лежат в zip-архиве и никуда не едут
- [goal] Устаревание нижнего слоя — Нижний слой растёт на ~100 тысяч координат в сутки, а после экспорта Apple он избыточен
- [goal] Наблюдаемость — Тихо сломавшаяся автоматизация — главный эксплуатационный риск, а сейчас факт виден только в логах
- [goal] Деплой — Сервис живёт на рабочей машине — телефон достаёт до него только дома, и оба контура открыты
темы
- [goal] Прочность слияния и идентичности — Правила слияния держатся на замерах, и каждый новый замер находит зависимость от порядка на проводе
- [goal] Журнал и пересборка — Расхождение витрины с журналом сейчас молчит: reindex печатает оба отпечатка, а сравнивать их некому
- [goal] Пределы и поведение под объёмом — Предела на одну сущность нет вовсе: 63 МиБ держат блокировку 5.019 с, соседние доставки уходят в failed
- [goal] Полнота разбора потока — Пять секций HAE поток ещё не приносил, а ручные секции заводятся задним числом — разбор полон ровно до следующей новой формы