/** * v8.3.309+: 剥离功能单元目录名的 {文档}-{序号}- 前缀,取语义 slug 尾段 * (new-feature-notification-01-inbox-notification → inbox-notification), * 保证任务目录 topic 与切分单元语义一一对应(修复 Task-033-21 残片问题)。 * 非目录名格式(自创英文名/中文)无序号段时不匹配,原样返回。 * 导出供单测锁定剥离行为。 * * v8.3.316+: 序号段错定修复——「恰好两位数字段」可能来自 docSlug 尾段 * (plan-24-01-inbox 的 -24-)或 slug 尾段(doc-01-tier-02-design 的 -02-), * 消费端无法从目录名本身区分。规则改为: * - 恰好一个 -NN- 候选 → 它就是序号段(docSlug 多位数字如 meeting-2024 不产生候选)→ 剥离 * - 零个候选 → 非单元目录名(自创名)→ 原样 * - 多个候选 → 歧义结构 → 宁全勿残,原样返回(语义完整胜于序号冒充语义) * 新切分由生成端保证 docSlug 以字母结尾(doc2spec 截尾数字),歧义结构不再产出。 */ export declare function stripUnitSeqPrefix(unitDirName: string): string; /** * v8.3.382+: 确定性反查功能单元目录名——AI 拆分路径 functionalUnit 给中文/缺失、 * sourceFile 未携带 features/ 路径时,目录名回退到 Task-NNN 链(用户可见的 * 「Task-数字」命名)。此处用任务名/中文名到 010-requirements/features/ 枚举匹配: * 1) _matrix.md 的 feature 字段(中文显示名,unitize/doc2spec 写入) * 2) SOURCE.md 一级标题(中文显示名) * 3) 目录名尾段 slug 与任务名拼音比对(最弱,仅作候选) * 精确命中立即返回;子串命中/拼音命中收集为候选,扫描完无精确才采用。 * 导出供单测锁定反查行为(与 stripUnitSeqPrefix 同)。 */ export declare function resolveFeatureUnitDir(iterationDir: string, featureName: string): Promise; /** * v8.3.382+: 任务模块目录名统一解析—— * AI 直接给合法功能单元目录名 > features/ 确定性反查(中文名/任务名 → 目录名)> 空。 * 空时调用方回退 nextTaskId(Task-NNN-slug)链。 * 导出供单测锁定解析优先级(与 stripUnitSeqPrefix 同)。 */ export declare function resolveTaskModuleDirName(iterationDir: string, sec: any): Promise; /** * 生成子任务目录名(v8.3.337+ 改造) * 格式: Task-{模块名}——与模块目录名(功能单元名)一致,不再拼端名。 * 端名已由目录层级承载({模块}/{端}/{子任务}),拼入子任务 ID 是冗余; * 多端同名子任务分处不同端目录无目录冲突,Git 分支重名由 createTaskBranch hash 兜底。 * 例: 模块 admin-web-01-yudingguanli → 子任务 Task-admin-web-01-yudingguanli */ export declare function generateSubtaskId(moduleDirName: string): string; export interface IterationTaskifyOptions { file?: string; iteration?: string; sections?: string; target?: string; dryRun?: boolean; interactive?: boolean; platforms?: string; strict?: boolean; owner?: string; prompt?: boolean; response?: string; force?: boolean; pipeline?: boolean; resume?: boolean; prune?: boolean; modules?: string; ignoreSpecsUpdate?: boolean; } export declare function iterationTaskifyCommand(options: IterationTaskifyOptions): Promise; //# sourceMappingURL=taskify.d.ts.map