You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
quidz.money: integer minor units with a currency, ISO 4217 exponents for zero-decimal and
three-decimal currencies, and arithmetic that raises across currencies.
quidz.clock: the single wall-clock boundary, with a FakeClock that records what was slept
so no test needs a real sleep.
quidz.verify: Stripe signature verification over the raw request bytes, with multiple active v1 secrets for rotation, every non-v1 scheme discarded, and a 300 second default tolerance
checked at receipt time. Adyen HMAC verification over the colon-joined signing string, with \ and : escaped inside field values and the hexadecimal key decoded before use.
quidz.events: Stripe and Adyen payloads to one CanonicalEvent, with delivery identity taken
from stable identity fields and the Adyen (eventCode, success) pair mapped as a pair.
quidz.model: the payment aggregate, amount conservation invariants, a monotonic state rank,
and a status derived from the amounts rather than stored.
quidz.store: SQLite schema with two composite unique constraints, WAL plus busy_timeout
plus foreign_keys plus synchronous pragmas, and write_tx as BEGIN IMMEDIATE that
refuses to nest.
quidz.inbox: claim with a lease, park, drain, and a global retry budget; the claim row and
the ledger effect commit in one transaction.
quidz.ledger: transactional application of one canonical event, with the duplicate path
decided by the unique index rather than by a prior SELECT.
quidz.reconcile: the thirteen-member drift taxonomy, the two-source classifier, a fail-closed
gate scoped to the affected payments with materiality thresholds and an audited break-glass,
and stable JSON and text report renderers.
quidz.dlq: typed reason codes, full-jitter bounded backoff from an unpredictable generator
that only a test seeds, and an unknown default that is retryable with a cap.
quidz.sim: a synthetic provider with seven break modes, a payment list and a settlement
report, generating no card-like data.
quidz.metrics: twelve operational counters as an allowlist.
quidz.cli: quidz demo, quidz replay and quidz reconcile, with the exit-code contract
documented in the README.
quidz.app: an optional FastAPI adapter behind the server extra, the only module permitted
to import a web framework.
140 tests, deterministic and network-free, including an import-boundary scan, a forced INSERT
race across eight threads, and a 20 permutation seeded replay of one event stream.
mypy --strict over the package and the tests on every interpreter leg, so the py.typed
marker the wheel ships is a checked promise rather than an asserted one.