Skip to content

Latest release on GitHub: v3.0.1 on 7 November 2026

AITS

One decision, line by line

This demo replays the log of a decision exported by the AITS 3.0.0 engine, the same one you find in examples/demo-pricing-change on GitHub. The data is synthetic, the log is real: each line is the one the engine wrote, with its hash.

Problem

Raise the price of the SMB plan from 29 to 35 EUR per seat?

  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
seq 0 / 9 · run_started

What happens

seq 0 · run_started

The engine opens the decision and plans four waves from the go-no-go graph: Analytical, then Critical-Validator (three runs required), then Optimizer, then Ethical-Governance and Predictive-Strategic in parallel.

Engine state

Wave in progress
1 of 4
Agents completed
  1. 1Analytical
  2. 2Critical-Validator
  3. 3Optimizer
  4. 4Ethical-GovernancePredictive-Strategic
Gates
No open gates
Confidence
n/a
Model families
none
Multiple runs

critical-validator 0/3

predictive-strategic 0/3

Log lineseq 0type run_startedprev 000000000000hash 5c0cfb6689fd
{
  "seq": 0,  "ts": "2026-11-06T19:36:53.438Z",
  "type": "run_started",  "data": {
    "run_id": "2026-11-06_raise-the-price-of-the-smb-plan-from_30905c81",
    "problem": "Raise the price of the SMB plan from 29 to 35 EUR per seat?",
    "graph": "go-no-go",
    "mode": "autonomous",
    "tags": [
      "pricing",
      "smb"
    ],
    "include": [],
    "engine_version": "3.0.0",
    "plan": {
      "graph": "go-no-go",
      "title": "Go / No-Go",
      "waves": [
        [
          {
            "node": "analytical",
            "agent": "analytical",
            "optional": false,
            "required_by": [],
            "multi_run": 1
          }
        ],
        [
          {
            "node": "critical-validator",
            "agent": "critical-validator",
            "optional": false,
            "required_by": [],
            "multi_run": 3
          }
        ],
        [
          {
            "node": "optimizer",
            "agent": "optimizer",
            "optional": false,
            "required_by": [],
            "multi_run": 1
          }
        ],
        [
          {
            "node": "ethical-governance",
            "agent": "ethical-governance",
            "optional": false,
            "required_by": [],
            "multi_run": 1
          },
          {
            "node": "predictive-strategic",
            "agent": "predictive-strategic",
            "optional": false,
            "required_by": [],
            "multi_run": 3
          }
        ]
      ]
    },
    "patterns": [],
    "learned_patterns": [],
    "recalled": [],
    "families_available": []
  },
  "prev": "0000000000000000000000000000000000000000000000000000000000000000",  "hash": "5c0cfb6689fde5468d4b4f84f01c68d34507d7fd3794a268934889a4eb60c947"}

Log verification

Every line contains the SHA-256 hash of the previous line, computed on its content. The button below recomputes the chain right in your browser. Then try changing a value, such as a risk probability or the person's words at the gate, and verify again.

Exported final hash: a31c94dba07a0a94a792e99bdc03a95beae2aa76810d48e06988cb92f36b42aa

Test case: manufacturer, Brescia

Before releasing 3.0.1 I ran the plugin in four real Claude Code sessions on a case built on purpose but realistic: an 80-employee manufacturer in Brescia that wants an AI agent on first-level support and to cut customer care from six people to two in six months, with a 60,000 EUR budget and about 1,800 tickets a month.

Critical-Validator computed that with two people 67% of tickets would have to be automated against a realistic 40%, leaving each operator about 540 tickets a month. The ethics agent flagged the plan as a red line, four layoffs of permanent staff decided on an assumption nobody had verified, and the engine stopped everything until the person decided. The outcome was a phased pilot on order-status and delivery-note requests, with automation thresholds to clear before touching any job.

Read the full story on the blog, in Italian

To try it on one of your own decisions you need to install it, and in Claude Code two commands are enough.

Install AITS