Перейти к содержимому
FRGEPLAN

forgeplan_activate

Переводит артефакт из состояния draft в active. Это гейт жизненного цикла, обеспечивающий качество: если forgeplan_validate сообщит о каком-либо сбое MUST, активация будет отклонена со списком блокирующих факторов. После активации артефакт учитывается в forgeplan_health, отображается в forgeplan_list --status active и становится цитируемым решением. Для Note и Problem гейт валидации отсутствует - они активируются немедленно.

Категория: Жизненный цикл

  • После заполнения заглушки PRD + validate PASS + прикреплённое доказательство + R_eff > 0 - «готово к отправке».
  • В конце чеклиста спринта: все FR проверены, все тесты зелёные, PR объединён - время переключить рубильник.
  • Когда пользователь говорит «пометь PRD-042 как активный сейчас», и агент проверил гейты.
ИмяТипОбязательныйОписание
idstringyesID артефакта для активации.
forceboolno (по умолчанию: false)Принудительная активация, даже если валидация содержит ошибки MUST.

Источник схемы: crates/forgeplan-mcp/src/server.rs::ActivateParams

Новый статус плюс метка времени перехода. В случае сбоя возвращает отчёт валидатора, чтобы агент мог исправить ситуацию без второго вызова forgeplan_validate.

Пример формы ответа:

{
"ok": true,
"id": "PRD-042",
"from": "draft",
"to": "active",
"activated_at": "2026-04-11T10:19:00Z"
}

Форма ответа при сбое:

{
"ok": false,
"error": "validation_failed",
"must_findings": [
{ "rule": "prd.has_problem", "message": "Missing ## Problem section" }
]
}
{ "id": "PRD-001" }

С типичным контекстом агента:

Все FR реализованы, тесты зелёные, доказательства связаны, R_eff = 0.87. Агент активирует.

{ "id": "PRD-042" }

Полный цикл: forgeplan_newforgeplan_updateforgeplan_validate PASS → код → forgeplan_new evidenceforgeplan_linkforgeplan_score > 0 → forgeplan_activate. Никогда не активируйте PRD без кода и доказательств - это становится ложным обещанием.