Here is my code, and all the pertinent wiring. Dont worry about the mess on the right hand side of the board, it will all get integrated eventually, but to simplify my troubleshooting right now none of it is connected to the pi.
Top left of the board is a power boost 1000 to take my batteries up to 5.2v for the pi. You can see the hot (blue) and neutral (blue and white) going to the pi, then jumpers just to bring power to my sensor. Voltage/continuity has been verified via multimeter every step of the way, including at the little nubs you can see right before it goes into the sensor.
I have tried numerous inputs, always with the same results. Gpiotest found no problems. If I use pull_up_down=gpio.PUD_DOWN instead of up I get the the opposite message. If I use pull_up_down=gpio.PUD_NONE it starts on one and I think it switched at some point, but then stayed stable. In all cases, the magnet has no effect on the output.
I also tried it wired directly onto pins 4 6 and 8(board numbering) with the same results. I also ordered another hall sensor from adafruit earlier this week, https://www.adafruit.com/product/158
the only difference I could discern is switching the neutral and drain pins, also wired to pins 4 6 and 8, again, with the same results.
Thank you very much for all the replies, if you tell me what I am doing wrong my family will be indebted to yours for generations to come.
Also, I realize my second if should really be an else. I've been eliminating everything I could think of, and keeping the code consistent between the two cases was just one more thing to try.