/** * 派生资产注册表 — 从 templates/ 扫描 frontmatter 自动生成索引。 * * 资产系统的唯一真相源是文件本身;本模块派生注册表(缓存/索引), * 职责边界: * - 负责:扫描 templates/ 目录 frontmatter,生成派生注册表索引 * - 不负责:gate 聚合调度(gate_registry_bridge.ts)、资产生命周期治理(checkAssetAntiBloat.ts) * * 被谁调用:gate_registry_bridge.ts(buildGateFromRegistry/getRegistry)、template_asset_contract_registry、doctor 服务、checkAssetAntiBloat * 调用谁:gray-matter(frontmatter 解析)、node:fs(文件扫描)、derived_types(类型) * * 数据流:templates/ 目录 → 逐文件读 frontmatter → DerivedAsset 索引 → ScanResult * 持久化:无(内存态,按需扫描;调用方如 getRegistry 做进程内缓存) */ import type { AssetStage, SyncPolicy, DerivedAsset, DerivedRegistry, ScanResult } from "./derived_types.js"; /** 扫描 rootDir(templates/)下所有 .md,建六索引 */ export declare function scanDerivedRegistry(rootDir: string): ScanResult; export declare function getById(reg: DerivedRegistry, id: string): DerivedAsset | undefined; /** 按路径查找(相对 templates/ 的路径,如 "constraints/rules/TS质量审查.md") */ export declare function findByPath(reg: DerivedRegistry, path: string): DerivedAsset | undefined; export declare function getByStage(reg: DerivedRegistry, stage: AssetStage): DerivedAsset[]; /** gate 聚合:取某 stage 所有含检查项的 active 资产。 */ export declare function getCheckableAssetsByStage(reg: DerivedRegistry, stage: AssetStage): DerivedAsset[]; export declare function getByTrigger(reg: DerivedRegistry, trigger: string): DerivedAsset[]; export declare function getBySync(reg: DerivedRegistry, policy: SyncPolicy): DerivedAsset[]; /** 返回用于上下文注入的 active 资产,排除 retired 资产。 */ export declare function getActive(reg: DerivedRegistry): DerivedAsset[]; /** 资产审计报告:识别僵尸、重叠和孤儿资产。 */ export interface AuditReport { /** 僵尸:triggers 空 + 无 check(永不命中、无校验职责)→ 候选物理删除 */ zombies: DerivedAsset[]; /** 重叠:同 type 下 id 关键词重叠(职责相似)→ 候选退役合并(人工定夺) */ overlaps: DerivedAsset[][]; /** 孤儿:无 owner_mechanism(无归属机制)→ 候选补归属或退役 */ orphans: DerivedAsset[]; total: number; } /** * 审计派生注册表,按类型产出清理候选。 * - 僵尸(triggers 从不命中 + 无 check)→ 物理删除(git rm) * - 重叠(职责相似)→ 退役保留(status=retired,人工合并/取舍,可逆) * - 孤儿(无 owner_mechanism)→ 退役保留,人工补归属或删 */ export declare function auditRegistry(reg: DerivedRegistry): AuditReport; export interface HardRule { rule_id: string; rule_summary: string; user_instruction: string; mechanism_id: string; enforcement_status: string; } /** 获取工作流硬规则(从"工作流硬规则契约.md"派生) */ export declare function getHardRules(rootDir?: string): HardRule[];