import { type BaselineSource } from "../internals/baseline-sources.js"; import type { CanonMode } from "../internals/canon-mode.js"; import { type Cli } from "../internals/clis.js"; import type { ManagedBlock } from "../internals/markers.js"; import type { RepoStack } from "../profile/scan.js"; /** The marker id every canon bootloader shares (matches the eicp convention). */ export declare const SHARED_MARKER = "ai-canonical:shared"; /** The note on the BEGIN line — names the single source so hand-edits stay out. */ export declare function sharedNote(dir: string): string; export type DisciplinePrincipleId = "think-before-coding" | "simplicity-first" | "surgical-changes" | "goal-driven" | "canon-tools"; /** * One discipline principle, authored once with both renderings: the compact * working-agreement bullet (shared block → every bootloader) and the long-form * behavior-core section. */ export interface DisciplinePrinciple { /** Stable handle for tests/tooling; never emitted. */ readonly id: DisciplinePrincipleId; /** Compact rendering: `- **