Found in the v0.32.1 dogfood, re-verified explicitly against a workspace containing a deprecated artifact.
$ forgeplan health --json (raw exit 0)
→ at_risk: [
{ id: "PROB-078", reason: "R_eff = 0.00 below 0.3 threshold",
title: "MCP read-after-write returns stale body same session …" }
]
$ forgeplan get PROB-078 → Status: deprecated
PROB-078 is deprecated, yet it appears in the health at_risk signal because its R_eff is 0.00. ADR-002 states R_eff skips non-active artifacts (draft / deprecated / superseded); the at_risk aggregator should honor the same filter — a deprecated artifact at R_eff 0 is expected, not at-risk.
Related (same area): forgeplan score <deprecated-id> emits _next_action: null at R_eff=0 — a PRD-071 hint-contract gap; an at-risk score should still emit a Next hint.
Ask: filter at_risk to active-only artifacts in the health aggregator; emit a hint for R_eff=0 scores.
Found in the v0.32.1 dogfood, re-verified explicitly against a workspace containing a deprecated artifact.
PROB-078isdeprecated, yet it appears in the healthat_risksignal because its R_eff is 0.00. ADR-002 states R_eff skips non-active artifacts (draft / deprecated / superseded); theat_riskaggregator should honor the same filter — a deprecated artifact at R_eff 0 is expected, not at-risk.Related (same area):
forgeplan score <deprecated-id>emits_next_action: nullat R_eff=0 — a PRD-071 hint-contract gap; an at-risk score should still emit a Next hint.Ask: filter
at_riskto active-only artifacts in the health aggregator; emit a hint for R_eff=0 scores.