IFClite TypeScript API
    Preparing search index...

    Interface DocumentRule

    Re-run on every lint pass; sees all specifications at once.

    interface DocumentRule {
        area: LintArea;
        assumptions?: { id: string; verified: string }[];
        code: string;
        defaultSeverity: LintSeverity;
        example?: string;
        fix?: string;
        kind: "model" | "static";
        optIn?: boolean;
        rationale: string;
        references?: string[];
        scope: "document";
        title: string;
        check(specs: readonly SpecView[], input: RuleInput): Finding[];
    }

    Hierarchy (View Summary)

    Index
    area: LintArea
    assumptions?: { id: string; verified: string }[]

    RAID assumptions the rule depends on, with how they were verified.

    code: string
    defaultSeverity: LintSeverity
    example?: string

    A minimal triggering example (IDS XML fragment) for the docs.

    fix?: string

    What the quick fix does, when the rule offers one.

    kind: "model" | "static"

    static rules need no model; model rules are run by the model loop (P-05).

    optIn?: boolean

    Off by default (noisy on real documents). The rule runs only when the linter config enables it: LintOptions.rules names it, or LintOptions.severity gives it a severity other than 'off'.

    rationale: string

    Long-form rationale, shown as Diagnostic.why and on the docs page.

    references?: string[]

    Upstream references (IDS issues, documentation).

    scope: "document"
    title: string

    One-line title for tables and the docs index.