Files

9.3 KiB
Raw Blame History

MODIFIED Requirements

Requirement: Изменение upstream artifact требует каскадной проверки

Изменение утверждённого Proposal MUST инициировать повторную проверку Delta Specs, Design и Tasks; изменение утверждённых Delta Specs MUST инициировать повторную проверку Design и Tasks; изменение утверждённого Design MUST инициировать повторную проверку Tasks. Изменение Tasks MUST NOT неявно менять scope, наблюдаемое поведение или архитектурные решения upstream artifacts; при таком обнаружении workflow SHALL вернуть работу к самому раннему затронутому upstream artifact и его approval gate. Если несоответствие обнаружено во время Design или Apply, downstream-работа MUST остановиться, а Change Owner MUST получить наблюдаемое основание возврата и решения, требуемые на выбранном уровне. Механическое исправление синтаксиса или формата, которое не меняет утверждённые намерение, поведение, архитектурные решения или состав задач, MUST пройти повторную structural validation и MUST NOT само по себе инвалидировать approvals.

Scenario: После Design изменилось намерение

  • WHEN владелец меняет scope или ожидаемый эффект Proposal
  • THEN зависимые Delta Specs, Design и Tasks теряют прежнее подтверждение до повторной согласованной проверки

Scenario: Task вводит новое поведение

  • WHEN implementation checklist требует поведение, которого нет в утверждённых Delta Specs
  • THEN агент не расширяет scope через Tasks и возвращает change к Delta Specs

Scenario: Apply выявляет архитектурное расхождение

  • WHEN во время реализации обнаружено, что утверждённый Design не позволяет выполнить Specs без другого архитектурного решения
  • THEN Apply останавливается, Tasks теряет прежнее подтверждение, а change возвращается к Design с наблюдаемым основанием и вариантами решения

Scenario: Исправляется только структурный формат

  • WHEN утверждённый artifact содержит исправимую синтаксическую или formatting-ошибку без изменения его смысла
  • THEN workflow исправляет ошибку, повторяет structural validation и сохраняет действующие approvals

Requirement: OpenSpec tooling имеет проверяемый version contract

SDD workflow MUST объявлять одну текущую поддерживаемую версию OpenSpec CLI в canonical version contract и проверять фактическую версию до команд, читающих или изменяющих canonical change. Normative checks и проверяемые generated markers MUST получать ожидаемую версию из этого контракта и MUST NOT независимо закреплять конкретный version literal. Несовместимая либо неопределённая версия MUST давать actionable blocking result и MUST NOT приводить к молчаливому изменению artifact graph, templates или project-owned entrypoints. Публикация новой stable версии MUST NOT автоматически менять поддерживаемую версию проекта. Upgrade SHALL изменять version contract только после изолированной проверки совместимости schema, agent workflow, canonical store и hard blockers и SHALL сохранять историческое evidence с фактически использованными ранее версиями.

Scenario: Версия CLI соответствует контракту

  • WHEN агент начинает работу с canonical change поддерживаемой версией OpenSpec
  • THEN workflow продолжает работу с объявленной схемой и canonical store

Scenario: Версия CLI не соответствует контракту

  • WHEN доступная версия OpenSpec не совпадает с объявленным совместимым контрактом
  • THEN локальная preflight-проверка блокирует SDD-операцию и сообщает ожидаемую и фактическую версии

Scenario: Опубликована новая stable версия

  • WHEN upstream публикует новую stable версию, которая ещё не прошла project compatibility assessment
  • THEN текущий version contract остаётся действующим и новая версия не становится неявным требованием для разработки

Scenario: Подготовлен upgrade candidate

  • WHEN Engineering Owner рассматривает смену поддерживаемой версии
  • THEN изолированная проверка подтверждает schema, agent workflow, store selection и hard blockers до изменения version contract и project-owned projection

ADDED Requirements

Requirement: Project-owned agent workflow воспроизводим из versioned authority

Project-owned agent workflow SHALL восстанавливаться в новом workspace из committed authority inputs и текущей поддерживаемой версии инструмента без использования прежнего локального generated state. Workspace-level projection SHALL оставаться derived output и MUST NOT становиться конкурирующим SDD authority. Non-mutating verifier MUST обнаруживать отсутствие required projection, расхождение с versioned inputs и несовместимый generated version marker; установленные зависимости и machine-local runtime state MUST NOT считаться authority inputs.

Scenario: Workspace собирается заново

  • WHEN участник получает чистые checkout всех project repositories и поддерживаемый инструмент
  • THEN documented workflow воспроизводит project-owned agent projection из versioned inputs без копирования файлов с прежней машины

Scenario: Derived projection изменена вручную

  • WHEN локальная project-owned projection больше не соответствует versioned authority inputs
  • THEN non-mutating verifier завершает проверку ошибкой и указывает на projection drift

Requirement: Planning artifact проверяется до запроса approval

Каждый создаваемый planning artifact SHALL пройти все применимые на его текущем этапе non-mutating structural checks до запроса approval Change Owner. Если полный change validation ещё заблокирован отсутствующими downstream artifacts, workflow MUST выполнить доступные проверки текущего artifact и явно оставить недоступную проверку незавершённой, а не заявлять общий успех. Техническая ошибка проверяемого формата SHALL исправляться и проверяться повторно без передачи ручного исправления Change Owner; structural success MUST NOT подменять semantic approval.

Scenario: Текущий artifact имеет проверяемое нарушение

  • WHEN сгенерированный planning artifact нарушает обязательный формат или ссылочную целостность, доступные для проверки на текущем этапе
  • THEN workflow исправляет нарушение и повторяет structural checks до запроса owner approval

Scenario: Downstream artifacts ещё отсутствуют

  • WHEN Proposal создан, а Delta Specs, Design и Tasks ещё не существуют
  • THEN workflow сообщает результат доступных Proposal checks и не представляет отсутствующую full-change validation как успешную