/**
 * 扩展平台场景定义 — 从 extension_scenario_registry.ts 提取，消除循环依赖。
 *
 * 13 个场景覆盖 13 个扩展平台问题的静态定义。
 * 场景运行器仍留在 extension_scenario_registry.ts 中。
 */
// ── 场景定义 ──
export const EXTENSION_SCENARIOS = [
    {
        id: "scenario-A", name: "扩展生命周期与权限管控",
        fixture: "ExtensionManifest / ExtensionGrant / ExtensionCapabilityDeclaration",
        command_or_entry: "validateExtensionManifest / evaluateExtensionLifecycle / grantExtensionPermissions",
        expected_evidence: ["第三方扩展不得自称 enforced", "权限授权正确", "高风险权限需人类审批"],
        pass_fail_rules: ["第三方扩展 enforced 被阻断", "合法生命周期转移通过", "高风险权限未审批被拒绝"],
    },
    {
        id: "scenario-B", name: "指标真实性与治理动作",
        fixture: "MetricContract / MetricSample / GovernanceFinding / GovernanceActionBinding",
        command_or_entry: "evaluateMetrics / createGovernanceFinding / evaluateGovernanceAction",
        expected_evidence: ["skipped 不算 passed", "degraded 不算 passed", "高风险动作不自动触发"],
        pass_fail_rules: ["非 passed 状态不算通过", "critical 级高风险动作需人类确认"],
    },
    {
        id: "scenario-C", name: "决策主权与脑暴联动",
        fixture: "BrainstormSession / TechnologyDecisionContract / TechnologyDecisionRecord / DecisionEvidence",
        command_or_entry: "createBrainstormSession / validateBrainstormSession / canBrainstormAutoExecute / createTechnologyDecision / validateTechnologyDecision / createDecisionRecord / evaluateDecisionExecution",
        expected_evidence: ["高风险决策需 human gate", "脑暴必须产生候选方案", "脑暴推荐不能自动执行", "recommended 状态不可执行", "approved 可执行"],
        pass_fail_rules: [
            "高风险技术决策必须先有多方案探索记录",
            "高风险技术决策需要 human gate",
            "recommended_option 与 executable_without_human 必须分离",
            "脑暴推荐不绕过 Decision Sovereignty",
            "destructive decision 必须有 rollback_or_exit_plan",
        ],
    },
    {
        id: "scenario-D", name: "细节纪律",
        fixture: "DetailDisciplineContract / DetailDisciplineCheck / DetailRiskItem",
        command_or_entry: "performDetailCheck / summarizeDetailChecks / checkDetailGateIntegration",
        expected_evidence: ["缺失维度被检测", "blocking 项阻止交付", "检查接入交付 gate"],
        pass_fail_rules: ["细节纪律必须接入验证与交付 gate"],
    },
    {
        id: "scenario-E", name: "第一性原理",
        fixture: "FirstPrinciplesFrame / FirstPrinciplesCheck",
        command_or_entry: "performFirstPrinciplesCheck / validateFirstPrinciplesForHighImpact",
        expected_evidence: ["缺少 fundamental_need 被阻断", "缺少证伪被检测", "能阻断错误前提"],
        pass_fail_rules: ["high impact 变更必须有 fundamental_need"],
    },
    {
        id: "scenario-F", name: "跨平台路径安全",
        fixture: "PlatformContext / NormalizedPathRef / PathSafetyCheck",
        command_or_entry: "detectPlatformContext / normalizePathRef / checkPathSafety",
        expected_evidence: ["路径规范化正确", "scope 逃逸被检测", "symlink 被检测"],
        pass_fail_rules: ["工作区内路径安全", ".. 路径逃逸被阻断", "大小写冲突被检测"],
    },
    {
        id: "scenario-G", name: "脑暴多方案探索与原则联动",
        fixture: "BrainstormSession / OptionExplorationRecord / OptionTradeoffMatrix / FirstPrinciplesFrame / DetailDisciplineContract",
        command_or_entry: "createBrainstormSession / validateBrainstormSession / canBrainstormAutoExecute / createTradeoffMatrix / createFirstPrinciplesFrame / performFirstPrinciplesCheck / createDetailDisciplineContract / performDetailCheck",
        expected_evidence: ["脑暴产生 3+ 候选方案", "取舍矩阵生成", "脑暴推荐不绕过 Decision Sovereignty", "第一性原理框架完整", "细节纪律检查接入", "三个契约联动"],
        pass_fail_rules: [
            "高影响方案必须至少包含候选方案、优缺点、适用边界、失败条件和验证方式",
            "推荐方案必须包含不推荐其他方案的原因",
            "脑暴推荐不得绕过 Decision Sovereignty human gate",
            "脑暴结论必须进入 TaskContext / decision record / evidence refs 之一",
        ],
    },
    {
        id: "scenario-H", name: "架构设计审查",
        fixture: "ArchitectureDesignContract / ArchitectureDesignReview",
        command_or_entry: "reviewArchitectureDesign / validateOutputDirectoryDecision / validateMermaidDiagrams",
        expected_evidence: ["输出目录未确认阻断 delivered", "Mermaid 图必须可渲染", "输入集不完整被检测"],
        pass_fail_rules: ["未确认目录不得 delivered", "Mermaid 渲染失败被检测"],
    },
    {
        id: "scenario-I", name: "现有系统分析与差距分析",
        fixture: "ProjectContextDetection / ExistingSystemAnalysisContract / RequirementGapAnalysis",
        command_or_entry: "detectProjectContext / checkAnalysisGate / reviewExistingSystemDevelopment",
        expected_evidence: ["existing_system 必须先分析", "差距分析前置检查", "缺失分析被阻断"],
        pass_fail_rules: ["existing_system + new_requirement 必须先做分析"],
    },
    {
        id: "scenario-J", name: "编码准备门与测试优先",
        fixture: "CodingReadinessContract / TestFirstPlan / CodingCompletionReview",
        command_or_entry: "evaluateCodingReadiness / performMainlineConsumptionCheck / reviewCodingCompletion",
        expected_evidence: ["编码不是第一步", "blocked 时不得编码", "测试优先计划被检查"],
        pass_fail_rules: ["coding 不能作为第一步", "blocked/manual_required 时不得写代码"],
    },
    {
        id: "scenario-K", name: "本地 Docker/浏览器验收",
        fixture: "LocalDockerAcceptanceContract / BrowserAcceptanceEvidence / FinalLocalReviewAccess",
        command_or_entry: "requiresLocalAcceptance / validateFinalAccess / performBrowserAcceptance",
        expected_evidence: ["有前端时不得只停单测", "必须提供本地 URL", "修复循环策略"],
        pass_fail_rules: ["最终必须给用户本地可访问 URL", "浏览器验收失败需要修复"],
    },
    {
        id: "scenario-L", name: "工作流模板包消费",
        fixture: "WorkflowTemplatePackContract / TemplateConsumptionEvidence",
        command_or_entry: "validateWorkflowTemplatePack / advanceTemplateConsumptionStatus",
        expected_evidence: ["模板必须走完消费 pipeline", "停在中间状态被检测"],
        pass_fail_rules: ["模板文件存在但未消费不得 completed"],
    },
    {
        id: "scenario-M", name: "演进回归与新问题门控",
        fixture: "NewIssueRegressionGate / DuplicateIssueCheck / TemplateEvolutionImpact",
        command_or_entry: "checkDuplicateIssue / analyzeTemplateEvolutionImpact / performEvolutionGate",
        expected_evidence: ["重复问题被检测", "模板演进影响被分析", "未通过门控不得 accepted"],
        pass_fail_rules: ["没有 NewIssueRegressionGate 的新增问题不得 accepted"],
    },
];
//# sourceMappingURL=extension_scenario_definitions.js.map