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

forgeplan score

forgeplan score вычисляет R_eff (эффективную надёжность) артефакта-решения на основе связанных с ним EvidencePack. R_eff следует правилу «слабого звена» из Quint-code: R_eff = min(evidence_scores) - никогда не среднее значение. Одно слабое доказательство подрывает всё решение, и в этом весь смысл: PRD, подкреплённый одним надёжным бенчмарком и одним опровергнутым тестом, всё равно остаётся рискованным PRD.

Каждый вклад доказательства определяется его congruence_level (CL0..CL3), verdict (поддерживает / ослабляет / опровергает) и valid_until (при истечении срока действия применяется распад). Без каких-либо связанных доказательств R_eff = 0.0, и forgeplan health пометит артефакт как слепое пятно.

  • Сразу после связывания нового EvidencePack (forgeplan link EVID-012 PRD-001 --relation informs).
  • Перед forgeplan activate - если R_eff всё ещё равен 0, вы активируете обещание без доказательств.
  • Массово с --all после спринта, чтобы обновить кэшированный R_eff для каждого активного решения.
  • В качестве инструмента отладки: если health помечает слепое пятно, score --json покажет, какое доказательство снижает минимальное значение.
  • Для Note, ProblemCard или Epic - они не являются решениями и не имеют R_eff.
  • До того, как у вас появятся какие-либо доказательства - ответ всегда будет 0.0.
forgeplan score [OPTIONS] [ID]
[ID] ID артефакта (опустите с --all, чтобы оценить всё)
--all Оценить все активные артефакты-решения и обновить кэшированный R_eff
--json Вывести в формате JSON для машинной обработки
-h, --help Вывести справку
-V, --version Вывести версию
Окно терминала
forgeplan score PRD-001

Типовой вывод:

PRD-001 - Auth System
Evidence contributions:
EVID-012 supports CL3 valid → 1.00
EVID-015 supports CL2 valid → 0.90
EVID-018 weakens CL1 valid → 0.40
R_eff = 0.40 (weakest link: EVID-018)
DerivedStatus: COMPARED

Слабое звено (EVID-018) снижает R_eff. Либо усильте это доказательство, опровергните его, либо замените.

Обновление всех активных решений одновременно

Заголовок раздела «Обновление всех активных решений одновременно»
Окно терминала
forgeplan score --all

Используется в конце спринта для обновления кэшированного R_eff по всему рабочему пространству. forgeplan health считывает эти кэшированные значения.

Окно терминала
forgeplan score PRD-001 --json | jq '.r_eff, .weakest_link'
Диапазон R_effDerivedStatusЧто это значит
0.00UNDERFRAMEDНет связанных доказательств - слепое пятно
0.01–0.39FRAMEDСлабые доказательства или опровергающие сигналы преобладают
0.40–0.69EXPLORINGНекоторая поддержка, некоторые сомнения
0.70–0.89COMPAREDСильная поддержка, по крайней мере одно предостережение
0.90–1.00DECIDED/APPLIEDВысокий уровень доверия, готово к использованию

Штрафы за уровень конгруэнтности (CL): CL3=0.0, CL2=0.1, CL1=0.4, CL0=0.9. Доказательства из неподходящего контекста (CL0) рассматриваются как почти отсутствующие. Истекший valid_until ограничивает вклад на уровне 0.1.

Начиная с v0.17.0 (PRD-040, Scoring Intelligence) forgeplan score сообщает доверительный интервал наряду с точечной оценкой. Интервал расширяется, когда доказательства скудны, просрочены или сосредоточены в одном EvidencePack, и сужается по мере связывания большего количества независимых доказательств.

Старый формат (v0.16 и ранее):

PRD-001 - Auth System
R_eff = 0.80

Новый формат (v0.17+):

PRD-001 - Auth System
R_eff = 0.80 [0.65 - 0.92]

Диапазон в скобках - это нижняя/верхняя граница. Читайте это как: «точечная оценка 0.80, но с имеющимися у нас доказательствами истинная надёжность вполне может находиться в диапазоне от 0.65 до 0.92». Используйте интервал, а не точечную оценку, при принятии решения о том, безопасно ли выпускать решение.

Точечное значение R_eff 0.80 выглядит одинаково, независимо от того, подкреплено ли оно одним бенчмарком на CL3 или пятью бенчмарками на CL3. Но однокомпонентное доказательство хрупко - если этот единственный EvidencePack окажется неверным, ваш R_eff рухнет. Доверительный интервал выявляет эту хрупкость:

СитуацияR_effИнтервал
1 поддерживающее / CL3 доказательство0.80[0.40 - 0.92] широкий
5 поддерживающих / CL3, 1 ослабляющее / CL20.80[0.72 - 0.88] узкий
1 поддерживающее / CL3 с истекающим valid_until0.80[0.30 - 0.90] широкий (распад)

Широкий интервал означает: «R_eff выглядит хорошо, но вы в одном шаге от обрыва - добавьте больше доказательств». Узкий интервал означает: «R_eff стабилен, несколько независимых доказательств согласуются».

Интервал вычисляется как эвристика на основе количества доказательств, распределения CL, сочетания вердиктов и близости valid_until - это не формальный статистический доверительный интервал, и вы не должны рассматривать его как таковой.

code → new evidence → link → score → review → activate
└── R_eff must be > 0 to pass review gate

score дёшев, вызывайте его часто. Кэшированный R_eff используется forgeplan health, forgeplan decay и панелью мониторинга проекта.