/** * Pre-Launch Security Checklist * * Maps scan findings to the 11-item "vibe coder pre-launch checklist" and * renders a PASS / FAIL / NOT-ASSESSED / NEEDS-RUNTIME report. This is the * artifact that demonstrates checklist coverage to a user. * * Coverage tiers: * - Static items are assessed by the free deterministic layer (scanners + * detection + logic + curated adversary tactics). * - Behavioral items (auth failure paths, cross-tenant isolation *proof*) need * the runtime layer (Pro) to move from "static check" to "proven". * * @module compliance/checklist */ import type { Severity } from "../certification/types.js"; export type ChecklistStatus = "pass" | "fail" | "not-assessed" | "needs-runtime"; /** A finding shape the checklist can map (works for DeterministicFinding too). */ export interface ChecklistFinding { category?: string; cweIds?: string[]; ruleId?: string; message?: string; severity: Severity; file?: string; line?: number; } export interface ChecklistItem { id: string; order: number; title: string; /** What the vibe-coder checklist asks for. */ summary: string; categories: string[]; cweIds: string[]; ruleIds: string[]; keywords: string[]; /** Only fully proven by the runtime layer (auth failure paths, A-can't-read-B). */ behavioral?: boolean; } export interface ChecklistResult { item: ChecklistItem; status: ChecklistStatus; findings: ChecklistFinding[]; highestSeverity?: Severity; } /** * The 11 checklist items, each mapped to the detection signals that satisfy or * fail it. ruleIds reference adversary-tactic ids and Vaspera detection rule ids. */ export declare const CHECKLIST_ITEMS: ChecklistItem[]; export interface ChecklistContext { /** Whether the static deterministic layer ran (scanners/tactics/detection). */ staticAssessed: boolean; /** Whether the runtime proof layer ran (Pro). */ runtimeRan: boolean; } /** * Map findings to the 11 checklist items. */ export declare function mapFindingsToChecklist(findings: ChecklistFinding[], ctx?: ChecklistContext): ChecklistResult[]; /** * Render the checklist as a Markdown report. */ export declare function formatChecklistAsMarkdown(results: ChecklistResult[], projectPath: string): string; //# sourceMappingURL=checklist.d.ts.map