$ mkdir -p /tmp/run/data /tmp/run/output
$ cp data/interstationary/pnl_fy2025.csv /tmp/run/data/
$ python3 packs/variance-bridge/skills/budget-vs-actual/scripts/bva.py --input /tmp/run/data/pnl_fy2025.csv --output /tmp/run/output/bva.json
YTD 2025 revenue $11,238K vs budget $11,600K, variance ($362K); operating income $388K vs $583K, variance ($195K); reconciles. Wrote /tmp/run/output/bva.json
$ cp examples/binding/fixtures/bva-note-cogs-as-revenue.md /tmp/run/output/bva-note.md
$ python3 packs/variance-bridge/tests/checks.py /tmp/run examples/binding/cases/bva-cogs-as-revenue.json
{
  "script_identity": {
    "passed": true,
    "detail": "operating income and variances reconcile for the month and YTD"
  },
  "independent_identity": {
    "passed": true,
    "detail": "source YTD operating income 387654.20 recomputes"
  },
  "golden": {
    "passed": true,
    "detail": "matches golden"
  },
  "contract": {
    "passed": true,
    "detail": "5 sections in order; sentences, tables, bullets and data notes follow the contract"
  },
  "provenance": {
    "passed": true,
    "detail": "all 42 figures trace to the script's display block"
  },
  "binding": {
    "passed": false,
    "detail": "$8,324K belongs to COGS (records), which this sentence in month does not name: 'December 2025 revenue was $8,324K against a budget of $824K, a favourable $3K.'; $8,324K belongs to YTD 2025 (scopes), which this sentence in month does not name: 'December 2025 revenue was $8,324K against a budget of $824K, a favourable $3K.'"
  }
}
exit 1
