Scrap-consuming recipes as threat fallback, not excluded

Refine the REQ-THREAT-ITEM fix per review: recipes taking scrap as
input participate in an item threat computation only when no
scrap-free recipe produces that item, mirroring the existing
reprocessing-path rule instead of a blanket exclusion.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
2026-07-03 16:34:06 +02:00
parent fe7703d5c3
commit 3aefc05118
2 changed files with 11 additions and 10 deletions

View File

@@ -373,13 +373,13 @@ in `requirements.md` and the git history). Still open:
one matching deposit tile). Touches REQ-BLD-MINER ("every asteroid
tile is equivalent" no longer holds), REQ-GW-ASTEROID-EXPAND /
REQ-EXP-*, `world.toml`, and `visuals.toml`.
6. **Exclude scrap-consuming recipes from item threat.** Amend
REQ-THREAT-ITEM: recipes that take scrap as an input do not
participate in an item's threat computation (neither as its value
nor in the max-across-recipes rule). Otherwise the scrap→ingot
smelter recipe inflates the basic materials' threat via the max
rule, poisoning every downstream value. Scrap conversion is already
accounted for by the REQ-THREAT-SCRAP constant.
6. **Scrap-consuming recipes as threat fallback only.** Amend
REQ-THREAT-ITEM: recipes that take scrap as an input participate in
an item's threat computation only if no scrap-free recipe (miner,
smelter, or assembler) produces that item — mirroring the existing
rule for the reprocessing path. Otherwise the scrap→ingot smelter
recipe would inflate the basic materials' threat via the
max-across-recipes rule, poisoning every downstream value.
7. **Threat report tool.** Port the numbers-pass calculator to
`tools/threat_report.py`: per-item threat values, module
contributions, fitted ship threats vs. the ladder targets,