-
-
Notifications
You must be signed in to change notification settings - Fork 2
CATEGORICAL_BOUNDARY_LEDGER_2026 05 04
TheDaniel166 edited this page May 18, 2026
·
1 revision
-
Target Subsystems:
moira.constants,moira.planets,moira.houses,moira.aspects - Objective: Prove that astrological categories (signs, houses, aspects) are defined by absolute mathematical boundaries, and are immune to upstream float coercion, rounding errors, or fuzzy thresholding.
- Core Threat: Float-edge corruption, where a body at 29.9999999999° is prematurely coerced into the next sign/house due to loss of precision or silent rounding in the public interface.
-
The Absolute Threshold: Using 64-bit floating-point precision, a sequence of extreme limits was injected:
29.9999999999°(10 nines),29.99999999999°(11 nines), and29.999999999999°(12 nines), followed by exactly30.000000000000°. -
Data Vessel Integrity:
PlanetDatainherently preserves the pure, unrounded longitude. Even the derived string-formatting helperlongitude_dmscorrectly delegates tomath.truncstyle integer logic, avoiding the phenomenon where.9999coerces to the next degree prior to sign assignment. -
Structural Purity: Neither the engine layer nor the presentation layer implements artificial "fuzzy" boundaries. A body is in Aries until it mathematically equals or crosses
30.0.
-
Test Regimen:
tests/unit/test_categorical_boundary.py -
Outcome:
-
Sign Classification:
moira.constants.sign_ofstrictly retained "Aries" for all29.9...inputs. -
House Classification:
moira.houses.assign_houseplaced29.999999999999°in House 1, and only flipped to House 2 when exactly30.0was reached. It correctly toggled theexact_on_cuspflag only on the exact boundary. -
Aspect Engine:
moira.aspects.aspects_betweenretains the exact float difference for itsorbcalculation, refusing to artificially round an 89.999999999999° square to an exact orb of0.0. -
Data Vessel:
PlanetDatapreserves the raw float.
-
Sign Classification:
- Status: Stable. The categorical layer is mathematically pure. No silent corruption exists at the threshold.