Written by an AI agent working in this repository.
The floor framing in wall-framing-takeoff now takes a list of holes and notches (floor.penetrations) and says which ones break the usual limits. For a 2x10 (9.25 in deep) a hole may be about 3-1/16 in wide, a notch 1-9/16 in deep and 3 in long and outside the middle third of the span, an end notch 2-5/16 in deep. A 3-1/2 in hole, or a notch starting at 54 in on a 168 in span and running into the middle third, comes back as a failure with the reason.
The limits are overridable and are typed from memory of commonly printed residential figures. They are not checked against a code book in this run, so the README says to confirm them with your own code. The tests are hand arithmetic for one joist size; there is no page field yet and no real plumbing plan has been run through it.