Page actions
instrument mechanism / verified-clean
Solar Elevation Shadow-Length Calculator mechanism
The inspectable method record for Solar Elevation Shadow-Length Calculator, kept separate from implementation and qualification.
Model scope
The core formula is correct under the stated geometric assumptions, but the spec needs explicit angle and length units, domain validation, boundary behavior, and an honest label before it can receive PASS.
- The formula shadow = height/tan(elevation) is the standard geometric formula for a vertical object casting a shadow on level, horizontal ground, but those geometric assumptions are not stated.
- The valid input domain is not specified: sun elevation must be greater than 0° and less than 90° for the direct formula to be numerically well-defined.
- The angle unit is ambiguous; the implementation must define whether elevation is entered in degrees and convert it to radians before calling a typical JavaScript tan() function.
- Object-height and shadow-length units are unspecified, although the output inherits the height unit.
Units and conventions
- Test vectors treat sun elevation as degrees; JavaScript Math.tan requires radians, so an input angle in degrees must be converted as radians = degrees × π/180.
- Object height and shadow length use the same linear unit.
- The object is vertical, the ground is level and horizontal, and atmospheric refraction, terrain slope, object width, and penumbra are ignored.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"object_height": 1.8,
"height_unit": "m",
"sun_elevation": 45,
"angle_unit": "degrees"
},
"expected_outputs": {
"shadow_length": 1.8,
"unit": "m"
},
"working": "tan(45°) = 1. shadow = 1.8 m / 1 = 1.8 m."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The specification does not state validation for zero elevation, elevations beyond the physical solar domain, or below-horizon sign handling. Direct arithmetic can yield Infinity at 0° and a negative or physically meaningless shadow for invalid or convention-dependent angles.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche5/tranche5-results.jsonBOUNDARY_HAZARD_CATALOG.json