/** * Research note serializer — PURE markdown note builder for multi-model research runs. * * PURE / NO fs / NO network / NO Date.now() * All timestamps are injected parameters; the wall clock is read ONLY at the CLI boundary. * * Mirrors src/medical/research/research-note.ts in structure. * Uses serializeFrontmatter (scalars + string-arrays ONLY — never pass objects). */ import type { ResearchJob } from "./types.js"; /** * Derive the canonical path for a research note under the vault. * Output: /research/-.md * Date is sliced from the injected ISO string — never wall-clock. */ export declare function researchNotePath(vaultRoot: string, marker: string, now: string): string; /** One labelled model answer collected by the runner. */ export interface ModelContribution { /** Canonical model label, e.g. "openai-compat/deepseek". */ label: string; /** The model's answer text. */ text: string; } /** * Serialize a multi-model research run into a vault note string. * * Frontmatter fields (all required by sc-2-2): * title, jobId, question, models (string[]), generatedAt, domain, type, status * * Body: per-model contribution sections — records WHICH model label produced each answer. * * PITFALL: models must be string[] (labels), never RoleProviderBlock[]. * serializeFrontmatter renders nested objects as "[object Object]". */ export declare function serializeResearchNote(job: ResearchJob, labels: string[], contributions: ModelContribution[], now: string, sources?: string[]): string; //# sourceMappingURL=note-writer.d.ts.map