Approach

Documentation is the constraint.

Ambiguity in the spec becomes an incident in production. We force the trade-off decisions to happen on paper, where they are cheap, rather than in code, where they are expensive.

How we work

Constraint-first delivery

Define the boundary

What is in scope, what is not, and where accountability sits across parties.

Map dependencies

Bank, PSP, schemes, rails, internal systems. Identify failure paths and contractual constraints.

Make decisions explicit

Trade-offs, control ownership, and evidence. Document what “good” looks like operationally.

Decision records

Code is easy. Consensus is hard.

We force the trade-off decisions (settlement timing, refund logic, and dispute liability) to happen on paper, where they are cheap, rather than in production code, where they are expensive.

Filename: decision-record.yaml

Decision: refund timing policy
Context:
  - settlement timing varies by rail
  - evidence availability differs by channel
Trade-offs:
  - speed vs. dispute exposure
Ownership:
  - policy: Risk
  - execution: Operations
Evidence:
  - audit trail retained: 13 months