{
  "provenance": {
    "generator": "scripts/emit-agent-spec.mjs",
    "artifact": "example",
    "appCommit": "1655708d4e63dd6778d42a10bd5b9faf9e4a5dd2",
    "schemaVersion": 12,
    "engineVersion": "1.0.0",
    "sourcesHash": "sha256:8dba69a5718e016c5b2fc32641c0cef2ac0166f38c4e6aab481ed725276934e6",
    "contentHash": "sha256:ac4d6565b39fbbd1bbabaa1dc09b8cda43d4923adebf596542ae3bdeb029ada9",
    "note": "appCommit is null in the COMMITTED artifact by construction: the SHA of the commit that contains this file does not exist yet when the file is generated, and writing one would make the zero-drift CI gate red forever. The PUBLISHED copy is different on purpose — it is regenerated with --stamp-commit and DOES carry the app commit that produced it, which is the whole point of provenance (a downstream reader must be able to answer \"which version of the app generated this spec\"). A real SHA here is therefore correct, not a leak or a failed scrub. sourcesHash is the content hash of the generator inputs and is identical in both copies, so it proves the two came from the same inputs."
  },
  "version": 2,
  "templateId": "carousel",
  "config": {
    "cardRatio": "4:3",
    "count": 11,
    "cardSize": 161,
    "cornerRadius": 12,
    "gap": -99,
    "angle": 146,
    "depth": 0,
    "stacking": "forward",
    "perspective": 3138,
    "rotationX": 0,
    "rotationY": -43,
    "rotationZ": 0,
    "direction": "forward",
    "motion": "step",
    "ease": "power4.inOut",
    "easeCustom": [
      0.42,
      0,
      0.58,
      1
    ],
    "hold": 50,
    "cycles": 1,
    "duration": 18,
    "lift": 82,
    "tiltX": 100,
    "tiltY": 0,
    "tiltZ": 0,
    "fade": 0,
    "sizeGradient": 0,
    "zoom": 300,
    "offsetX": 0,
    "offsetY": 125,
    "interaction": {
      "drag": true,
      "scroll": false,
      "onRelease": "resume",
      "cursor": {
        "gravity": {
          "enabled": false,
          "strength": 50,
          "radius": 350
        },
        "hover": {
          "enabled": false,
          "strength": 50,
          "radius": 350
        },
        "face": {
          "enabled": false,
          "strength": 50,
          "radius": 350
        }
      }
    }
  },
  "canvas": {
    "aspectRatio": "1:1",
    "fps": 30,
    "background": {
      "type": "solid",
      "solid": {
        "color": "#F7F0E8"
      },
      "gradient": {
        "mode": "linear",
        "stops": [
          {
            "pos": 0,
            "color": "#000000"
          },
          {
            "pos": 100,
            "color": "#FFFFFF"
          }
        ],
        "angle": 180,
        "center": {
          "x": 50,
          "y": 50
        },
        "radius": 20
      },
      "image": {
        "src": null,
        "name": null
      }
    }
  },
  "assets": [],
  "meta": {
    "engine": "1.0.0",
    "schemaVersion": 12,
    "template": "carousel",
    "created": "2026-01-01T00:00:00.000Z"
  }
}
