PRODUCT SPACE

CoDelphi ⌁ gzhanlei/codelphi · main ↗

CoDelphi 把 GitHub 仓库变成一份可追溯的产品规格。 连接仓库后,AI 自动提取功能清单与用户场景,每次 push 自动总结行为变化——每一条结论都附带可点击的源码证据,而不是凭空生成的摘要。

最近一次分析:succeeded

分析完整性:部分完整——合并完整性部分(合并层有截断/冲突/护栏检出);核验部分(存在一致性冲突或影子对比不一致)。分析成功不等于完整,完整不等于正确;结论采纳前应经人工核实。

源码装配覆盖率(按文件字节)12.7%(已装配实现文件 196/492 个,6 趟提取);本规格未覆盖全部实现面(提取趟数触顶),未覆盖部分不产生结论。。运行时开关与数据依赖行为静态提取不可见(边界说明);发现缺口请在左侧功能树进入功能页,用「编辑/新增场景」人工补充并标记核实。

AI 规格分析与发布变化

连接仓库后由 AI 提取功能与场景,push 或手动触发分析,生成带源码证据的规格与发布行为变化;上一版规格措辞锚定与措辞漂移折叠,回归清单附带场景行为文本;PR 预演在 PR 中评论受影响规格并挂完成检查;额度闸门拒绝时返回可用额度与升级指引,并支持显式补分析最新 SHA。

