Page actions
instrument mechanism / verified-clean
Center of Mass Calculator mechanism
The inspectable method record for Center of Mass Calculator, kept separate from implementation and qualification.
Model scope
The formula is correct for a discrete set of point masses. The specification needs an explicit dimensionality and unit contract, validation for a nonempty list and nonzero total mass, and a clear policy for zero or negative masses. The honest_label value "n/a" does not communicate these limitations; the user-facing label should identify the result as a mass-weighted center of mass and state the unit and validation assumptions.
- The formula r_cm=Σm_i r_i/Σm_i is the standard formula for the center of mass of discrete point masses, but the specification does not state the required domain condition Σm_i ≠ 0.
- The specification does not state whether positions are 1D, 2D, or 3D vectors, although the formula supports any consistent coordinate dimension.
Units and conventions
- All masses must use a consistent mass unit; because mass units cancel in the ratio, grams or kilograms are both acceptable if used consistently.
- All position coordinates must use a consistent length unit; the output COM coordinates use that same length unit.
- Each position vector must have the same dimensionality and coordinate-unit convention as every other position vector.
- For a physical point-mass system, masses are assumed to be nonnegative, with at least one strictly positive mass.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"masses_positions": [
{
"mass": 2,
"position": [
0,
0
]
},
{
"mass": 3,
"position": [
5,
0
]
}
],
"mass_unit": "kg",
"position_unit": "m"
},
"expected_outputs": {
"r_cm": [
3,
0
],
"position_unit": "m"
},
"working": "Total mass = 2 + 3 = 5 kg.\\nX numerator = (2×0) + (3×5) = 0 + 15 = 15 kg·m.\\nY numerator = (2×0) + (3×0) = 0 + 0 = 0 kg·m.\\nCOM = (15/5, 0/5) = (3, 0) m."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The all-zero-mass input makes the denominator vanish and the result undefined. Because the specification does not state validation behavior, a plain arithmetic implementation could emit NaN instead of rejecting the input. The formula also has no actual piecewise branch, so the branch-switch requirement is not applicable beyond confirming that the same formula is used.
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-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json