I mis-read the default of the check box when it says the Default Checked return is true it does not mean 1 but the literal string "true" So after a lot wasted time figured out that needed to add a convert .
getAsString value == 1 ? "true" : "false"
getAsObject value == "true" ? 1 : 0
So the saved value is boolean 1 or 0
The solution is pretty simple but not at all obvious. The documentation gives very little help