Trevixal API
    Preparing search index...
    FormatResult: { ok: true; text: string } | { error: string; ok: false }

    Every formatter returns this instead of throwing: a code block full of half-typed JSON is the normal case, not an exceptional one, and the caller needs the parser's message to show the user what is wrong.