$ mkdir -p /tmp/run/data /tmp/run/output
$ cp data/interstationary/customers_fy24_fy25.csv /tmp/run/data/
$ python3 packs/variance-bridge/skills/revenue-bridge/scripts/bridge.py --input /tmp/run/data/customers_fy24_fy25.csv --output /tmp/run/output/bridge.json
FY2024 $11,243K -> FY2025 $11,238K change ($5K), (0.04%); reconciles to the cent. Wrote /tmp/run/output/bridge.json
$ cp examples/binding/fixtures/bridge-note-swapped.md /tmp/run/output/bridge-note.md
$ python3 packs/variance-bridge/tests/checks.py /tmp/run examples/binding/cases/revenue-bridge-swapped.json
{
  "script_identity": {
    "passed": true,
    "detail": "PY + movements = 11238378.00, CY = 11238378.00"
  },
  "independent_identity": {
    "passed": true,
    "detail": "source PY 11243300.00, CY 11238378.00; every movement recomputes"
  },
  "golden": {
    "passed": true,
    "detail": "matches golden"
  },
  "contract": {
    "passed": true,
    "detail": "4 sections in order; sentences, tables, bullets and data notes follow the contract"
  },
  "provenance": {
    "passed": true,
    "detail": "all 22 figures trace to the script's display block"
  },
  "binding": {
    "passed": false,
    "detail": "($686K) belongs to Fenwick Legal (records), which this bullet in drivers does not name: 'Losses of ($1,288K) across 4 customers, led by Birchway Foods at ($686K).'"
  }
}
exit 1
