LoveMotion.io — a heart in motion
run-matching : twin-set → match-set

A deterministic matching engine.

Twin sets in, match sets out — one pure function, written in Common Lisp. No personal data by construction, and every run replays bit-for-bit.

View on GitHub Apache-2.0
One pass, no backward reads

How a run works

Each stage narrows the pool or annotates it — never both. narrows annotates on the wire

  1. twins in Batches of derived digital twins arrive over an air-gapped courier. Opaque IDs only.
  2. eligibility gate A readiness floor, confidence-guarded. Unassessed never means ineligible — no gating on noise.
  3. dealbreakers Hard vetoes between pairs — family plans, pets, substances, stated limits. Missing data never vetoes.
  4. 7-axis scoring Scalars, versioned matrices, tag sets. Low confidence discounts weight instead of pretending.
  5. findings One to four maintenance notes per match. A blank schedule would be a lie, so none ship blank.
  6. matches out A versioned payload goes back on the courier. Composite scores and findings — never the per-axis math.
Iron rules, not aspirations

Principles

Deterministic

The engine is one pure function. Same twins, same matches — asserted bit-for-bit against blessed payloads in CI, every commit.

No PII, by architecture

Only derived twins cross the boundary, keyed by opaque tw_… IDs that join to nothing here. Identity lives in a separate locked-down system this engine cannot reach. There is nothing to leak.

Replayable, forever

Observations are append-only, run pools are frozen, matrices are versioned and immutable. Any historical run reproduces exactly as it first ran.