types/lesson.types.ts

types/lesson.types.ts is a file in Bane's Lab Content. 49 lines of code and 10 definitions.

import type { AlgoGrammar, ArchRelations, Lexicon } from "@govlab/context";

export type SeedSource = "algorithms" | "model" | "profile";

export type SeedField = "cause" | "principle" | "problem" | "validation";

export interface Faces {
    readonly algo: AlgoGrammar;
    readonly arch: ArchRelations;
    readonly lex: Lexicon;
}

export type SeedLevel =
    "construction" | "decision-making" | "evaluation" | "mental-model" | "observation" | "principles";

export interface LessonSeed {
    readonly application: readonly string[];
    readonly boundary: null;
    readonly cause: readonly string[];
    readonly decision: string;
    readonly domain: string;
    readonly failureMode: string | null;
    readonly id: string;
    readonly level: SeedLevel;
    readonly principle: string;
    readonly problem: string | null;
    readonly source: SeedSource;
    readonly validation: string | null;
}

export interface IncompleteSeed {
    readonly id: string;
    readonly missing: readonly string[];
}

export interface SeedReport {
    readonly incomplete: readonly IncompleteSeed[];
    readonly seeds: readonly LessonSeed[];
}

export interface InvariantStatement {
    readonly heading: string;
    readonly objector: string;
    readonly parties: string;
    readonly property: string;
    readonly set: string;
}

export interface SlotWords {
    readonly objector: string;
    readonly parties: string;
    readonly property: string;
    readonly set: string;
}

export interface ProfilePrinciple {
    readonly body: string;
    readonly heading: string;
}