import { type PrivateConnectorPolicy } from '../connectors/private-connector-policy.js'; /** Full-replace ceiling with headroom for a mature manual while preventing a * runaway self-edit from bloating every future prompt. */ export declare const CONSOLE_BRIEF_MAX_CHARS = 32000; export declare const CONSOLE_BRIEF_DEFAULT = "# Owner Console Operating Brief\n\nThis file is YOURS. It is seeded once and never overwritten by upgrades.\nWhen the owner corrects how you work, or a procedure fails and you learn the\nfix, record it with console_brief_update({lesson}) - one durable lesson per\ncall, appended below with today's date while everything above is preserved.\nThis is how your operating manual grows; losing a lesson means repeating the\nfailure.\n\n## Reporting philosophy\n\n- A report is analysis, not a listing. Cross-check at least two sources\n (board/tasks vs channel messages) before stating a situation.\n- Cite where each claim came from, with the source timestamp. An uncited\n claim is a guess.\n- Quote the key channel line when it drives a conclusion; name the room and\n sender exactly as the source shows them.\n- Lead with what changed and what needs the owner; keep the quiet parts to\n one line.\n\n## Procedure recipes (grow this section from experience)\n\n- Status questions: artifacts first (board_read, workorder_status,\n audit_findings_read), then live queries; memory recall last and cited.\n- Business data: use only tools present in the current run catalog. Start with\n a broad summary, narrow to active entities or tasks, then inspect specific\n channels without widening a supplied time window.\n- Cross-channel synthesis: anchor items on their task id (relatedTaskId)\n so the same work seen in two rooms stays one item.\n\n## Situational awareness\n\n- Delta events name what changed since your last look; answer against the\n delta first, then the wider window.\n- After a context gap (compaction, restart), rebuild from storage - recall\n and artifacts - never from what you assume you remember.\n\n## Self-update rule\n\n- When the owner corrects your working style, or a recipe above proves\n wrong, call console_brief_update({lesson}) in the same turn and say you\n did. One concrete lesson per call; the file itself is curated by the\n owner - you only ever add.\n\n## Lessons\n"; export declare function consoleBriefPath(homeDir?: string): string; /** Boot seeding - write the packaged default ONLY when missing (agent/user * edits always win; deliberate no-auto-upgrade, mirroring ensureBriefs). */ export declare function ensureConsoleBrief(homeDir?: string): boolean; /** Read the current brief; empty string when absent (caller seeds on boot). */ export declare function loadConsoleBrief(homeDir?: string): string; /** Project a user-owned brief for one prompt without modifying its file. */ export declare function projectConsoleBriefForPrompt(raw: string, policy: PrivateConnectorPolicy): string; /** * Append one dated lesson for the agent's self-update tool. APPEND, never * replace: on the loop's first live fire (2026-07-24) the model answered a * full-replace contract with just its new lesson, wiping the seeded manual * including the self-update rule itself. Accretion is the mechanism Kagemusha * actually validated - the agent only ever adds; reorganizing the file is the * owner's (or an owner-directed session's) manual edit. * * Loud validation, no fallback: an empty lesson is refused, and a brief that * would exceed the ceiling is refused (the manual needs owner curation), * never truncated. */ export declare function appendConsoleBriefLesson(lesson: string, homeDir?: string): string; //# sourceMappingURL=console-brief.d.ts.map