学习指南: 附录 C. 应用型 SDD 检查清单

模块「附录 C. 应用型 SDD 检查清单」中第 3 / 5 节课
您正在未登录状态下查看课程。 请登录,以保存进度并参加测试。

主题: Приложение C. Чек-листы прикладного SDD

难度等级: 中等

预计学习时间: 4-6 часов

前置要求: Изучение базовых чек-листов спецификации, реализации и слияния из первого тома SDD.

Понимание концепций CI/CD и автоматизации валидации.

Знакомство с базовой структурой артефактов: requirements.md, plan.md, validation.md, QWEN.md.

Опыт работы с Markdown и системами контроля версий.

学习目标: Научиться применять специализированные чек-листы на каждом этапе прикладного цикла SDD.

Освоить механизмы работы с унаследованными системами и разрешения спорных изменений через файловый арбитраж.

Понять принципы безопасной настройки авто-ремедиации и защиты от Закона Гудхарта при оптимизации метрик.

Разобраться в методологии 'ядовитой спецификации' для проверки устойчивости процессов валидации.

Успешно подготовить проектный пакет в каталоге capstone/ для прохождения итогового production-зачёта.

概述: Данный учебный гайд представляет собой детальное руководство по использованию Приложения C во время прикладного цикла Software Design Document (SDD). Материал надстраивается над базовыми концепциями первого тома и фокусируется на продвинутых сценариях: работе с legacy-системами, внедрении дельт-арбитража, защите метрик от манипуляций и подготовке к финальному аудиту. Гайд описывает строгие критерии для шлюзов спецификации (Spec CI), требования к доказательной базе и правила остановки автоматизации при обнаружении антипаттернов.

关键概念: Ядовитая спецификация (poisoned spec): Специально внедренный в систему ровно один дефект для проверки эффективности процессов контроля качества. Ожидаемый симптом сбоя должен быть описан заранее, а успешное исправление должно затрагивать артефакты (spec/plan/validation), а не только текстовые объяснения.

Файловый арбитраж (file arbitration): Метод разрешения споров в команде, при котором фокус смещается с текстовых дискуссий в чате на анализ различий (diff) в самих файлах. Требует жесткого распределения ролей (Координатор, Имплементор, Верификатор).

Закон гудхарта и anti-goodhart метрики: Принцип, согласно которому метрика перестает быть полезной, как только становится целью. Для защиты системы каждая целевая метрика должна иметь парную защитную (anti-Goodhart) метрику и 'правило красной кнопки'.

Авто-ремедиация (auto-remediation): Автоматизированный процесс восстановления системы после сбоя. Требует предварительного определения радиуса последствий, обязательного dry-run (пробного прогона) и жестких условий отката, зафиксированных до начала исполнения.

Шлюз спецификации (spec ci): Непрерывная интеграция для требований. Проверяет наличие стабильных REQ-* идентификаторов, связность плана с требованиями и валидность JSON-примеров. Ошибка в CI должна содержать исчерпывающую информацию: файл, строку, правило, причину и действие.

Артефакты генеалогии и трассировки (genealogy & evidence): Принцип, по которому каждое решение, метрика или запись в QWEN.md должны иметь автора, источник решения (хэш подсказки/политики), доказательство и уровень уверенности.

练习题: 名称: Настройка шлюза спецификации (Spec CI)

问题: Вам предоставлен список разрозненных требований к API. Необходимо подготовить их к прохождению через Spec CI, обеспечив связность плана и валидации.

解决方案: 1. Присвойте каждому требованию уникальный идентификатор в формате REQ-01, REQ-02 и т.д. 2. В plan.md создайте пункты плана, содержащие прямые ссылки на соответствующие REQ-* идентификаторы. 3. Опишите контракты в доменной модели. 4. Создайте JSON-примеры в validation.md и убедитесь, что они успешно валидируются JSON Schema. 5. Настройте вывод ошибок CI так, чтобы он содержал файл, строку и причину.

难度: intermediate

名称: Внедрение 'Ядовитой спецификации'

问题: Команда уверена, что их процесс валидации идеален. Ваша задача — доказать или опровергнуть это, внедрив ядовитую спецификацию в тестовый набор требований.

