/** * Result items of the Lotse completeness check (client-safe, lane L9). Labels come from messages * `lotse.completeness.item.`; `text` is the model's plain-language hint for `lotse_hint`. */ export const COMPLETENESS_CODES = [ "photo_requirement", "checklist_item", "material_reason", "material_unconfirmed", "no_work_time", "no_description", "signature_missing", "lotse_hint", ] as const; export type CompletenessCode = (typeof COMPLETENESS_CODES)[number]; export type CompletenessItem = { code: CompletenessCode; /** checklist/photo requirement/material label */ label?: string; /** Lotse hint text (missingInformation) */ text?: string; /** deep link into the mobile sub page */ href: string; source: "rule" | "lotse"; };