{
  "//": "Publishing guardrail - generalized from a real KittyClaw board automation. Adjust column names, role slugs, and maxTurns to your own setup. See README.md for the two roles and the routing this assumes.",
  "automations": [
    {
      "id": "independent-fact-check-on-review",
      "name": "Fact-checker: verify content tickets reaching Review",
      "enabled": true,
      "trigger": {
        "type": "statusChange",
        "uiTypeKey": "statusChange",
        "pollSeconds": 30,
        "to": "Review"
      },
      "conditions": [
        {
          "type": "assignedTo",
          "uiTypeKey": "assignedTo",
          "slugs": ["writer"],
          "negate": false
        }
      ],
      "actions": [
        {
          "type": "runAgent",
          "uiTypeKey": "runAgent",
          "agent": "fact-checker",
          "maxTurns": 100,
          "concurrencyGroup": "fact-checker",
          "mutuallyExclusiveWith": [],
          "env": {},
          "restoreStatusOnFail": false
        }
      ]
    }
  ],
  "//route-note": "This is deliberately the whole automated path. There is no rule anywhere that moves a ticket to Done - the fact-checker role posts its PASS/FAIL report and leaves the ticket in Review either way. Done only happens through a separate, manual action by a human once a PASS report exists. The gate isn't a condition you can misconfigure: without a rule wired to Done, there is no automated route to publish."
}
