Modello dati/contratto

The schemas package is the contract boundary. It keeps CLI, runner, server, admin, and packs aligned.

Risk

Declares impact, likelihood, and invariants.

Scenario

Describes an executable experiment tied to a risk surface.

Finding

Captures observed failure, severity, evidence, and replay level.

Contract sketch

type Finding = {
  id: string;
  severity: "P0" | "P1" | "P2" | "P3" | "P4";
  riskId: string;
  invariantId?: string;
  status: "suspected" | "verified" | "dismissed";
  replay: {
    level: "bug" | "scenario" | "agent";
    artifacts: string[];
  };
};
Schema drift

Do not document a field as supported unless it is represented in the shared schema or explicitly marked as planned.