канон: «почему» больше не отправляется в architecture.md
Три документа — CLAUDE.md, паспорт и openspec/config.yaml — велели писать причину отвергнутого решения в architecture.md. По канону дом «почему» это design.md изменения и промоут в docs/adr/, а architecture.md переезд как раз опустошает: обоснования шли ровно туда, откуда их вычищают. Раздел «Процесс» в CLAUDE.md пересказывал шаги пайплайна дословно — тот же второй дом, что уже вычищен из config.yaml. Осталось три вещи, которые действительно проектные: автономность, prior art, «поток не останавливается». config.yaml пересказывал паспорт и инвариант безопасности — стали ссылками. docs/review.md ссылался на healthlog-review-rubric и healthlog-task-pipeline, удалённые вместе с проектными копиями. Первое — указание на будущее, поэтому исправлено на проходы rubric и ops; второе оставлено историей с пометкой. README.md называл architecture.md домом «принятых решений» и не упоминал database.md и adr/ вовсе. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+17
-20
@@ -27,27 +27,24 @@ context: |
|
||||
скилл av-dev-pipeline:review-pipeline, проектная настройка — docs/review.md.
|
||||
|
||||
Конвенции кода (соблюдать при apply):
|
||||
- Механизируемое проверяет `task gate` (линтер, сборка, тесты, race,
|
||||
покрытие изменённых строк, миграции, образцы конфига, секреты и данные о
|
||||
здоровье в индексе). Состав шагов и правил здесь не пересказываем — он
|
||||
растёт, а гейт скажет точнее и всегда актуальнее.
|
||||
- Прозой остаётся то, что правилом не выражается: docs/conventions/README.md.
|
||||
Читаем в источнике, а не отсюда — конвенции дописываются по ходу задач.
|
||||
- Безопасность: данные о здоровье чувствительнее токенов. Ни тела запросов,
|
||||
ни значения точек не попадают в логи выше DEBUG; ничего из ./data не
|
||||
попадает под контроль версий — это проверяет гейт.
|
||||
- Механизируемое проверяет `task gate`, прозой остаётся
|
||||
docs/conventions/README.md. Ни состав шагов гейта, ни перечень конвенций
|
||||
здесь не пересказываем: и то и другое растёт по ходу задач, а источник
|
||||
скажет точнее и всегда актуальнее.
|
||||
|
||||
Что это за проект:
|
||||
- ЧИТАЙ ПЕРЕД ПРЕДЛОЖЕНИЕМ: docs/passport.md — цель и её граница (чем проект
|
||||
НЕ является), типовые сценарии работы, референсы.
|
||||
- Вкратце: healthlog — хранилище данных Apple Health, а не аналитика:
|
||||
принять, дедуплицировать, сохранить, отдать. Состояние пересобирается из
|
||||
журнала доставок, поэтому свёртка обязана быть детерминированной.
|
||||
- Развилка или блокер — сперва prior art. Проект не уникален: готовые решения
|
||||
смотрим в референсах паспорта, отвергаем — с названной причиной, и причина
|
||||
идёт в architecture.md.
|
||||
- Инварианты целиком — в CLAUDE.md, архитектура — в docs/architecture.md,
|
||||
периметр и модель угроз — в docs/security.md, схема — в docs/database.md.
|
||||
Что это за проект — читай перед предложением, а не отсюда:
|
||||
- docs/passport.md — цель, её граница (чем проект НЕ является), потребители,
|
||||
типовые сценарии, референсы;
|
||||
- CLAUDE.md — инварианты с severity и семантика гейта;
|
||||
- docs/architecture.md — устройство; docs/database.md — схема;
|
||||
docs/security.md — периметр и модель угроз; docs/adr/ — почему решено так.
|
||||
Пересказа этих документов здесь нет намеренно: второй дом факта расходится с
|
||||
первым молча, и заметно это становится в предложении, которое уже написано.
|
||||
|
||||
Развилка или блокер — сперва prior art. Проект не уникален: готовые решения
|
||||
смотрим в референсах паспорта, отвергаем — с названной причиной, и причина
|
||||
идёт в design.md этого же изменения (оттуда её промоутит в docs/adr/ скилл
|
||||
av-dev-pm:docs).
|
||||
|
||||
Разведка уже проведена, догадки о формате не нужны:
|
||||
- docs/research/apple-health.md — находки на живом потоке, во многом расходящиеся с
|
||||
|
||||
Reference in New Issue
Block a user