解决方案: 1. Выберите один конкретный дефект (например, изменение типа данных в ответе API). 2. Внесите его в validation.md. 3. Зафиксируйте в отдельном документе ожидаемый симптом сбоя. 4. Запустите CI/валидацию. 5. Если сбой не обнаружен, обновите требования (requirements.md) так, чтобы этот тип ошибки стал невозможен (изменив схему или spec).

难度: advanced

名称: Разбор антипаттернов прикладного цикла

问题: Проект стабильно падает на продакшене из-за того, что команда постоянно ослабляет validation.md при падении CI и не имеет ограничений на mutable_rules. Проведите аудит по чек-листу.

解决方案: 1. Введите жесткий запрет на редактирование validation.md при падении тестов (чинить нужно код). 2. Найдите все правила в mutable_rules без TTL или с TTL > 90 дней и удалите/обновите их. 3. Настройте правило красной кнопки (veto от Safety) в governance_protocol. 4. Убедитесь, что falling CI чинится кодом, а не валидацией.

难度: intermediate

案例研究: 名称: Кризис авто-ремедиации в платежном шлюзе

场景: Команда внедрила скрипт авто-ремедиации для перезапуска зависших сервисов обработки платежей на основе метрик CPU. Автоматизация была призвана снизить MTTD (Mean Time To Detect) и MTTR (Mean Time To Resolve).

挑战: При очередном сбое скрипт начал перезапускать сервисы в бесконечном цикле, что привело к дублированию транзакций и блокировке базы данных. Радиус последствий не был определен заранее, и скрипт не имел стоп-условия для ручного ревью.

解决方案: Команда экстренно остановила скрипт и применила чек-лист 'Перед авто-ремедиацией'. Были внедрены: пробный прогон (dry-run) в изолированной среде, жестко прописанное условие отката до исполнения, и порог ручного подтверждения при повторном провале. Для мониторинга была добавлена парная anti-Goodhart метрика (кол-во дубликатов транзакций), чтобы предотвратить слепую погоню за временем аптайма.

结果: Инцидент был локализован. Авто-ремедиация теперь срабатывает корректно только на изолированном сбое, при расширении радиуса влияния система переходит в режим ожидания ручного подтверждения (manual_review_floor).

经验教训: Никогда не внедряйте авто-ремедиацию без заранее записанного условия отката.

Радиус последствий должен быть строго документирован.

Агрессивная автоматизация без защиты (anti-Goodhart метрик) приводит к катастрофам.

相关概念: Авто-ремедиация

Закон Гудхарта

Радиус последствий

学习建议: Создайте физический или цифровой шаблон контрольного списка для каждого этапа (Spec CI, Авто-ремедиация и т.д.) и используйте его в своем текущем проекте.

Обратите особое внимание на различие между '[runnable]' и '[project script]' — это частая причина путаницы при реализации.

Используйте правило 'Трех отрицательных ответов': если на три пункта аудита антипаттернов дан отказ, немедленно остановите добавление новой автоматизации и исправьте текущий контур.

Всегда связывайте практические задачи с артефактами (requirements.md, validation.md, genealogy.md) — в прикладном SDD доказательная база важнее кода.

附加资源: Часть 0 (production lab): Исходный текст для выбора учебного инцидента (incident-case) и понимания структуры capstone.

Часть 12 (аудит антипаттернов): Детальный разбор симптомов и причин сбоев в прикладном цикле, расширяющий быстрый чек-лист.

Папка examples/templates/: Содержит обязательные к изучению шаблоны: pr-template.md, retrospective.md, clear-prompt.md, replan-prompt.md.

Приложение c первого тома: Базовые чек-листы, которые являются фундаментом для текущего продвинутого руководства.

摘要: Приложение C представляет собой строгий набор валидационных барьеров для продвинутого прикладного цикла SDD. Главное правило гайда — автоматизация и оптимизация недопустимы без жесткого контроля (Spec CI,anti-Goodhart метрики, dry-run). Успешное прохождение итогового production-зачёта требует безупречной трассировки (genealogy.md, evidence_ref), умения работать с инцидентами через диффы файлов и способность системы распознавать 'ядовитые спецификации'. Если базовые процессы дают сбой, разработка должна быть приостановлена до их исправления.

我的笔记
0 / 10000

笔记保存在当前浏览器中。在其他设备上将不会显示。

课程菜单

课程

在 Qwen Code CLI 开发中使用 SDD。应用课程
进度 0 / 95