代码生成稳定链接 ai 规格分析与发布变化
未核实
实现分布 · 4 个文件
边界情况EC-1生成未核实
情境
全量重建模式分析(无 affectedKeys)
操作
写入规格版本并计算 diff
结果
diffSpec 第三参数为 undefined,不应用行为窗口,新功能正常记为 added
边界情况EC-10生成未核实
情境
增量模式下存在未命中规格索引的行为变更文件
操作
analyzeWithAI 组装增量 prompt
结果
未归属行为变更文件清单显式写入 prompt,请模型特别核对
边界情况EC-11生成未核实
情境
增量窗口中发现不属于清单内既有功能的新入口或功能拆分
操作
analyzeWithAI 组装增量 prompt
结果
prompt 要求必须作为独立功能输出,不得因不在清单里而省略
边界情况EC-19生成未核实
情境
模型输出的单个功能场景数超过 schema 上限 40(增量锚定回显叠加变体累积)
操作
parseAnalysisContent 在 schema 校验前执行 capScenariosPerFeature
结果
该功能场景保序截断为前 40 条并打 warn 日志记录丢弃,分析继续解析成功而非整次 run 失败
边界情况EC-2生成未核实
情境
AI 输出中同一行为从不同角色/视角/措辞重复建条
操作
按锚定规则处理输出
结果
与锚中既有场景语义相同的输出按沿用处理,不新增重复场景
边界情况EC-32生成未核实
情境
模型把 features 数组漂移到未知顶层键
操作
normalizeTopLevelCollections 执行
结果
按 {name,scenarios} 形状识别并提升为 features,打 warn 日志
边界情况EC-33生成未核实
情境
增量模式存在受影响功能且上一版规格锚超过 24k 字符预算
操作
loadPreviousSpecText 以 affectedFeatureNames 作为 prioritize 装载锚
结果
受影响功能稳定排到最前,其余功能保持 position 序,截断时先保住受影响功能的旧场景
边界情况EC-34生成未核实
情境
增量模式组装 prompt 且锚段存在
操作
specAnchoringSection 生成锚段文本
结果
锚段包含「同一行为只允许一条场景」约束,禁止同一行为从不同角色或措辞重复建条
边界情况EC-35生成未核实
情境
增量分析中受影响功能在上一版规格锚的 24k 预算内
操作
loadPreviousSpecText 按受影响功能名定向装入锚
结果
受影响功能稳定排到锚最前,其余功能保持 position 序,截断时先保受影响功能的旧场景
边界情况EC-36生成未核实
情境
增量分析中模型为同一行为从不同角色或措辞重复建条
操作
analyzeWithAI 组装增量 prompt
结果
锚段明确「同一行为只允许一条场景」,与锚中既有场景语义相同的输出按沿用处理
边界情况EC-37生成未核实
情境
增量分析中受影响功能在上一版规格锚中不存在
操作
AI 按增量契约处理该功能
结果
允许重新枚举,通常每功能 3-8 个场景,happy/edge/error 全部类别逐一检查,边界与错误路径不得省略
边界情况EC-38生成未核实
情境
removed 与 added 场景 category 不同(如 happy 与 error)。
操作
运行规格差异分析。
结果
不判定为变体,不折叠,仍作为独立的移除与新增变化行输出。
边界情况EC-39生成未核实
情境
removed 与 added 场景操作或结果中的数字 token 不一致(如 404 与 400)。
操作
运行规格差异分析。
结果
variantFieldGate 拒绝,不折叠为变体,变化行保留。
边界情况EC-4生成未核实
情境
场景证据为空数组
操作
调用 isTestOnlyEvidence 判定
结果
返回 false,不显示「测试佐证」徽标
边界情况EC-40生成未核实
情境
removed 与 added 场景否定词计数不同。
操作
运行规格差异分析。
结果
不判定为变体,变化行保留。
边界情况EC-41生成未核实
情境
场景 source 为 manual 或存在于 spec_verifications(entity_type=scenario)。
操作
运行合并提案脚本。
结果
该场景被跳过并在报告中标注「人工/已核实」,不进入删除提案。
边界情况EC-42生成未核实
情境
分析调用方未传 outputLanguage
操作
调用 analyzeWithAI
结果
字段可选,调用不受影响
边界情况EC-43生成未核实
情境
产品未设置 output_language
操作
执行分析运行
结果
outputLanguage 为 undefined,提取按缺省 zh-CN 处理
边界情况EC-44生成未核实
情境
存量 spec_versions 无语言记录。
操作
迁移执行。
结果
存量版本 output_language 置为 zh-CN。
错误路径ER-1生成未核实
情境
加载上一版场景全文时数据库调用失败
操作
runAnalysisBody 执行 loadPreviousSpecText
结果
错误被捕获并记录日志,previousSpecText 置为空数组,分析继续执行(锚定降级为仅命名约束,不阻塞分析)
错误路径ER-6生成未核实
情境
场景既无 outcome 也无 result 字符串
操作
parseAnalysisContent 解析模型输出
结果
schema 校验失败并抛错,不静默放行
错误路径ER-7生成未核实
情境
模型输出缺 product 或 release
操作
解析分析结果
结果
不回填 product/release,解析失败交由重试与 run 失败如实暴露
错误路径ER-8生成未核实
情境
removed 与 added 场景操作/结果不等价且合并文本 contentJaccard 低于 0.5。
操作
运行规格差异分析。
结果
不折叠,作为独立变化行输出,不产生 variant 审计条目。
错误路径ER-9生成未核实
情境
未提供 --repository 参数,或仓库不存在/无规格版本。
操作
运行合并提案脚本。
结果
打印用法或抛出错误,进程以退出码 1 结束。
正常路径HP-1生成未核实
情境
产品已注册且仓库可读
操作
在 push 后由 webhook 触发分析
结果
生成新的规格快照与发布行为变化,每条结论带证据路径
正常路径HP-10生成未核实
情境
指定仓库最新规格版本内存在措辞变体场景,且非 manual、未被人工核实。
操作
运行 merge-variant-scenarios.ts --repository <slug|id>(不带 --apply)。
结果
输出按功能分组的删除/并入提案与跳过项,提示 dry-run 未改动数据。
正常路径HP-11生成未核实
情境
已人工审阅 dry-run 提案。
操作
运行 merge-variant-scenarios.ts --repository <slug|id> --apply。
结果
按提案删除被合并的变体场景行并打印删除行数,历史 changes 的 before/after JSON 不动。
正常路径HP-12生成未核实
情境
产品已设置输出语言为 en 且分析 run 已加载该产品
操作
runAnalysisBody 组装 analyzeWithAI 上下文
结果
上下文携带 outputLanguage=en,主提取与分区提取均按该语言生成规格与发布稿
正常路径HP-13生成未核实
情境
分析调用方传入 outputLanguage
操作
调用 analyzeWithAI
结果
context 接受该可选字段,调用正常完成
正常路径HP-14生成未核实
情境
产品 output_language 为 en
操作
执行分析运行
结果
loadRun 读取 outputLanguage=en,单分区与多分区提取 context 均携带 en
正常路径HP-15生成未核实
情境
产品输出语言发生切换。
操作
触发首个分析 run。
结果
新 spec_version 记录新 output_language 并强制全量重建。
正常路径HP-2生成未核实
情境
上一版规格全文超过 24k 字符且包含受影响功能
操作
runAnalysisBody 在受影响集计算后加载上一版场景全文并传入受影响功能名
结果
受影响功能优先装入锚,截断时先保留受影响功能的旧场景
正常路径HP-3生成未核实
情境
多分区提取结果中同一功能出现同一行为的措辞变体
操作
mergeChunkResults 对场景做去重合并
结果
行为等价或近似变体的场景被折叠为一条,scenariosDeduped 计数增加
正常路径HP-4生成未核实
情境
规格工作区展示一个证据全部来自测试/文档的场景
操作
渲染 ScenarioCard
结果
reference 之后显示「测试佐证」徽标,悬停提示证据全部来自测试/文档、行为以人工核实为准
正常路径HP-5生成未核实
情境
仓库已有上一版规格快照
操作
再次执行分析
结果
上一版场景全文作为锚点注入 prompt,未变行为要求逐字沿用,功能简介同样逐字沿用
正常路径HP-6生成未核实
情境
增量/carry 模式分析(存在 affectedKeys)
操作
写入规格版本并计算 diff
结果
diffSpec 收到 behavioralChangePaths,窗口外证据的新增功能可被证伪
正常路径HP-7生成未核实
情境
增量分析中上一版规格锚包含受影响功能的旧场景
操作
AI 按增量契约对受影响功能做修订
结果
未变场景逐字沿用原编号与文字,变化行为改写对应条目,新增行为才新增条目,消失行为不再输出,每功能输出条数不超过锚中该功能条数 +3
正常路径HP-8生成未核实
情境
同一功能内一个场景被移除、另一个措辞近似(同义替换)的场景被新增,category 一致且操作/结果通过严守护。
操作
运行规格差异分析。
结果
该 removed↔added 对被折叠,不产生 added/removed 变化行,折叠明细中出现 reason=variant 的审计条目,原始 before/after 保留。
正常路径HP-9生成未核实
情境
分析前读取上一版规格全文作为锚,且已知受影响功能名列表。
操作
调用 loadPreviousSpecText 并传入 prioritize 受影响功能名。
结果
受影响功能按名称匹配稳定排到返回列表最前,其余功能保持 position 序,24k 锚预算优先覆盖受影响功能。