/** * Governance Process Gate —— governance requirement(process 模式)的 target 证据存在校验。 * * 设计依据:Migration Decision 方案 3 —— governance req 是 process/evidence gate,**不进入 artifact coverage**, * 由本 gate 独立校验其 target 证据是否存在(test_result/security_review 等有证据即满足)。 * * 职责:对 process 模式 req(bridge 产,source=governance),验其 evidence_requirements[0](target,domain) * 是否有有效 passed 证据。满足 → satisfied;缺证据 → missing;无 evidence_requirements(gate 型 target=gate_id)→ * no_evidence_binding(目标非产物证据,过程门无法验,标记待后续特殊处理)。 * * 不负责:artifact coverage(在 deep_coverage 编排,只对 artifact 模式 req)、orphan 检测、deliver 阻断决策。 */ import type { RequirementContract, DomainName } from "./types.js"; /** process req 满足状态。 */ export type ProcessReqStatus = "satisfied" | "missing" | "no_evidence_binding"; export interface ProcessReqResult { requirementId: string; target: string; domain: DomainName; status: ProcessReqStatus; reason: string; } export interface ProcessGateResult { satisfied: ProcessReqResult[]; missing: ProcessReqResult[]; /** gate 型(无 evidence_requirements,target 是 gate id 非 artifact)—— 过程门无法用证据校验,标记待特殊处理。 */ noEvidenceBinding: ProcessReqResult[]; /** 全满足(missing 与 noEvidenceBinding 均空)。 */ allSatisfied: boolean; } /** * 评估 process 模式 req 集合:每个 req 的 target 证据是否存在。 * 仅用于 process 模式 req(governance);artifact 模式 req 不传入(由 artifact coverage 处理)。 * * target 分类(f.2): * - target 是 catalog 已知 artifact kind → 证据校验(satisfied/missing,missing 阻断) * - target 非 catalog kind(gate 型 target=gate_id,或 policy 模板 target 与 catalog 不一致如 test_result)→ * advisory(noEvidenceBinding,非阻断):过程门无法用 artifact 证据校验 gate/non-catalog target, * 降为 advisory 不误阻断(warn 非 block);硬强制须接 gate-status source(后续)。 * - 无 target(无 evidence_requirements 且无 acceptance_criteria)→ advisory(action 型已被 bridge skip,此为兜底)。 * * allSatisfied = missing.length===0(advisory 不阻断)。 */ export declare function evaluateProcessRequirements(projectRoot: string, processReqs: RequirementContract[]): Promise;