/** * 追踪 ID 提取工具 — 共享层模块。 * * 职责边界: * - 负责:从文档正文提取设计追踪 ID(REQ/PROTO/ARCH/DD/PHASE/SLICE/AC 等),供知识资产元数据扫描打 traceability_ids * - 不负责:其他契约层职责 * * 被谁调用:知识索引和审计模块(知识资产正文 → traceability_ids 元数据) * 调用谁:无外部依赖 * * 数据流:文档正文 → 正则提取 → 去重后的追踪 ID 列表 * 持久化:无(纯函数) * * 说明:本模块从 src/domain/contracts/traceability.ts 搬迁而来,仅保留 ID 提取能力。 */ /** * 全链路追溯矩阵的统一 ID 提取器(单一真相源)。 * * canonical 格式:`{prefix}` + 可选「中文/字母数字语义段 + -」+ 1-4 位数字。 * - 纯数字 ID 与有语义段 ID 均可,如 `REQ-001`、`REQ-user-login-01`。 * - 拉丁类别 + 数字(DD-A01/DD-T01):prefix 含类别字母(传 `"DD-A"`/`"DD-T"`)。 * - 模块命名 ID(SLC-用户-01 / SLC-admin-01 / FE-client-01):模块段为中文或字母。 * * 所有消费者(cross_validation / coverage / slice_contract)统一调此,避免各持窄正则 * 致「格式 gate 允许、消费者不认」静默漏 ID(REQ-用户-01 翻车即此类)。 * * @param content 文档正文 * @param prefix ID 前缀(含必要段,如 "REQ-"、"DD-A"、"SLC-"、"FE-") * @returns 去重后的 ID 数组 */ export declare function extractIdsByPrefix(content: string, prefix: string): string[]; /** 从内容提取匹配任一前缀的 ID 集合(去重,委托 extractIdsByPrefix)。 */ export declare function extractIdsByPrefixes(content: string, prefixes: string[]): Set; export declare function extractTraceabilityIds(content: string): string[]; /** * 剥离不构成"实质承载"的提及位置:HTML 注释、markdown 删除线、TODO/FIXME/未实现 标记行。 * 覆盖率类检查专用:REQ 出现在这些位置不算"被下游产物真实承载"——原直接 extractTraceabilityIds * 会把 `` / `~~REQ-001~~` / `TODO: REQ-001 未实现` 里的 REQ 也算覆盖(形式闭环≠实质闭环)。 * 仅用于覆盖率消费方(下游产物),不用在需求定义侧。 */ export declare function stripCoverageNoise(content: string): string;