/** 双层机制状态 */
export type DualLayerMechanismStatus = "template_only_advisory" | "code_only_enforced" | "dual_layer_enforced" | "experimental_dual_layer" | "deprecated";
/** 模板层宿主目标 */
export type TemplateTargetHost = "claude_code" | "codex" | "cursor" | "trae" | "generic_mcp";
/** 模板资产 */
export interface MechanismTemplateAsset {
    path: string;
    asset_kind: string;
    consumption_mode: string;
}
/** 双层机制治理发现 */
export interface DualLayerGovernanceFinding {
    severity: "hard_fail" | "advisory";
    mechanism_id: string;
    finding_type: "template_gap" | "code_gap" | "evidence_gap" | "test_gap" | "drift_gap" | "asset_unconsumed" | "orphan_enforcer" | "template_mechanism_drift" | "p0_not_dual_layer" | "entrypoint_not_found" | "not_dual_layer" | "foundation_not_dual_layer" | "empty_mechanism" | "thick_knowledge_in_shared_template" | "template_too_thick" | "unregistered_hard_rule";
    message: string;
}
/** 双层机制完整契约 ( 规范) */
export interface DualLayerMechanismContract {
    mechanism_id: string;
    mechanism_name: string;
    owner_issue_id?: string;
    priority: "P0" | "P1" | "P2" | "P3";
    template_layer: {
        required: boolean;
        assets: MechanismTemplateAsset[];
        injected_routes: string[];
        injected_workflows: string[];
        target_hosts: TemplateTargetHost[];
        language_policy: "zh_first" | "en_first" | "bilingual" | "source_preserving";
    };
    enforcement_layer: {
        required: boolean;
        enforcers: string[];
        registries: string[];
        entrypoints: string[];
        state_effects: string[];
        hard_fail_conditions: string[];
        degradation_behavior: string;
    };
    evidence_layer: {
        outputs: string[];
        reports: string[];
        diagnostic_codes: string[];
        task_context_facts: string[];
    };
    verification_layer: {
        tests: string[];
        runtime_checks: string[];
        regression_cases: string[];
        drift_checks: string[];
    };
    status: DualLayerMechanismStatus;
}
/** 机制双层映射 (操作视图，从 DualLayerMechanismContract 派生) */
export interface MechanismLayerMap {
    mechanism_id: string;
    mechanism_name: string;
    owner_issue_id?: string;
    priority: "P0" | "P1" | "P2" | "P3";
    template_assets: MechanismTemplateAsset[];
    template_consumers: string[];
    code_enforcers: string[];
    code_entrypoints: string[];
    registries: string[];
    evidence_outputs: string[];
    diagnostics: string[];
    tests: string[];
    status: DualLayerMechanismStatus;
    /** Use status */
    layer_status?: DualLayerMechanismStatus;
    /** 模板层注入路由 */
    injected_routes?: string[];
    /** 模板层注入工作流 */
    injected_workflows?: string[];
    /** 宿主目标 */
    target_hosts?: TemplateTargetHost[];
    /** 语言策略 */
    language_policy?: "zh_first" | "en_first" | "bilingual" | "source_preserving";
    /** 强制层状态效果 */
    state_effects?: string[];
    /** 强制层硬失败条件 */
    hard_fail_conditions?: string[];
    /** 降级行为 */
    degradation_behavior?: string;
    /** 证据层报告 */
    reports?: string[];
    /** TaskContext 写入的事实 */
    task_context_facts?: string[];
    /** 运行时检查 */
    runtime_checks?: string[];
    /** 回归测试场景 */
    regression_cases?: string[];
    /** 漂移检测 */
    drift_checks?: string[];
}
//# sourceMappingURL=dual_layer.d.ts.map