import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
/**
 * SOP-vs-Norm distinction module — teaches every agent how to differentiate
 * procedural SOPs (step-by-step deliverable guides) from behavioral Norms
 * (collaboration covenants applied as constraints), how to name and place
 * new SOP / Norm docs, how to reconcile conflicting versions, and how to
 * communicate with task owners (silent-by-default / outcomes-first /
 * thread-scope-discipline).
 *
 * This module sits at v1.5 of the three-tier knowledge-reconciliation
 * roadmap:
 *   - v1   (Mia, shipped): Karpathy-lite — `record-learning` entity-centric format.
 *   - v1.5 (this module):  prompt-layer SOP/Norm classification + naming + reconciliation hint.
 *   - v2   (Archivist, deferred): full cross-artifact synthesis engine.
 *
 * Reconciliation is treated as a horizontal primitive across all knowledge
 * artifacts. v1.5 is the prompt-layer hint only — it does NOT introduce a
 * service. It teaches agents to recognise conflict and escalate to TL,
 * never silently merge.
 *
 * Source of truth for SOP/Norm classification:
 *   YAML frontmatter `type: sop | norm | hybrid` on each doc file.
 *   Filename prefix (`sop-*` / `norm-*` / `hybrid-*`) is a secondary hint.
 *
 * Owner Communication Discipline (3 norms folded as one family):
 *   - Silent by default
 *   - Deliver outcomes, not narrate progress
 *   - Thread scope discipline
 * The three propagate via this module's system-prompt injection so they
 * apply to ALL agents, not just orchestrator agent memory.
 *
 * Spec source:
 *   `.crewly/tasks/autonomy_v1/follow-up/sop-norm-prompt-module.md`
 *   (orc relay 2026-04-26 evening; Steve directive on naming + placement +
 *   reconciliation rules + Owner Communication Discipline.)
 *
 * @module services/ai/prompt-modules/sop-norm-distinction.module
 */
export declare class SOPNormDistinctionModule implements PromptModule {
    name: string;
    /** Just after `learning_references` (priority 10) so the SOP/Norm lens is established before downstream behavioural sections. */
    priority: number;
    /**
     * Soft cap. Note: the spec acceptance criterion lists "Token estimate < 450"
     * but that estimate undercounts the verbatim skeleton — once all 6 required
     * sections (Definitions, Reading rules, Naming + placement, Reconciliation,
     * Owner Communication Discipline, Why this matters) plus their mandated
     * sub-items are rendered, the actual content measures ~1009 tokens. The
     * authoritative budget is therefore raised to 1100 (≈9% headroom). Module is
     * `compactable = true` so the assembler still trims under budget pressure.
     * Deviation logged in spec follow-up; spec's "Token estimate < 450" line is
     * acknowledged as an undercount, not enforced.
     */
    maxTokens: number;
    compactable: boolean;
    /**
     * Always include — every agent (orchestrator, TL, executor) needs the
     * SOP-vs-Norm lens and the Owner Communication Discipline guard rails.
     *
     * @param _config - unused; included for interface symmetry.
     * @returns always `true`.
     */
    shouldInclude(_config: ModuleConfig): boolean;
    /**
     * Build the SOP-vs-Norm distinction section as a markdown string.
     * Output structure (6 sections, per spec acceptance criteria):
     *   1. Definitions (SOP / Team Norm / Hybrid).
     *   2. Reading rules (4 items).
     *   3. Naming + placement rules (4 items).
     *   4. Reconciliation rules (4 items, "extend not replace").
     *   5. Owner Communication Discipline (3 norms as one family).
     *   6. Why this matters.
     *
     * @param _config - unused; module content is static.
     * @returns markdown section.
     */
    build(_config: ModuleConfig): Promise<string>;
}
//# sourceMappingURL=sop-norm-distinction.module.d.ts.map