/**
 * Core Engineering Principles Contract
 *
 * 四条核心工程执行原则的统一契约:
 * - Think Before Coding: 先明确再动手
 * - Simplicity First: 最少代码解决已确认目标
 * - Surgical Changes: 只改必须改的
 * - Goal-Driven Execution: 先定义目标，再执行，执行后必须验证
 *
 * 按任务等级 (L0-L4) 分级执行强度，支持可注入、可验证、可阻断的双层机制。
 */
export type CoreEngineeringPrincipleId = "think_before_coding" | "simplicity_first" | "surgical_changes" | "goal_driven_execution";
export type UncertaintyLevel = "blocking" | "material" | "minor" | "non_blocking";
export type TaskLevel = "L0" | "L1" | "L2" | "L3" | "L4";
export type PrincipleEnforcementLevel = "required" | "advisory" | "not_applicable";
export type PrincipleCheckStatus = "passed" | "failed" | "warning" | "not_applicable";
export interface ClarificationNeed {
    question: string;
    uncertainty_level: UncertaintyLevel;
    blocking: boolean;
    context: string;
}
export interface AssumptionRecord {
    assumption: string;
    uncertainty_level: UncertaintyLevel;
    evidence_or_reason: string;
    needs_manual_confirm: boolean;
}
export interface ComplexityJustification {
    new_dependency?: string;
    new_abstraction?: string;
    new_framework?: string;
    new_global_registry?: string;
    new_files_count?: number;
    reason: string;
    user_goal_alignment: string;
}
export interface GoalDefinition {
    user_goal: string;
    success_criteria: string[];
    non_goals: string[];
    required_entrypoints: string[];
    required_evidence: string[];
    manual_acceptance_items: string[];
}
export interface CorePrinciplesCheckResult {
    principle_id: CoreEngineeringPrincipleId;
    status: PrincipleCheckStatus;
    findings: string[];
    evidence_refs: string[];
    required_action?: "clarify" | "simplify" | "reduce_diff" | "add_verification" | "回退";
}
export interface CorePrinciplesReport {
    task_level: TaskLevel;
    principles: CorePrinciplesCheckResult[];
    overall_passed: boolean;
    generated_at: string;
}
export interface CoreEngineeringPrinciple {
    id: CoreEngineeringPrincipleId;
    name: string;
    chinese_name: string;
    rule: string;
    applies_to_routes: string[];
    applies_to_workflows: string[];
    template_assets: string[];
    enforcement_checks: string[];
    evidence_outputs: string[];
    hard_fail_conditions: string[];
    advisory_conditions: string[];
}
/** 原则冲突优先级 — 原则冲突时按此顺序裁定，越靠前优先级越高 */
export declare const PRINCIPLE_PRIORITY: CoreEngineeringPrincipleId[];
/**
 * 获取所有核心工程原则列表。
 * @returns 核心工程原则数组
 */
export declare function listCorePrinciples(): CoreEngineeringPrinciple[];
/**
 * 根据 ID 获取核心工程原则定义。
 * @param id - 原则 ID
 * @returns 原则定义，不存在时返回 undefined
 */
export declare function getCorePrinciple(id: CoreEngineeringPrincipleId): CoreEngineeringPrinciple | undefined;
/**
 * 根据路由或执行形状获取任务等级。
 * @param route - 路由标识（可选）
 * @param executionShape - 执行形状（可选）
 * @returns 任务等级（L0-L4）
 */
export declare function getTaskLevel(route?: string, executionShape?: string): TaskLevel;
/**
 * 获取指定原则在给定任务等级下的执行强度。
 * @param principleId - 原则 ID
 * @param taskLevel - 任务等级
 * @returns 执行强度（required/advisory/not_applicable）
 */
export declare function getEnforcementLevel(principleId: CoreEngineeringPrincipleId, taskLevel: TaskLevel): PrincipleEnforcementLevel;
/**
 * 获取指定任务等级下所有 required 级别的原则 ID 列表。
 * @param taskLevel - 任务等级
 * @returns required 级原则 ID 数组
 */
export declare function getRequiredPrinciples(taskLevel: TaskLevel): CoreEngineeringPrincipleId[];
export interface PrincipleCheckContext {
    route?: string;
    execution_shape?: string;
    changed_files: string[];
    declared_scope: string[];
    has_goal_definition?: boolean;
    has_verification_plan?: boolean;
    verification_executed?: boolean;
    verification_passed?: boolean;
    clarifications?: ClarificationNeed[];
    assumptions?: AssumptionRecord[];
    complexity_justifications?: ComplexityJustification[];
    goal?: GoalDefinition;
}
/**
 * 检查"编码前先思考"原则 — 验证是否存在未解决的阻塞性澄清和未确认的假设。
 * @param ctx - 原则检查上下文
 * @returns 原则检查结果
 */
export declare function checkThinkBeforeCoding(ctx: PrincipleCheckContext): CorePrinciplesCheckResult;
/**
 * 检查"简单优先"原则 — 验证复杂度引入是否有用户目标支撑。
 * @param ctx - 原则检查上下文
 * @returns 原则检查结果
 */
export declare function checkSimplicityFirst(ctx: PrincipleCheckContext): CorePrinciplesCheckResult;
/**
 * 检查"精准修改"原则 — 验证是否存在 scope 外修改。
 * @param ctx - 原则检查上下文
 * @returns 原则检查结果
 */
export declare function checkSurgicalChanges(ctx: PrincipleCheckContext): CorePrinciplesCheckResult;
/**
 * 检查"目标驱动执行"原则 — 验证是否有可验证目标、验证计划，以及验证是否已执行且通过。
 * @param ctx - 原则检查上下文
 * @returns 原则检查结果
 */
export declare function checkGoalDrivenExecution(ctx: PrincipleCheckContext): CorePrinciplesCheckResult;
/**
 * 执行完整的核心工程原则检查 — 对所有四条原则进行检查，根据任务等级覆盖不适用原则的状态。
 * @param ctx - 原则检查上下文
 * @returns 核心原则检查报告，包含各原则检查结果和总体是否通过
 */
export declare function checkCorePrinciples(ctx: PrincipleCheckContext): CorePrinciplesReport;
/**
 * 防伪验证 — 检查原则检查报告中是否存在伪满足（声称通过但无证据引用）。
 * @param report - 核心原则检查报告
 * @returns 违规列表，每项描述伪满足的具体问题
 */
export declare function validateAntiCircumvention(report: CorePrinciplesReport): string[];
//# sourceMappingURL=core_engineering_principles.d.ts.map