30 lines
4.6 KiB
Markdown
30 lines
4.6 KiB
Markdown
# Атомарность и контекст
|
||
|
||
В основе 22 последовательных этапа и 275 карточек, включая stage gates. Карточка реализации — один module/behavior/adapter или один UI component, контракт/research — один документ с focused spike, QA gate — проверка готовых artifacts, а не реализация всего этапа.
|
||
|
||
## Для небольшой модели
|
||
|
||
- Не читать tasks.json, все карточки и все specs подряд: использовать next/show/packet.
|
||
- Packet включает task outcome/scope/steps/acceptance, exact requirement text, относящиеся секции оригинальных документов и evidence paths прямых dependencies.
|
||
- Размер packet ограничен 48 000 символами; его превышение запрещает генерацию, а не обрезает требования.
|
||
- Максимум одного packet проверяется для всех карточек тестом. Остальной бюджет контекста отведён роли, contracts и небольшому исходному модулю.
|
||
- Один focused input/output, обычно 1–3 production files и focused tests. Scope patterns означают разрешение, не требование создать все перечисленные файлы/расширения.
|
||
- Shared interfaces читаются через реестр и accepted ADR; модель не изобретает API зависимости.
|
||
- Сложность crypto interoperability не устраняется размером карточки: использовать принятый backend/vector либо конкретный blocker.
|
||
|
||
## Когда split обязателен
|
||
|
||
Если outcome требует несколько несвязанных user flows, изменения многих shared modules, чтения всего приложения или packet+sources не помещаются в разумный бюджет — текущий агент оформляет атомарную remediation/decomposition proposal через escalate, блокирует original и заканчивает запуск. Отдельный новый orchestrator-агент работает только над назначенной remediation. Идентификатор старой задачи не переиспользуется, status history сохраняется. Принятая small-task карточка не означает, что любая LLM гарантированно правильно реализует её; correctness устанавливает focused test и review.
|
||
|
||
## Gates и coverage
|
||
|
||
Ссылка requirement в раннем этапе означает allocation/ограничение данного этапа, а не выполнение всей пользовательской функции. Gate подтверждает только deliverables своего этапа. Полная приёмка Web выполняется тематическими S21 reports и release readiness, которые сопоставляют все применимые requirements с реальными tests/evidence. Native-only требования явно excluded в requirements.json. UI Kit содержит также безномерные размеры/контракты; они включаются через ui_sections в feature packets, а не считаются покрытыми одним ID.
|
||
|
||
## Изменение длинного JSON
|
||
|
||
Использовать show --json и программную точечную правку объекта по ID, не отправлять весь planning/tasks.json в контекст. После изменения sync/validate/render. Изменение definitions в нескольких checkout одновременно требует coordinator; CLI state lock не является редакторским lock definitions.
|
||
|
||
## Автоматический blocker lifecycle
|
||
|
||
Original blocked → отдельная remediation → новый executor → новый reviewer → original todo/review → новая сессия. Все роли ограничены текущей карточкой. Reporter retired, bare unblock не разрешён. Максимум 3 уровня автоматического blocker nesting/6 remediation на root, затем внешний input. См. docs/AUTOMATION.md.
|