@RestController@PostMapping("/v1/holds")Receipt reserve(ReserveCmd c) {return ledger.placeHold(c);}
// provider event → outboxvoid on(SignedEvent e) {outbox.publish(FundsPending(e));}
@Aggregateclass PositionBook {void on(TradeExecuted e) {apply(QtyAdjusted(e));}}
type ReconDiff = {txnId: stringexpected: Moneyobserved: Money}
$ docker compose up -d✓ postgres ready :5432✓ redis ready :6379✓ worker settlement-q
@EventHandlervoid on(TxnSettled e) {statement.applySettlement(e);}
Cadrer la solution, livrer le produit fini
On travaille avec dirigeants, métiers et tech avant le code : responsabilités, contrats, automatisations. La tech reçoit arbitrages et specs ; les sponsors voient périmètre, risques et jalons. Un brief, un mode d’engagement.
≤24 h
Retour structuré les jours ouvrés
Ops livrables
Instrumentation et runbooks dans le périmètre
Transfert nommé
Docs, schémas, responsables identifiés