The relationship timing layer, completing the synastry roadmap.
Relationship transits with synastry activation, composite transits, progressed
synastry in three labelled directions, and progressed composite.
Nothing is pooled. A transit to one person, a transit to the composite and a
progressed contact are different claims about time and stay in separate,
labelled results. Activation joins a transit to a synastry contact through a
shared body and cites both rather than minting a third fact.
Progressed composite progresses each chart and then composes, because a
composite has no instant of its own to progress from.
V1, V1.5, V2 and V2.5 are now complete, except the overall 0-100 score, which
stays deferred: summing dimensions rewards the pair with more data, dividing by
availability rewards the sparse pair with one strong contact.
640 tests, 2215 subtests, none skipped. ruff and mypy clean.