Repository navigation
RELEASE_NOTES_4.2.1
Moira 4.2.1 completes the REST promotion of the derived-chart aspect work introduced in 4.2.0. Composite and Davison consumers can now receive each relationship chart and its position-owned aspect analysis in one response.
The following routes add a required aspects response member:
POST /v1/composite/chartPOST /v1/davison/chart
The member uses the same AspectsFromLongitudesResponse contract as
POST /v1/aspects/from-longitudes. It contains:
- canonical aspect events with separation, exact angle, orb, allowed orb, classification, direction, and sign-degree evidence;
- normalized and deterministically ordered input longitudes;
- the effective aspect tier and orb factor;
- node-inclusion policy and any excluded node names;
- point and aspect counts;
- explicit position and motion semantics.
The existing relationship request fields now govern the embedded analysis:
-
tierselects canonical aspect tier0,1, or2; -
orb_factorapplies the positive bounded orb multiplier; -
include_nodescontrols Moira's named node points.
When these fields are omitted or null, the relationship routes resolve them to
tier 1, orb factor 1.0, and node inclusion.
Composite and Davison charts own ecliptic positions, but those positions do
not provide speed truth. The embedded analysis therefore does not invent
retrograde, stationary, applying, or separating semantics. Its computation
truth continues to report
motion_semantics: not_computed_without_speeds, and each aspect's applying
field remains null.
The underlying chart calculations are unchanged. Composite and Davison retain their distinct chart, house, classification, relation, and computation-truth vessels; they now share one nested aspect-analysis contract.
This patch adds a response member without removing or renaming an existing
field. Most JSON consumers will accept the addition normally. Strict consumers
that reject unknown response members must admit aspects on both relationship
chart responses.
The standalone POST /v1/aspects/from-longitudes route remains available for
harmonic, draconic, progressed, and other caller-supplied position products.
The 4.2.1 release checks establish that:
- OpenAPI marks
aspectsas required on both relationship response schemas; - the nested schema is exactly
AspectsFromLongitudesResponse; -
tier,orb_factor, andinclude_nodespropagate through REST to the engine analysis; - invalid aspect-policy values are rejected at the transport boundary;
- both composite methods return embedded analysis;
- all five Davison methods return embedded analysis;
- embedded events agree with direct
Moira.aspects_from_longitudes(...)results for the returned positions.
This is a REST visibility and contract-completion patch. It does not change planetary positions, house calculation, Davison time-scale handling, or Moira's canonical aspect definitions.