AI Documentation

Two shipped AI capabilities — both read-only, grounded in real data, never inventing answers. Everything else is roadmap.

1 · Lint Explanation

The Designer linter flags problems (quiet zones, font sizes, overflow). The AI explains why each finding matters and how to fix it — in plain language.

2 · Log Q&A

Ask questions about your print logs: "Which jobs failed yesterday?", "Why did runner linz-01 go offline?". Answers are grounded exclusively in your actual audit trail — if the data isn’t there, the AI says so instead of inventing an answer.

Fundament: deklaratives JSON als Tool-Use-Ziel

label.json and flow.json are schema-versioned, validatable and patchable — exactly what an LLM tool call needs. No proprietary binary format for a model to guess at.

POST /api/v1/ai/lint-erklaerung

{
  "finding": {
    "object": "bc_sscc",
    "rule": "quiet_zone.min",
    "value": 1.2,
    "required": 2.0
  },
  "label_id": "lbl_8f2k3a"
}

// Response:
{
  "explanation": "The quiet zone of 1.2 mm is below the\nGS1 requirement of 2.0 mm (10 x module width).\nScanners cannot reliably read the barcode otherwise.",
  "fix": "Increase quiet zone to 2.0 mm",
  "grounded": true
}

POST /api/v1/ai/log-qa

{
  "question": "Which jobs failed yesterday?",
  "time_range": "yesterday"
}

// Response:
{
  "answer": "2 jobs failed: job 7f21 (PAL-1,\nribbon empty) and job 8a03 (VER-3, timeout).\nBoth went to the error path.",
  "sources": ["audit-log/entry/9912", "audit-log/entry/9915"],
  "grounded": true
}

Beide Endpunkte verlangen Authentifizierung (Bearer Token) und respektieren Rollen: Operator sehen nur ihre eigenen Drucke, Admins alles.

Read-only: The AI cannot modify labels or flows ändern. There is no write path — by design, not by configuration.
Grounded or nothing: Every response carries the field grounded: true/false. When false, the response only states that the data is insufficient.
Not included (Roadmap): AI-gestütztes Label-Design, Flow-Generierung, Copilots. These features do not exist yet — they will ship clearly labeled when they arrive.
Try it in the beta →