| fix(code): P3 代码质量与功能补全(AR-22~AR-27 + sealed class + 内存防护)
- ImpactAnalyzer.evaluateRisk 使用 RiskLevel 枚举
- ImpactAnalyzer.extractFilePath/DeadCodeDetector.resolveFilePath 解析 JSON extData
- ImpactAnalyzer.findSymbolByQualifiedName 优先精确匹配
- PythonCodeFileAnalyzer dunder 方法返回 PUBLIC
- PythonCodeFileAnalyzer.walkExpressionStatement 提取赋值为 FIELD 符号
- JavaFileAnalyzer 使用 JAVA_21、JsonTool.stringify、sealed class permits 提取
- MethodCallFilter.JAVA_LANG_TYPES 提取为 static final
- ProjectAnalyzer 添加 MAX_FILE_SIZE_BYTES=1MB 和 MAX_FILE_COUNT=50000
- 新增测试覆盖所有修复项
| 3 天前 |
| test(nop-code): 清理低价值测试,消除反模式
- 删除 TestCodeFileAnalysisResult(纯 getter/setter 往返)
- 精简 TestCodeSymbol(删除 16 字段 getter/setter 往返)
- 精简 TestCodeSymbolKind(删除枚举计数和 int 值断言,保留 invariant 检查)
- 精简 TestCodeAccessModifier(删除枚举计数和 int 值断言,保留 invariant)
- 精简 TestSemanticModels(删除默认值测试,保留 fromValue 逻辑)
- 删除 3 个 EdgeCase 文件(与主测试重复且更弱)
- 合并 LanguageAdapter 中 testGetLanguage+testGetFileExtensions+testGetFileAnalyzer
- 加强 TestNopCodeFlowBizModel(渐进式断言+日志代替静默通过)
- 加强 TestNopSearchIntegration(验证搜索内容而非仅 assertNotNull)
- 重写 TestBatchFileRecordOperations(测试 store roundTrip 而非空路径)
| 8 天前 |
| fix(nop-code): Phase 1 P0 静默数据损坏修复
- AR-01: 修复Tree-sitter字节偏移被当作字符偏移,Python/TypeScript分析器改为byte[]切片
- AR-02: 修复VFS文件过滤器逻辑反转,filePattern按扩展名匹配
- AR-03: 增量分析不再退化为全量,新增analyzeFiles方法仅分析变更文件
- AR-04: 统一CommunityDetector与KnowledgeGapAnalyzer的cohesion公式
- 新增3组测试: TestTreeSitterByteOffset/TestProjectAnalyzerFileFilter/TestCohesionConsistency
| 3 天前 |
| fix(nop-code): P0 类型层级查询修复与TSTree内存释放(Plan 72 Phase 1)
- AR-01: buildTypeHierarchy使用table.getById()解析已替换为UUID的superTypeId
- AR-01: sub-type方向同时匹配qualifiedName和symbolId
- AR-02: Python/TS适配器analyze()末尾添加tree=null辅助GC
- 新增TestTypeHierarchyAfterResolveQualifiedNames(4项测试)
- 新增TestTreeSitterMemoryRelease(Python+TS各2项测试)
| 3 天前 |