P2 from the 2026-07-03 review (docs/reviews/2026-07-03-rules-layer-review.md, PR #19). Verified against the book by the fidelity sweep — this is an untracked scope gap, not a transcription error.
The content encodes only the bonus side of the attribute rules (minValueForBonus: 16); the book's "Penalties for Low Attributes" (printed pp.282–283) are entirely unmodeled. Characters with attributes of 8 or less should carry negative combat/save/skill modifiers; today their sheets silently show 0.
3D6 rolls make attributes ≤8 common, so this affects real by-the-book characters.
Fix: extend attribute-bonuses.json with the penalty rows (same byValue shape, below-threshold range) and remove/adjust the minValueForBonus early-return in effectBonus.
P2 from the 2026-07-03 review (
docs/reviews/2026-07-03-rules-layer-review.md, PR #19). Verified against the book by the fidelity sweep — this is an untracked scope gap, not a transcription error.The content encodes only the bonus side of the attribute rules (
minValueForBonus: 16); the book's "Penalties for Low Attributes" (printed pp.282–283) are entirely unmodeled. Characters with attributes of 8 or less should carry negative combat/save/skill modifiers; today their sheets silently show 0.3D6 rolls make attributes ≤8 common, so this affects real by-the-book characters.
Fix: extend
attribute-bonuses.jsonwith the penalty rows (samebyValueshape, below-threshold range) and remove/adjust theminValueForBonusearly-return ineffectBonus.