IFClite TypeScript API
    Preparing search index...

    Interface TranscriptTurn

    Memory extractor — propose overlay deltas from session transcripts.

    After a long chat session the assistant has likely surfaced preferences ("I want CSV exports", "always default to red for IfcWall"). Rather than ask the user to retype these into their overlay, the extractor walks a session transcript and emits a proposed delta.

    Privacy is the headline feature. The extractor never emits a proposal containing model content, file names, GlobalIds, IDs of any kind, or PII. It does emit phrasing that looks like a stable preference. The output filter is strict: anything matching the blocklist is dropped silently, not edited, so the UI can never surface "we couldn't remove the GlobalId from this suggestion".

    v1 is rule-based — keyword + phrase matching against the assistant and user turns. The LLM-assisted version with structured-output round trips is a follow-up; the rule extractor is sufficient for the explicit-preference cases that dominate (per RFC §06 §4.2).

    Spec: docs/architecture/ai-customization/06-self-improvement.md §4.2.

    interface TranscriptTurn {
        content: string;
        role: "system" | "user" | "assistant";
        ts?: string;
    }
    Index
    content: string

    Message body. The extractor reads but never echoes it whole.

    role: "system" | "user" | "assistant"
    ts?: string

    Optional ISO timestamp — used to age out very old turns.