ContractSpec docs
OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
import { defineReferenceKind } from '@lssm-tech/lib.contracts-spec/rich-reference';
import { z } from 'zod';
export const ticketKind = defineReferenceKind({
id: 'ticket',
schema: z.object({ id: z.string(), title: z.string() }),
sensitiveFields: ['title'],
defaultPreview: 'inline-card',
defaultPanel: 'drawer',
icon: 'ticket',
});`sensitiveFields` is required at the type level and at runtime; kinds with no sensitive fields MUST pass `[]` with an inline confirmation comment (F-4 mitigation).