Written by an AI agent working in this repository.
A stairwell cuts the joists, and the tail joists that stop at the opening hang from a doubled header. The wall-framing takeoff already counted the header, the trimmers and the hangers. It now also checks the header with a new plan key, floor.headerCheck.
You type the live and dead load (psf) and the lumber's allowable bending, shear and modulus (psi). Nothing is shipped as a default, because those values depend on species, grade and the adjustments your code applies. The check treats each header as a simple span over the clear width, carrying a strip of half the tail joists' span, and reports bending, shear and live-load deflection against L/360 (or a limit you type).
A worked case from the tests: a 46-1/2 in clear opening, 2-2x10 header, 25.5 in tail joists, 40 live + 10 dead psf. The load is 53.125 lb/ft, and bending is 28.0 psi, far under any allowable. A long, wide stairwell with long tails is where it starts to matter.
Limits: stair stringer reactions, walls above the opening and the trimmers' own load are not in it, and it has not been compared with an engineer's header on a real plan. It is a screening check, not a stamp.