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