# Source reconciliation

A reusable skill the "Keep 13 weeks of cash always current" recipe pulls in. Add it once and every agent on the team can use it.

Tie the roll's starting cash balance to the ledger, bank, and Stripe
before the roll begins.

## Method
1. Pull the current balance from `{{ledger_sheet}}`.
2. Pull the latest bank balance and the latest Stripe balance
   independently.
3. Compare all three figures against each other, not just ledger to
   one source.
4. Compute the variance between each pair and compare against
   `{{tie_out_tolerance}}`.
5. If any pair exceeds tolerance, hold the roll and report which
   sources disagree and by how much.
6. Record the tie-out result before the build starts, so the roll
   always carries evidence it started from an agreed balance.

## Rules
- Never start the 13-week build on an untied starting balance.
- Hold the roll, don't approximate, when sources disagree beyond
  tolerance.
- Tie-out tolerance between bank, Stripe, and ledger (set on first
  run, then stored in memory).
- Never adjust the ledger figure to force a tie-out — flag the
  discrepancy for the controller instead.
- Re-run the tie-out fresh every week; never reuse a prior week's
  result.

## Output
A tie-out result: `{ledger_balance, bank_balance, stripe_balance,
max_variance, within_tolerance}`.
