/** * Release Candidate Utils — 发布层模块。 * * 职责边界: * - 负责:ReleaseCandidate 等 发布层职责 * - 不负责:不属于本模块的职责由对应模块承担 * * 被谁调用:发布工具(sf_release)、门禁 * 调用谁:logger * * 数据流:项目状态 → 门禁检查 → 发布决策 * 持久化:无持久化(纯计算/内存态) */ /** 候选版本信息 */ export interface ReleaseCandidate { /** 版本标识(语义版本号,如 "1.2.3") */ version: string; /** 创建时间(ISO 8601) */ created_at: string; /** 管线阶段 */ stage: string; /** 质量分数(0-100) */ quality_score?: number; /** 是否通过全部门禁 */ gates_passed?: boolean; } /** * 按优先级排序候选版本。 * * 排序规则(优先级从高到低): * 1. 通过全部门禁的优先于未通过的 * 2. 质量分数高的优先 * 3. 语义版本号大的优先 * 4. 创建时间新的优先 * * @param candidates - 候选版本列表 * @returns 排序后的候选版本列表(新数组,不修改原数组) */ export declare function sortReleaseCandidates(candidates: ReleaseCandidate[]): ReleaseCandidate[];