The constraints are currently acted upon, but they aren't exactly in the right place.
Any element with a key attribute cannot be empty (ie. it must have textual content). If this is intended to be a global rule, it should be placed in att.canonical - where key is defined. If it only applies to certain contexts, then it might be better to stipulate that on the element itself - changing the content model rather than using a constraint. BTW, if memory serves, use of key might be an Oxford-specific implementation so this rule might be better suited in MC.
checking date ranges. These should be located within the appropriate att.datable classes. The checks could likely be tightened up a bit and extended to cover every form of date. The only issue is where these checks apply. The current constraint check any element with a datable attribute that ISN'T locus, biblScope or citedRange. I'm uncertain why we wouldn't check datable attrs on those.
atLeast/atMost and min/max range checks (att.ranging). Check that the minimum value is lower (or less than or equal to?) the higher value. The current check, however, might need to be a bit pickier. Does it make sense for atLeast and max/min and atMost to appear together of is it just atLeast/atMost or min/max)
The constraints are currently acted upon, but they aren't exactly in the right place.