Term Engine
What This Service Is For
The term engine supplies reusable calculations for term dates, standing, continuity and scheduled boundary work. Membership is the current adopter, with an explicit isolation boundary intended to support later reuse.
Boundary
Pure helpers own the shared interpretation, while the adopting domain owns holdings, terms, events, locking and persistence. The facade uses domain hooks for current allowances and rules. Configuration stores reasons, and Memberships implements the operational purchase and billing flows.
Operations in Words
One workspace HTTP health route checks access and reports build information. Internal interfaces calculate periods, validate rules, resolve status and episodes, compute caches, decide sweep work and generate SQL templates. The engine's Commerce participant and billing members still fail as unbuilt; they are not evidence of completed operational flows.
Events and Jobs
The engine publishes no event and schedules no job. Memberships calls its decisions, records unique detections and publishes termination when lapse is first recorded.
Consistency Guarantees
The caller supplies the transaction around domain reads and writes. Pure decision functions are repeatable for identical inputs, while facade calls depend on the hooks they receive. A missed sweep delays persisted cache and detection work without changing how current-input resolution calculates standing.