Skip to content

validate: нет ни одного правила для NFR (50 из 79 PRD без секции, никто не возразил) #449

Description

@explosivebit

Проблема

forgeplan validate не имеет ни одного правила для нефункциональных требований — ни MUST, ни SHOULD, ни COULD.

Для функциональных требований правил шесть, и они реально срабатывают. Для NFR — ноль.

FR NFR
MUST prd-fr-exist нет
Качество prd-fr-format, prd-measurability-adjectives, prd-vague-quantifiers, prd-orphan-frs, prd-no-impl-leakage нет

Доказательство

Извлечение всех идентификаторов правил из бинаря forgeplan 0.34.0:

strings $(which forgeplan) | grep -oE '\bprd-[a-z-]+' | sort -u | grep -i nfr
# пусто

Строка NFR встречается среди правил ровно один раз — в сообщении "Tech names in FR/NFR sections: ", которое принадлежит prd-no-impl-leakage. То есть единственное правило, которое вообще читает секцию NFR, проверяет её на названия фреймворков, а не на измеримость.

Рядом в таблице строк лежат Non-Functional Requirements, NFR, Quality Attributes — это алиасы имён секций, которые сканирует то же правило.

Следствие в живом проекте

Из 79 PRD в рабочем окружении:

  • 77 имеют ## Functional Requirements (потому что prd-fr-exist — MUST);
  • 29 имеют ## Non-Functional Requirements.

50 PRD без секции NFR, и валидатор ни разу не возразил.

Это признано и в документации потребителя: plugins/fpl-skills/skills/smith-bootstrap/SKILL.md:656 — «NFR and Acceptance Criteria sections are useful but not validator-required».

Что предлагается

Три правила, по образцу уже существующих FR-правил:

Правило Уровень Что проверяет
prd-nfr-exist Should наличие секции ## Non-Functional Requirements (с теми же алиасами, что уже знает prd-no-impl-leakage)
prd-nfr-measurable Should у каждого NFR-NNN есть числовой порог или явное TBD — не «быстро», не «надёжно»
prd-nfr-measurement Could у каждого NFR указан способ измерения

Не MUST: 50 существующих PRD немедленно покраснеют. Should даёт сигнал, не ломая рабочее окружение.

prd-measurability-adjectives уже несёт готовый чёрный список (simple, intuitive, user-friendly, responsive, quick, efficient, robust, smooth) — prd-nfr-measurable может переиспользовать его, а не заводить свой.

Смежное

Форма, которую стоит поощрять, уже сложилась в 19 PRD и даёт ровно то, что нужно правилу prd-nfr-measurement:

| ID | Category | Requirement | Metric | Condition | Measurement |

Сторона маркетплейса (гейт guardian + MUST-список ревьюера + шаблон) заводится отдельной задачей в ForgePlan/marketplace — правила валидатора без неё работают, но вместе сильнее.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions