{
  "capability_id": "apps.bar-graph",
  "tool_id": "bar-graph",
  "engine": "bar-graph-runtime",
  "kind": "runtime",
  "calculation_version": "2.1.0",
  "runtime_version": "2.1.0",
  "version": "2.1.0",
  "generated_at": "2026-08-19T22:32:15.117Z",
  "test_count": 13,
  "passed": 13,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "passed": 8,
      "total": 8
    },
    "boundary": {
      "passed": 5,
      "total": 5
    },
    "published_behavior": {
      "passed": null,
      "total": 2
    }
  },
  "engine_tested": true,
  "expert_reviewed": false,
  "internally_reviewed": false,
  "source_checked": true,
  "last_reviewed": "2026-08-20",
  "page": "https://www.calculatorx.com/apps/bar-graph",
  "assumptions": [
    "Scale domain is [min(0, min(values)), max(0, max(values))].",
    "Positive bars grow away from the zero baseline toward domainMax; negative bars toward domainMin.",
    "If every value is 0, domain is [0, 1] and all bars have length 0."
  ],
  "limitations": [
    "One series per chart. Malformed lines are skipped.",
    "Axis labels longer than about 8–10 characters are truncated on the canvas.",
    "PNG export is a local canvas snapshot, not a server-rendered image."
  ],
  "sources": [
    {
      "title": "Vega-Lite — Bar Chart with Negative Values and a Zero-Baseline",
      "url": "https://vega.github.io/vega-lite/examples/bar_negative.html",
      "supports": "Negative bars cross a zero baseline in the opposite direction"
    },
    {
      "title": "Vega-Lite — Scale",
      "url": "https://vega.github.io/vega-lite/docs/scale.html",
      "supports": "Quantitative bar scale includes zero unless explicitly disabled"
    }
  ],
  "fingerprint": "sha256:e5984c3a1a3aafcc7bdbb4c52bc9af015f8a68bce71e656ff81d401279e4b533",
  "tests": [],
  "disclosure": {
    "policy": "calculatorx-public-evidence-v1",
    "full_validation": "private",
    "representation": "summary"
  }
}
