Files
andreferraroandCursor 3b5c3fb86f
sonar / sonar (push) Skipped
sonar / sonar (pull_request) Failing after 40s
feat: add lab SQLite migrate, LiteLLM env, and OTEL/Grafana stack
Enable local workshop readiness with executable SQLite migrations, OpenTelemetry hello signals, and a provisioned Grafana demo dashboard over Tempo/Loki/Prometheus.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 14:58:33 -03:00

28 lines
917 B
SQL

-- TicketLab initial schema (lab / walking skeleton)
CREATE TABLE IF NOT EXISTS schema_migrations (
id TEXT PRIMARY KEY NOT NULL,
applied_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS tickets (
id TEXT PRIMARY KEY NOT NULL,
description TEXT NOT NULL,
status TEXT NOT NULL CHECK (status IN ('PENDING', 'CLASSIFIED', 'FAILED')),
category TEXT CHECK (
category IS NULL
OR category IN ('INCIDENT', 'ACCESS_REQUEST', 'BILLING', 'FEATURE_REQUEST', 'OTHER')
),
confidence REAL CHECK (
confidence IS NULL OR (confidence >= 0 AND confidence <= 1)
),
failure_reason TEXT CHECK (
failure_reason IS NULL
OR failure_reason IN ('AI_TIMEOUT', 'AI_UNAVAILABLE', 'AI_INVALID_RESPONSE')
),
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_tickets_status ON tickets (status);
CREATE INDEX IF NOT EXISTS idx_tickets_created_at ON tickets (created_at);