|
26499
|
5
|
5
|
5
|
13
|
0
|
0
|
refs/heads/fix/p0-batch-1
|
0
|
|
1787812620
|
Edit
Delete
|
|
157
|
5
|
5
|
5
|
13
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6c80c0097 {"Commits":[{"Sha1":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","Message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","AuthorName":"hi.laoluo","CommitterEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","CommitterName":"hi.laoluo","Timestamp":"2026-01-21T00:05:33+08:00"},{"Sha1":"b44b6415c67f54b2d1bcd688757fec2aaf1686f4","Message":"fix: 修复PrintJob状态转换和数据库初始化崩溃问题\n\n1. PrinterDatabase.optimizeDatabase()\n - 将PRAGMA命令从execSQL改为query()方法\n - Room的SupportSQLiteDatabase对PRAGMA有限制\n - 添加异常处理确保数据库优化失败不影响启动\n\n2. PrinterService.onTaskFailed()\n - 添加状态检查逻辑,根据当前状态决定处理方式\n - FAILED状态:执行重试逻辑\n - PRINTING状态:先转换为FAILED再重试\n - 其他状态:直接重新调度执行\n\n3. PrintingApplicationService.executePrintJob()\n - 新增prepareJobForPrinting()确保状态正确转换\n - CREATED -\u003e QUEUED -\u003e PRINTING 状态流转\n - 新增handleJobFailure()安全处理失败\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","AuthorName":"hi.laoluo","CommitterEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","CommitterName":"hi.laoluo","Timestamp":"2026-01-20T23:54:24+08:00"},{"Sha1":"d2d0385e8b5c1b06d7e59f108c6e9f845905c841","Message":"fix: 修复编译错误并成功构建APK\n\n修复内容:\n- PrintTestActivity: 重写以修复API兼容性问题\n - observeEnabled()替代getEnabledPrinters()\n - 移除PrinterApplication依赖\n - 修复Priority/PrintType方法调用\n - 修复rawContent类型(String→byte[])\n- OrderFormatterService: 补充shouldBeep()方法闭合括号\n- TemplateRenderEngine: 修复方法调用\n - getSummary()→toString()\n - setFontSize()→setSize()\n - setWidth()→setLength()\n- PrintJobDao: 添加getActiveJobs()方法\n- QueueViewModel: 修复RxJava包装和cancel()参数\n- MainViewModel: 移除totalCount()调用\n- PrinterConfigDTO: 修复fromEntity()方法兼容性\n\n构建结果:APK 7.8MB\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","AuthorName":"hi.laoluo","CommitterEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","CommitterName":"hi.laoluo","Timestamp":"2026-01-20T23:38:29+08:00"},{"Sha1":"f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","Message":"feat: 增强应用架构与测试功能\n\n- 新增 CQRS 模式支持 (command/query/dto)\n- 添加 PrintTestActivity 测试界面\n- 新增 MainViewModel 和 QueueViewModel\n- 完善 build.gradle 配置与签名设置\n- 优化 MainActivity 功能与交互\n- 增强 PrintTaskAdapter 适配逻辑\n- 添加 proguard 混淆规则和构建脚本\n- 更新 UI 资源文件\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","AuthorName":"hi.laoluo","CommitterEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","CommitterName":"hi.laoluo","Timestamp":"2026-01-20T23:28:57+08:00"},{"Sha1":"4052be41183584c726cd84d2f9d9cb5c371da83b","Message":"feat: 完善模板引擎系统与UI优化\n\n模板引擎增强:\n- 新增 ExpressionEvaluator 表达式求值器,支持复杂条件判断\n- 新增 FormatPipeline 格式化管道,支持货币/日期/截断等格式化\n- 新增 ContextDataEnhanced 增强上下文,支持嵌套路径和管道\n- 新增 GroupElement 分组元素,支持条件渲染和循环渲染\n- 新增 TableElementEnhanced 增强表格,支持分组/小计/合计\n- 新增 ImageElement 图片元素,支持URL/Base64/本地文件\n- 新增 TemplateValidator 模板验证器\n- 新增 TemplateRenderEngineEnhanced 增强渲染引擎\n- 完善 TemplateManager 模板管理器\n\nUI和功能优化:\n- 新增 HealthCheckActivity 健康检查详情页\n- 新增 LogViewerActivity 日志查看页面\n- 新增 QueueDetailActivity 队列详情页面\n- 优化 MainActivity 界面布局和状态显示\n- 精简 SystemPrintDriver 代码结构\n- 新增相关资源文件和菜单\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","AuthorName":"hi.laoluo","CommitterEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","CommitterName":"hi.laoluo","Timestamp":"2026-01-20T23:12:50+08:00"}],"HeadCommit":{"Sha1":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","Message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","AuthorName":"hi.laoluo","CommitterEmail":"hi.laoluo@hilaoluodeMacBook-Pro.local","CommitterName":"hi.laoluo","Timestamp":"2026-01-21T00:05:33+08:00"},"CompareURL":"luoanwu/printer-server/compare/c254333cc45c082124d3d4fd01a4a3fc3fda7296...6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","Len":10}...
|
1772248014
|
Edit
Delete
|
|
156
|
5
|
5
|
5
|
13
|
0
|
0
|
refs/heads/main
|
0
|
|
1772248014
|
Edit
Delete
|
|
155
|
5
|
1
|
5
|
13
|
0
|
0
|
|
0
|
|
1772248000
|
Edit
Delete
|
|
154
|
5
|
5
|
5
|
12
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8d9e6b6ad {"Commits":[{"Sha1":"8d9e6b6ad57051dab70fd0528ffa867dae6ca59f","Message":"feat: 巨嗨科技官网 V2.0 初始化\n\n- Nuxt.js 框架搭建\n- 首页、城市页、解决方案页\n- ROI 计算器组件\n- 行业洞察文章页\n- 页头页脚组件\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-28T11:04:47+08:00"}],"HeadCommit":{"Sha1":"8d9e6b6ad57051dab70fd0528ffa867dae6ca59f","Message":"feat: 巨嗨科技官网 V2.0 初始化\n\n- Nuxt.js 框架搭建\n- 首页、城市页、解决方案页\n- ROI 计算器组件\n- 行业洞察文章页\n- 页头页脚组件\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-28T11:04:47+08:00"},"CompareURL":"","Len":1}...
|
1772247909
|
Edit
Delete
|
|
153
|
5
|
5
|
5
|
12
|
0
|
0
|
refs/heads/main
|
0
|
|
1772247909
|
Edit
Delete
|
|
152
|
5
|
1
|
5
|
12
|
0
|
0
|
|
0
|
|
1772247860
|
Edit
Delete
|
|
151
|
5
|
5
|
5
|
11
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"01f709c72 {"Commits":[{"Sha1":"01f709c72d84bbcd3e98adfb6cdb8eacabf9607a","Message":"test(core): skip toast tests that require widget testing context\n\nToastService uses GetX snackbar which requires GetMaterialApp navigation\ncontext. Skip these tests in unit test environment with clear documentation.\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-01-27T14:13:02+08:00"},{"Sha1":"b230e9645e1eeb7a291ba1ff4eb665c9b87ce00a","Message":"fix(test): update floor renderer tests and ignore coverage directory\n\n- Fix FloorFactory visibility test expectations (filtering is caller's responsibility)\n- Fix FloorConfig.toJson floor_type expectation to use snake_case\n- Add coverage/ to .gitignore\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-01-27T14:12:47+08:00"},{"Sha1":"d21732b003013d9b8be71f6c329ed6058774c246","Message":"refactor(repository): add forTesting constructors and fix error handling\n\n- Add forTesting constructors to RoomRepository, SongRepository,\n SystemRepository, and UserRepository for dependency injection\n- Fix BaseRepository error message handling to use errorMessage param\n- Update repository tests to use new forTesting constructors\n- Improve test isolation with proper mock injection\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-01-27T14:11:47+08:00"},{"Sha1":"1ab29b3601d9529f757dd53268a224b5b2589dae","Message":"docs(design): add Pencil MCP design files with 47 optimized pages\n\n- Add 3 Pencil design files (嗨赞.pen, 嗨赞2.pen, 嗨赞3.pen)\n- Add PENCIL_MCP_DESIGN_PLAN.md with design specifications\n- Add MCP configuration (.mcp.json)\n- Fix test files and CI workflow\n- Optimize all 12 modules with cyberpunk style theme\n\nModules completed:\n- Module 9: Works (4 pages) - layout fixes\n- Module 10: AI (2 pages) - 2x2 grid, dark theme\n- Module 11: Short Video (1 page) - TikTok-style rebuild\n- Module 12: Profile Center (2 pages) - avatar and settings\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-01-27T13:47:48+08:00"},{"Sha1":"1543a246356391aff1980983c02dab8cf3d36dbe","Message":"feat(social): implement user profile and activity feed modules\n\n- Add UserProfile model with stats, relationships, and helpers\n- Add ActivityModel with 9 activity types and JSON serialization\n- Implement FeedRepository with 11 API methods for activity operations\n- Create FeedController with pagination, like/delete/report actions\n- Build FeedPage with tabs (Following/Recommend/Hot) and infinite scroll\n- Implement ActivityCard widget supporting all activity types\n- Add UserProfileController with follow toggle and work loading\n- Create UserProfilePage with header, stats, and tabs\n- Include 19 unit tests (8 profile + 11 feed) - all passing\n- Add API endpoints for activity feed operations\n\nModules completed:\n- SOCIAL-001: User Profile Page\n- SOCIAL-002: Activity Feed (动态广场)\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-01-27T10:01:37+08:00"}],"HeadCommit":{"Sha1":"01f709c72d84bbcd3e98adfb6cdb8eacabf9607a","Message":"test(core): skip toast tests that require widget testing context\n\nToastService uses GetX snackbar which requires GetMaterialApp navigation\ncontext. Skip these tests in unit test environment with clear documentation.\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-01-27T14:13:02+08:00"},"CompareURL":"luoanwu/JHSongApp/compare/0535b9d4b6884a2121cdc8b7a38aadc1f5ef5f61...01f709c72d84bbcd3e98adfb6cdb8eacabf9607a","Len":10}...
|
1772247728
|
Edit
Delete
|
|
150
|
5
|
5
|
5
|
11
|
0
|
0
|
refs/heads/main
|
1
|
|
1772247728
|
Edit
Delete
|
|
149
|
5
|
1
|
5
|
11
|
0
|
0
|
|
1
|
|
1772247677
|
Edit
Delete
|
|
145
|
5
|
5
|
5
|
10
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"be21d403b {"Commits":[{"Sha1":"be21d403b5c238988ede6dd6cf7ca4884f82dfc1","Message":"feat(h5): 重构地图组件并优化打卡/踩点相关视图\n\n- 重构 MapPicker/MapView 组件适配新地图工具函数\n- 简化 map.ts 工具模块,移除冗余代码\n- 更新打卡详情、现场勘查、竞品详情、地图推荐等视图\n- 更新高德地图类型声明\n- 新增 userCompat.ts 用户兼容层 API\n- 新增 nginx 生产环境配置(disabled 状态)\n- 更新 .env 环境变量配置\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-27T16:22:56+08:00"},{"Sha1":"5c5f776182440538a1dad03be05c84c3eb5d4f8d","Message":"fix(miniprogram): 修复类型错误和完善 gitignore 配置\n\n- 修复 H5 竞品分析/详情页 API 调用参数和响应类型\n- 修复小程序评分页 dimensionScores 字段对齐\n- 修复坪效基准页类型转换\n- 修复 API 测试用例字段名匹配\n- 新增 AMap 类型声明文件\n- gitignore 排除小程序编译产物和后端导出文件\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-07T14:25:45+08:00"},{"Sha1":"e7465b059a2cc1fed48f944890d50cfde941bd00","Message":"chore: sync post-merge changes from merged branches\n\n- Docker compose redis port mapping update\n- Miniprogram page improvements and new utility functions\n- Shared API index cleanup\n- H5 check-in list view fix\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-07T14:12:51+08:00"},{"Sha1":"88e1823e0038fc7dd4fafb283d6194c72cfbaf51","Message":"fix: remove duplicate methods in StoreService from merge\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-07T14:10:24+08:00"},{"Sha1":"626361cdee3321a049f90f23cf0e481b503c6657","Message":"Merge remote-tracking branch 'origin/claude/complete-location-recommendations-ui-DxOg6'\n\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-07T14:03:30+08:00"}],"HeadCommit":{"Sha1":"be21d403b5c238988ede6dd6cf7ca4884f82dfc1","Message":"feat(h5): 重构地图组件并优化打卡/踩点相关视图\n\n- 重构 MapPicker/MapView 组件适配新地图工具函数\n- 简化 map.ts 工具模块,移除冗余代码\n- 更新打卡详情、现场勘查、竞品详情、地图推荐等视图\n- 更新高德地图类型声明\n- 新增 userCompat.ts 用户兼容层 API\n- 新增 nginx 生产环境配置(disabled 状态)\n- 更新 .env 环境变量配置\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-27T16:22:56+08:00"},"CompareURL":"luoanwu/ktv-store-location-system/compare/e2e4dbdff0ec8cca7e722dff99f2b23113f9e81e...be21d403b5c238988ede6dd6cf7ca4884f82dfc1","Len":10}...
|
1772180606
|
Edit
Delete
|
|
144
|
5
|
5
|
5
|
10
|
0
|
0
|
refs/heads/main
|
0
|
|
1772180606
|
Edit
Delete
|
|
143
|
5
|
1
|
5
|
10
|
0
|
0
|
|
0
|
|
1772180524
|
Edit
Delete
|
|
142
|
5
|
5
|
5
|
9
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"22125e0f1 {"Commits":[{"Sha1":"22125e0f1e435efabf81ec0007a1b56996cb0776","Message":"fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-27T14:49:40+08:00"},{"Sha1":"e7926bf94bb1d2df1c56170dbe47940b49a70134","Message":"fix(ime-core): 修复HandwritingManager测试缺少ModelDownloader参数\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-27T14:40:23+08:00"},{"Sha1":"15aae8c5e92b6e0c7dd53a7921212b68b8a1294b","Message":"perf(server): JWT用户缓存 + 缓存失效 + legacy-reply stub实现\n\n- JwtStrategy 添加 Redis 用户缓存 (5分钟TTL), 减少95%数据库查询\n- auth.service 在 updateProfile/logout/logoutAll 时主动失效缓存\n- users.service 在 update/updateStatus/toggleStatus/delete 时失效缓存\n- UsersModule 注入 RedisModule 支持缓存操作\n- legacy-reply markReplyUsed/submitReplyFeedback stub 实现完整请求解析和日志\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-25T08:23:28+08:00"},{"Sha1":"f19558e8e838bacc0f616f40c1ec10d9a5e4e9d5","Message":"chore(server): 优化 Docker 基础设施配置\n\n- Redis: 修复空密码时 --requirepass 报错问题\n- Reranker Dockerfile: torch CPU 预安装 + 清华 PyPI 镜像加速\n- requirements.txt: 移除 --extra-index-url(已在 Dockerfile 中处理)\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-25T08:16:10+08:00"},{"Sha1":"43712be12681e00bab0e3fed74c60ffa34fdc11d","Message":"fix(server): 修复 5 个 CRITICAL + 5 个 HIGH 安全漏洞\n\nCRITICAL:\n- C1: 移除 JWT_SECRET/JWT_REFRESH_SECRET 弱默认值回退,启动时断言必须配置\n- C2: 开发后门 000000 需同时满足 NODE_ENV=development + ENABLE_DEV_BYPASS=true\n- C3: OCR recognizeFromUrl 添加 SSRF 防护(HTTPS-only + 内网地址黑名单)\n- C4: resetPassword 使用 crypto.randomBytes + bcrypt.hash 替代 Math.random + 明文\n- C5: ai-service auth.guard 添加 JWT alg 字段校验 + timingSafeEqual 签名比较\n\nHIGH:\n- H1: Redis KEYS 命令替换为 SCAN 游标迭代,避免生产环境阻塞\n- H2: knowledge.controller 添加 @UseGuards(JwtAuthGuard) 认证守卫\n- H4: updateProfile 禁止直接修改手机号,需独立验证流程\n- H6: Access Token 有效期从 7d 缩短至 1h\n- H7: JwtStrategy.validate 注入 RedisService 检查 token 黑名单\n\n测试: api-gateway 963 tests, ai-service 883 tests, ocr-service 87 tests 全部通过\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-25T08:15:48+08:00"}],"HeadCommit":{"Sha1":"22125e0f1e435efabf81ec0007a1b56996cb0776","Message":"fix(ime-core): 修复TFLiteRecognizerTest验证方式,改为验证可观察行为\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-02-27T14:49:40+08:00"},"CompareURL":"luoanwu/haizhan-ime-android/compare/893022bfd17ce1f2e75e75651551cf8ceaacfe45...22125e0f1e435efabf81ec0007a1b56996cb0776","Len":311}...
|
1772178608
|
Edit
Delete
|
|
141
|
5
|
5
|
5
|
9
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"893022bfd {"Commits":[{"Sha1":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","Message":"feat: 嗨赞AI输入法Android版初始提交\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-02-27T15:28:58+08:00"}],"HeadCommit":{"Sha1":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","Message":"feat: 嗨赞AI输入法Android版初始提交\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-02-27T15:28:58+08:00"},"CompareURL":"luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","Len":1}...
|
1772177363
|
Edit
Delete
|
|
140
|
5
|
5
|
5
|
9
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"a8f0a86b4 {"Commits":[{"Sha1":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","Message":"test\n","AuthorEmail":"test@test.com","AuthorName":"test","CommitterEmail":"test@test.com","CommitterName":"test","Timestamp":"2026-02-27T15:21:42+08:00"}],"HeadCommit":{"Sha1":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","Message":"test\n","AuthorEmail":"test@test.com","AuthorName":"test","CommitterEmail":"test@test.com","CommitterName":"test","Timestamp":"2026-02-27T15:21:42+08:00"},"CompareURL":"luoanwu/haizhan-ime-android/compare/63233cd10022a8f2d0c726c679dcc60d2a8d60d2...a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","Len":1}...
|
1772177252
|
Edit
Delete
|
|
139
|
5
|
1
|
5
|
9
|
0
|
0
|
|
0
|
|
1772177237
|
Edit
Delete
|
|
25122
|
16
|
17
|
16
|
6
|
0
|
0
|
refs/heads/detached
|
0
|
|
1787501230
|
Edit
Delete
|
|
25120
|
16
|
5
|
16
|
6
|
0
|
0
|
refs/heads/feat/agent-framework
|
0
|
{"Commits":[{"Sha1":"248914b04 {"Commits":[{"Sha1":"248914b04a0be437317c50a8a641be8f06e94b7a","Message":"fix(agent): 保留 AI 助手非事实回应\n\n实现内容:\n- Result Verifier 按句区分一般能力介绍与具体事实声明\n- 问候与一般能力咨询无需工具证据,具体产品、质保、工单和 SLA 事实仍保持 fail-closed\n- 系统提示词统一使用 AI 助手定位并递增提示词版本\n\n验证:\n- AI 助手与 Agent Runtime 单测 49 条通过\n- 最终聚焦回归测试 26 条通过\n- 后端 TypeScript 与改动文件 ESLint 通过\n- AI Assist 覆盖、技能绑定、决策质量与上下文脱敏审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T08:37:43-07:00"},{"Sha1":"444a93a0d245349d3f8e229b2c896ef52df6a1d8","Message":"fix(agent): 合并并行工具调用结果消息\n\n实现内容:将同一轮连续 tool_result 合并为 Anthropic 协议要求的单条 user 消息,保留每个工具的追加式事件,并让上下文压缩范围覆盖合并事件。补充两个并行工具调用的消息结构回归断言。\n\n验证:AI 助手与 Agent Runtime 聚焦单测 61/61 通过;后端 TypeScript 和聚焦 ESLint 通过;AI Assist Coverage、Skill Binding、Decision Quality、Context Provider Redact 审计通过。\n\n未执行:新的 DeepSeek 两轮真实产品知识回归因本次具体数据发送范围未获重新授权而未运行。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T08:18:05-07:00"},{"Sha1":"c7269cf1876db06be814f2ba20423e5d88ce359d","Message":"feat(agent): 新增全局 AI 助手聊天入口\n\n实现内容:\n- 新增 AI 助手会话 API 与全局聊天抽屉,支持历史、新对话、连续追问、停止、重试、引用和澄清状态\n- 在桌面与移动壳接入响应式悬浮入口,隐藏 Task、Trace 等内部执行设施\n- 修正移动悬浮按钮尺寸与底导避让,并提升抽屉层级避免桌面 Header 遮挡\n\n验证:\n- 前端聚焦测试 3 files / 12 tests 通过\n- 前端 TypeScript 与定向 ESLint 通过\n- 真实后端桌面 Playwright smoke 1/1 通过\n- 桌面 1440x900 与移动 390x844 截图回放通过,无横向溢出或控件重叠\n- 前端运行时、点击交互、字段契约、类型债与 AI 四项审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T07:42:50-07:00"},{"Sha1":"af6d6f9c09bee4d9b10de011be2ac53df304f3dc","Message":"feat(agent): 新增 AI 助手对话后端入口\n\n实现内容:\n- 新增当前登录用户的会话创建、列表、详情、消息和停止接口\n- 每轮刷新权限快照并复用现有 Harness、只读 Tool Gateway、Verifier 与 Session Trace\n- 强制 tenant + created_by 属主隔离,过滤内部事件与工具标识\n- 固定 deepseek-v4-flash 与 Anthropic-compatible Base URL\n\n验证:\n- 聚焦单测 8 files / 55 tests 通过\n- 真实 PostgreSQL/Redis API 1 file / 6 tests 通过,未调用外部模型\n- 后端 TypeScript 与定向 ESLint 通过\n- route-contract、route-registration、api-test-coverage、tenant、docs 和 AI Assist 四项审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T07:05:23-07:00"}],"HeadCommit":{"Sha1":"248914b04a0be437317c50a8a641be8f06e94b7a","Message":"fix(agent): 保留 AI 助手非事实回应\n\n实现内容:\n- Result Verifier 按句区分一般能力介绍与具体事实声明\n- 问候与一般能力咨询无需工具证据,具体产品、质保、工单和 SLA 事实仍保持 fail-closed\n- 系统提示词统一使用 AI 助手定位并递增提示词版本\n\n验证:\n- AI 助手与 Agent Runtime 单测 49 条通过\n- 最终聚焦回归测试 26 条通过\n- 后端 TypeScript 与改动文件 ESLint 通过\n- AI Assist 覆盖、技能绑定、决策质量与上下文脱敏审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T08:37:43-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1a23fbc06f3d0862aafce4dc8e1815e24443b9ff...248914b04a0be437317c50a8a641be8f06e94b7a","Len":4}...
|
1787500853
|
Edit
Delete
|
|
25118
|
16
|
5
|
16
|
6
|
0
|
0
|
refs/heads/feat/agent-framework
|
0
|
|
1787500853
|
Edit
Delete
|
|
25116
|
16
|
5
|
16
|
6
|
0
|
0
|
refs/heads/detached
|
0
|
{"Commits":[{"Sha1":"1a23fbc06 {"Commits":[{"Sha1":"1a23fbc06f3d0862aafce4dc8e1815e24443b9ff","Message":"docs(agent): 固化 AI 助手产品与兼容迁移契约\n\n实现内容:\n- 定义 AI 助手目标用户、问题范围、权限与知识边界、澄清拒答、人工复核及会话留存策略\n- 盘点 customer_service 在数据库、API、前端、Prompt、Capability、评测和文档中的兼容语义\n- 将旧 M6 调整为 AI 助手体验层,并把影子运行与单租户试点顺延为 M7\n- 同步统一文档入口与治理经验,保留历史标识和非 AI 助手客服域不变\n\n验证:\n- React 文档真源审计通过:30 个当前入口,0 缺失,0 可执行旧引用,0 七层失败\n- docs 单一真源审计通过:254 个模块,0 failure;159 个 warning 为既有基线\n- git diff --cached --check 通过\n- pnpm 版本切换因 registry 签名校验失败,审计使用当前本地依赖树的 Node/tsx 入口等价执行\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T06:38:11-07:00"},{"Sha1":"6e5cb3333749ca73dbdcfab72e1a2918242a7bc4","Message":"fix(agent): 修复任务权限快照加载\n\n实现内容:\n- 按 PostgreSQL UUID 列规范形态识别任务创建人,保留非法占位 ID 失败关闭\n- 规范化权限快照并在查询异常时以空权限降级,日志仅记录错误类型\n- 增加种子管理员、非法 ID 和异常降级的真实轮询回归\n\n验证:\n- 消费者聚焦测试 15/15 通过\n- Agent Sandbox 与 Runtime 安全边界测试 25/25 通过\n- 后端 TypeScript 检查通过\n- 消费者真实性及 AI Assist 四项审计通过\n- pnpm 版本切换因 registry 签名校验失败,测试与检查使用当前本地依赖树等价执行\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T06:13:16-07:00"},{"Sha1":"9aa2ee36835da89bebac52db81a80115054206ed","Message":"fix(ai-agent): 修正任务审核状态与类型推荐\n\n- 区分等待执行、生成中和待审核状态,仅为可复核任务提供审核入口\n- 为客服 Agent 推荐服务响应类型,移除其他 Agent 的默认线索评分\n- 补充任务生命周期和创建表单回归测试\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T05:56:54-07:00"},{"Sha1":"0fcb5702413eba780205c6d62a0b061dadd674d5","Message":"feat(agent): 完善客服 Trace 与人工反馈闭环\n\n实现内容:\n- 贯通 executionId、traceId、taskId 和 sessionId,记录六阶段可观测 Trace\n- 增加租户隔离的 Trace 聚合接口与最小披露响应\n- 完善人工复核队列的草稿修改、证据、工具、风险和执行信息展示\n- 将人工复核反馈纳入客服评测报告并同步 M5 治理口径\n\n影响范围:\n- 人工通过只确认客服草稿,不发送客户消息或执行业务写入\n- M5 完成不代表已完成生产影子流量或单租户放量\n\n验证:\n- 后端聚焦测试 7 个文件共 56 项通过\n- 前端聚焦测试 1 个文件共 5 项通过\n- 真实 PostgreSQL 复核队列 API 5 项通过\n- 前后端 TypeScript 与相关治理审计通过\n- git diff --cached --check 通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T05:12:47-07:00"},{"Sha1":"b32ca9274842ce672f92d9f9cf6cc979dfb6706c","Message":"feat(service): 完善客服结果校验与人工复核\n\n实现内容:\n- 增加客服草稿事实、引用和证据一致性校验\n- 固化人工复核仅认可草稿且不执行业务写入的边界\n- 补充纯合成结果评测、真实数据库接口测试和治理记录\n\n验证:\n- pnpm -C backend run type-check\n- 聚焦单测 5 个文件共 50 项通过\n- 真实 PostgreSQL 复核队列接口 5 项通过\n- 相关治理审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T04:06:59-07:00"}],"HeadCommit":{"Sha1":"1a23fbc06f3d0862aafce4dc8e1815e24443b9ff","Message":"docs(agent): 固化 AI 助手产品与兼容迁移契约\n\n实现内容:\n- 定义 AI 助手目标用户、问题范围、权限与知识边界、澄清拒答、人工复核及会话留存策略\n- 盘点 customer_service 在数据库、API、前端、Prompt、Capability、评测和文档中的兼容语义\n- 将旧 M6 调整为 AI 助手体验层,并把影子运行与单租户试点顺延为 M7\n- 同步统一文档入口与治理经验,保留历史标识和非 AI 助手客服域不变\n\n验证:\n- React 文档真源审计通过:30 个当前入口,0 缺失,0 可执行旧引用,0 七层失败\n- docs 单一真源审计通过:254 个模块,0 failure;159 个 warning 为既有基线\n- git diff --cached --check 通过\n- pnpm 版本切换因 registry 签名校验失败,审计使用当前本地依赖树的 Node/tsx 入口等价执行\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T06:38:11-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/f23014a01acfc11abb251f3a76ea6c904a44ecac...1a23fbc06f3d0862aafce4dc8e1815e24443b9ff","Len":9}...
|
1787498873
|
Edit
Delete
|
|
25114
|
16
|
5
|
16
|
6
|
0
|
0
|
refs/heads/detached
|
0
|
|
1787498873
|
Edit
Delete
|
|
21925
|
16
|
17
|
16
|
6
|
0
|
0
|
refs/heads/fix/frontend-service-service-dashboard
|
0
|
|
1786438570
|
Edit
Delete
|
|
21915
|
16
|
5
|
16
|
6
|
0
|
0
|
refs/heads/fix/frontend-service-service-dashboard
|
0
|
{"Commits":[{"Sha1":"66d832ab1 {"Commits":[{"Sha1":"66d832ab1b3d0934d4b39cfc77da31d8eb1de029","Message":"fix(service-dashboard): 阻断工单统计与趋势分析图表高度被持续拉伸\n\n服务看板「工单统计 / 趋势分析」ECharts 容器使用 height:100% + min-height,\n并直接对图表 DOM 调用 ResizeObserver → resize(),形成高度反馈环。\n\n- 图表容器改为固定高度并 overflow:hidden\n- resize 增加 rAF 合并与尺寸未变短路\n- 覆盖 TicketStatsPanel、TrendsPanel\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-08-11T13:40:54+08:00"}],"HeadCommit":{"Sha1":"66d832ab1b3d0934d4b39cfc77da31d8eb1de029","Message":"fix(service-dashboard): 阻断工单统计与趋势分析图表高度被持续拉伸\n\n服务看板「工单统计 / 趋势分析」ECharts 容器使用 height:100% + min-height,\n并直接对图表 DOM 调用 ResizeObserver → resize(),形成高度反馈环。\n\n- 图表容器改为固定高度并 overflow:hidden\n- resize 增加 rAF 合并与尺寸未变短路\n- 覆盖 TicketStatsPanel、TrendsPanel\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-08-11T13:40:54+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c32dc69661d18fedc3e6939936535f3f5906bf7d...66d832ab1b3d0934d4b39cfc77da31d8eb1de029","Len":1}...
|
1786437401
|
Edit
Delete
|
|
21913
|
16
|
5
|
16
|
6
|
0
|
0
|
refs/heads/fix/frontend-service-service-dashboard
|
0
|
|
1786437401
|
Edit
Delete
|
|
42126
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"477ff5abe {"Commits":[{"Sha1":"477ff5abe896dde2ca37b98b02bde71079b3de31","Message":"feat(store-performance): 新增只读经营视图读适配接缝(RO-T03 候选,默认全关闭)\n\n新增 GET /store-performance/operating-view 与 OperatingViewV1 合同候选,\n按企业智能OS 02 层 RO 切片 §1.5—§1.9 与 02 包外只读接缝合同(c13a78f4)实现:\n\n- 六分区(customers/opportunities/quotations/service/knowledge/storeMetrics)逐区返回\n sourceRef、sourceVersion 或 observedAt、projectionWatermark(DIRECT_READ)、status/quality 与稳定原因码;\n snapshot 标明 FEDERATED_NON_ATOMIC\n- RO-T02 最小:门店上下文须经显式映射精确匹配,缺失/歧义/过期/外租户/目标不在本租户均 409;\n Site 未获准 403;query 不得携带 tenantId/actorId/role/allowedSites/cursor\n- 宿主装配默认全关闭:无映射、无 Site 准入、六区 NOT_CONNECTED,不回退演示数据;\n 租户级分区须显式批准(RO-Q02 未裁定前关闭)\n- 来源端口:按 02 合同重写的 EES CustomerAccount 按 ID 窄读客户端;本地商机、旧本地知识\n Top-K、门店经营分源指标只读端口(只用 find*,不经 KnowledgeService.getById,不写计数)\n- 金额:不经 number,未知币种不默认 CNY;GMV/退款/核销金额/预算/实支/结算分列,\n storeProfit 等旧组合口径隐藏并标明不是净利润\n- 单源超时、整请求预算、并发上限、无重试;全部已开通来源失败 503;返回前重验准入与映射\n\n原 operating-read-model 口径与类型不变;无迁移、无新表、无事件、无权限变更;未接通任何真实来源。\n本仓在企业智能OS中的角色未裁定,接缝可整体拆除。说明见\ndocs/architecture/omni-ro-operating-view-read-adapter-2026-10-22.md。\n\n验证(起点 c32dc69661d18fedc3e6939936535f3f5906bf7d):\n- vitest unit store-performance:6 文件 89 通过(新增 5 文件 80 例)\n- npm run test:unit:635 文件,8685 通过 / 16 失败;16 失败与改动前基线(630 文件,8605 通过 / 16 失败)逐项相同\n- 隔离库 integration(自建 pgvector/pg16,prisma migrate deploy 全部迁移,786 表语句级审计触发器):\n 3 通过(RO-03 正向零写、getById 负对照必写、RO-02 拒绝零写);未设 OMNI_RO_ISOLATED_DB 时 3 跳过\n- npm run type-check:1 错误,位于 marketing-chatbot.service.ts:1050,改动前基线同样存在\n- npm run lint:0 错误 / 3207 警告,与基线相同\n- audit:route-contract 覆盖率 100%、audit:route-registration 无重复、audit:tenant 无问题(报告文件未提交)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-22T10:56:23-07:00"}],"HeadCommit":{"Sha1":"477ff5abe896dde2ca37b98b02bde71079b3de31","Message":"feat(store-performance): 新增只读经营视图读适配接缝(RO-T03 候选,默认全关闭)\n\n新增 GET /store-performance/operating-view 与 OperatingViewV1 合同候选,\n按企业智能OS 02 层 RO 切片 §1.5—§1.9 与 02 包外只读接缝合同(c13a78f4)实现:\n\n- 六分区(customers/opportunities/quotations/service/knowledge/storeMetrics)逐区返回\n sourceRef、sourceVersion 或 observedAt、projectionWatermark(DIRECT_READ)、status/quality 与稳定原因码;\n snapshot 标明 FEDERATED_NON_ATOMIC\n- RO-T02 最小:门店上下文须经显式映射精确匹配,缺失/歧义/过期/外租户/目标不在本租户均 409;\n Site 未获准 403;query 不得携带 tenantId/actorId/role/allowedSites/cursor\n- 宿主装配默认全关闭:无映射、无 Site 准入、六区 NOT_CONNECTED,不回退演示数据;\n 租户级分区须显式批准(RO-Q02 未裁定前关闭)\n- 来源端口:按 02 合同重写的 EES CustomerAccount 按 ID 窄读客户端;本地商机、旧本地知识\n Top-K、门店经营分源指标只读端口(只用 find*,不经 KnowledgeService.getById,不写计数)\n- 金额:不经 number,未知币种不默认 CNY;GMV/退款/核销金额/预算/实支/结算分列,\n storeProfit 等旧组合口径隐藏并标明不是净利润\n- 单源超时、整请求预算、并发上限、无重试;全部已开通来源失败 503;返回前重验准入与映射\n\n原 operating-read-model 口径与类型不变;无迁移、无新表、无事件、无权限变更;未接通任何真实来源。\n本仓在企业智能OS中的角色未裁定,接缝可整体拆除。说明见\ndocs/architecture/omni-ro-operating-view-read-adapter-2026-10-22.md。\n\n验证(起点 c32dc69661d18fedc3e6939936535f3f5906bf7d):\n- vitest unit store-performance:6 文件 89 通过(新增 5 文件 80 例)\n- npm run test:unit:635 文件,8685 通过 / 16 失败;16 失败与改动前基线(630 文件,8605 通过 / 16 失败)逐项相同\n- 隔离库 integration(自建 pgvector/pg16,prisma migrate deploy 全部迁移,786 表语句级审计触发器):\n 3 通过(RO-03 正向零写、getById 负对照必写、RO-02 拒绝零写);未设 OMNI_RO_ISOLATED_DB 时 3 跳过\n- npm run type-check:1 错误,位于 marketing-chatbot.service.ts:1050,改动前基线同样存在\n- npm run lint:0 错误 / 3207 警告,与基线相同\n- audit:route-contract 覆盖率 100%、audit:route-registration 无重复、audit:tenant 无问题(报告文件未提交)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-10-22T10:56:23-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c32dc69661d18fedc3e6939936535f3f5906bf7d...477ff5abe896dde2ca37b98b02bde71079b3de31","Len":1}...
|
1793068985
|
Edit
Delete
|
|
25123
|
5
|
17
|
16
|
6
|
0
|
0
|
refs/heads/detached
|
0
|
|
1787501230
|
Edit
Delete
|
|
25121
|
5
|
5
|
16
|
6
|
0
|
0
|
refs/heads/feat/agent-framework
|
0
|
{"Commits":[{"Sha1":"248914b04 {"Commits":[{"Sha1":"248914b04a0be437317c50a8a641be8f06e94b7a","Message":"fix(agent): 保留 AI 助手非事实回应\n\n实现内容:\n- Result Verifier 按句区分一般能力介绍与具体事实声明\n- 问候与一般能力咨询无需工具证据,具体产品、质保、工单和 SLA 事实仍保持 fail-closed\n- 系统提示词统一使用 AI 助手定位并递增提示词版本\n\n验证:\n- AI 助手与 Agent Runtime 单测 49 条通过\n- 最终聚焦回归测试 26 条通过\n- 后端 TypeScript 与改动文件 ESLint 通过\n- AI Assist 覆盖、技能绑定、决策质量与上下文脱敏审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T08:37:43-07:00"},{"Sha1":"444a93a0d245349d3f8e229b2c896ef52df6a1d8","Message":"fix(agent): 合并并行工具调用结果消息\n\n实现内容:将同一轮连续 tool_result 合并为 Anthropic 协议要求的单条 user 消息,保留每个工具的追加式事件,并让上下文压缩范围覆盖合并事件。补充两个并行工具调用的消息结构回归断言。\n\n验证:AI 助手与 Agent Runtime 聚焦单测 61/61 通过;后端 TypeScript 和聚焦 ESLint 通过;AI Assist Coverage、Skill Binding、Decision Quality、Context Provider Redact 审计通过。\n\n未执行:新的 DeepSeek 两轮真实产品知识回归因本次具体数据发送范围未获重新授权而未运行。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T08:18:05-07:00"},{"Sha1":"c7269cf1876db06be814f2ba20423e5d88ce359d","Message":"feat(agent): 新增全局 AI 助手聊天入口\n\n实现内容:\n- 新增 AI 助手会话 API 与全局聊天抽屉,支持历史、新对话、连续追问、停止、重试、引用和澄清状态\n- 在桌面与移动壳接入响应式悬浮入口,隐藏 Task、Trace 等内部执行设施\n- 修正移动悬浮按钮尺寸与底导避让,并提升抽屉层级避免桌面 Header 遮挡\n\n验证:\n- 前端聚焦测试 3 files / 12 tests 通过\n- 前端 TypeScript 与定向 ESLint 通过\n- 真实后端桌面 Playwright smoke 1/1 通过\n- 桌面 1440x900 与移动 390x844 截图回放通过,无横向溢出或控件重叠\n- 前端运行时、点击交互、字段契约、类型债与 AI 四项审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T07:42:50-07:00"},{"Sha1":"af6d6f9c09bee4d9b10de011be2ac53df304f3dc","Message":"feat(agent): 新增 AI 助手对话后端入口\n\n实现内容:\n- 新增当前登录用户的会话创建、列表、详情、消息和停止接口\n- 每轮刷新权限快照并复用现有 Harness、只读 Tool Gateway、Verifier 与 Session Trace\n- 强制 tenant + created_by 属主隔离,过滤内部事件与工具标识\n- 固定 deepseek-v4-flash 与 Anthropic-compatible Base URL\n\n验证:\n- 聚焦单测 8 files / 55 tests 通过\n- 真实 PostgreSQL/Redis API 1 file / 6 tests 通过,未调用外部模型\n- 后端 TypeScript 与定向 ESLint 通过\n- route-contract、route-registration、api-test-coverage、tenant、docs 和 AI Assist 四项审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T07:05:23-07:00"}],"HeadCommit":{"Sha1":"248914b04a0be437317c50a8a641be8f06e94b7a","Message":"fix(agent): 保留 AI 助手非事实回应\n\n实现内容:\n- Result Verifier 按句区分一般能力介绍与具体事实声明\n- 问候与一般能力咨询无需工具证据,具体产品、质保、工单和 SLA 事实仍保持 fail-closed\n- 系统提示词统一使用 AI 助手定位并递增提示词版本\n\n验证:\n- AI 助手与 Agent Runtime 单测 49 条通过\n- 最终聚焦回归测试 26 条通过\n- 后端 TypeScript 与改动文件 ESLint 通过\n- AI Assist 覆盖、技能绑定、决策质量与上下文脱敏审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T08:37:43-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1a23fbc06f3d0862aafce4dc8e1815e24443b9ff...248914b04a0be437317c50a8a641be8f06e94b7a","Len":4}...
|
1787500853
|
Edit
Delete
|
|
25119
|
5
|
5
|
16
|
6
|
0
|
0
|
refs/heads/feat/agent-framework
|
0
|
|
1787500853
|
Edit
Delete
|
|
25117
|
5
|
5
|
16
|
6
|
0
|
0
|
refs/heads/detached
|
0
|
{"Commits":[{"Sha1":"1a23fbc06 {"Commits":[{"Sha1":"1a23fbc06f3d0862aafce4dc8e1815e24443b9ff","Message":"docs(agent): 固化 AI 助手产品与兼容迁移契约\n\n实现内容:\n- 定义 AI 助手目标用户、问题范围、权限与知识边界、澄清拒答、人工复核及会话留存策略\n- 盘点 customer_service 在数据库、API、前端、Prompt、Capability、评测和文档中的兼容语义\n- 将旧 M6 调整为 AI 助手体验层,并把影子运行与单租户试点顺延为 M7\n- 同步统一文档入口与治理经验,保留历史标识和非 AI 助手客服域不变\n\n验证:\n- React 文档真源审计通过:30 个当前入口,0 缺失,0 可执行旧引用,0 七层失败\n- docs 单一真源审计通过:254 个模块,0 failure;159 个 warning 为既有基线\n- git diff --cached --check 通过\n- pnpm 版本切换因 registry 签名校验失败,审计使用当前本地依赖树的 Node/tsx 入口等价执行\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T06:38:11-07:00"},{"Sha1":"6e5cb3333749ca73dbdcfab72e1a2918242a7bc4","Message":"fix(agent): 修复任务权限快照加载\n\n实现内容:\n- 按 PostgreSQL UUID 列规范形态识别任务创建人,保留非法占位 ID 失败关闭\n- 规范化权限快照并在查询异常时以空权限降级,日志仅记录错误类型\n- 增加种子管理员、非法 ID 和异常降级的真实轮询回归\n\n验证:\n- 消费者聚焦测试 15/15 通过\n- Agent Sandbox 与 Runtime 安全边界测试 25/25 通过\n- 后端 TypeScript 检查通过\n- 消费者真实性及 AI Assist 四项审计通过\n- pnpm 版本切换因 registry 签名校验失败,测试与检查使用当前本地依赖树等价执行\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T06:13:16-07:00"},{"Sha1":"9aa2ee36835da89bebac52db81a80115054206ed","Message":"fix(ai-agent): 修正任务审核状态与类型推荐\n\n- 区分等待执行、生成中和待审核状态,仅为可复核任务提供审核入口\n- 为客服 Agent 推荐服务响应类型,移除其他 Agent 的默认线索评分\n- 补充任务生命周期和创建表单回归测试\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T05:56:54-07:00"},{"Sha1":"0fcb5702413eba780205c6d62a0b061dadd674d5","Message":"feat(agent): 完善客服 Trace 与人工反馈闭环\n\n实现内容:\n- 贯通 executionId、traceId、taskId 和 sessionId,记录六阶段可观测 Trace\n- 增加租户隔离的 Trace 聚合接口与最小披露响应\n- 完善人工复核队列的草稿修改、证据、工具、风险和执行信息展示\n- 将人工复核反馈纳入客服评测报告并同步 M5 治理口径\n\n影响范围:\n- 人工通过只确认客服草稿,不发送客户消息或执行业务写入\n- M5 完成不代表已完成生产影子流量或单租户放量\n\n验证:\n- 后端聚焦测试 7 个文件共 56 项通过\n- 前端聚焦测试 1 个文件共 5 项通过\n- 真实 PostgreSQL 复核队列 API 5 项通过\n- 前后端 TypeScript 与相关治理审计通过\n- git diff --cached --check 通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T05:12:47-07:00"},{"Sha1":"b32ca9274842ce672f92d9f9cf6cc979dfb6706c","Message":"feat(service): 完善客服结果校验与人工复核\n\n实现内容:\n- 增加客服草稿事实、引用和证据一致性校验\n- 固化人工复核仅认可草稿且不执行业务写入的边界\n- 补充纯合成结果评测、真实数据库接口测试和治理记录\n\n验证:\n- pnpm -C backend run type-check\n- 聚焦单测 5 个文件共 50 项通过\n- 真实 PostgreSQL 复核队列接口 5 项通过\n- 相关治理审计通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T04:06:59-07:00"}],"HeadCommit":{"Sha1":"1a23fbc06f3d0862aafce4dc8e1815e24443b9ff","Message":"docs(agent): 固化 AI 助手产品与兼容迁移契约\n\n实现内容:\n- 定义 AI 助手目标用户、问题范围、权限与知识边界、澄清拒答、人工复核及会话留存策略\n- 盘点 customer_service 在数据库、API、前端、Prompt、Capability、评测和文档中的兼容语义\n- 将旧 M6 调整为 AI 助手体验层,并把影子运行与单租户试点顺延为 M7\n- 同步统一文档入口与治理经验,保留历史标识和非 AI 助手客服域不变\n\n验证:\n- React 文档真源审计通过:30 个当前入口,0 缺失,0 可执行旧引用,0 七层失败\n- docs 单一真源审计通过:254 个模块,0 failure;159 个 warning 为既有基线\n- git diff --cached --check 通过\n- pnpm 版本切换因 registry 签名校验失败,审计使用当前本地依赖树的 Node/tsx 入口等价执行\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-23T06:38:11-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/f23014a01acfc11abb251f3a76ea6c904a44ecac...1a23fbc06f3d0862aafce4dc8e1815e24443b9ff","Len":9}...
|
1787498873
|
Edit
Delete
|
|
25115
|
5
|
5
|
16
|
6
|
0
|
0
|
refs/heads/detached
|
0
|
|
1787498873
|
Edit
Delete
|
|
21926
|
5
|
17
|
16
|
6
|
0
|
0
|
refs/heads/fix/frontend-service-service-dashboard
|
0
|
|
1786438570
|
Edit
Delete
|
|
21916
|
5
|
5
|
16
|
6
|
0
|
0
|
refs/heads/fix/frontend-service-service-dashboard
|
0
|
{"Commits":[{"Sha1":"66d832ab1 {"Commits":[{"Sha1":"66d832ab1b3d0934d4b39cfc77da31d8eb1de029","Message":"fix(service-dashboard): 阻断工单统计与趋势分析图表高度被持续拉伸\n\n服务看板「工单统计 / 趋势分析」ECharts 容器使用 height:100% + min-height,\n并直接对图表 DOM 调用 ResizeObserver → resize(),形成高度反馈环。\n\n- 图表容器改为固定高度并 overflow:hidden\n- resize 增加 rAF 合并与尺寸未变短路\n- 覆盖 TicketStatsPanel、TrendsPanel\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-08-11T13:40:54+08:00"}],"HeadCommit":{"Sha1":"66d832ab1b3d0934d4b39cfc77da31d8eb1de029","Message":"fix(service-dashboard): 阻断工单统计与趋势分析图表高度被持续拉伸\n\n服务看板「工单统计 / 趋势分析」ECharts 容器使用 height:100% + min-height,\n并直接对图表 DOM 调用 ResizeObserver → resize(),形成高度反馈环。\n\n- 图表容器改为固定高度并 overflow:hidden\n- resize 增加 rAF 合并与尺寸未变短路\n- 覆盖 TicketStatsPanel、TrendsPanel\n","AuthorEmail":"228834386@qq.com","AuthorName":"starry","CommitterEmail":"228834386@qq.com","CommitterName":"starry","Timestamp":"2026-08-11T13:40:54+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c32dc69661d18fedc3e6939936535f3f5906bf7d...66d832ab1b3d0934d4b39cfc77da31d8eb1de029","Len":1}...
|
1786437401
|
Edit
Delete
|
|
21914
|
5
|
5
|
16
|
6
|
0
|
0
|
refs/heads/fix/frontend-service-service-dashboard
|
0
|
|
1786437401
|
Edit
Delete
|
|
19604
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"f23014a01 {"Commits":[{"Sha1":"f23014a01acfc11abb251f3a76ea6c904a44ecac","Message":"docs(governance): 订正 view-g2=17 定性——首次诚实测量而非回归\n\n深挖推翻此前「真实视图成熟度回归」的判断,五条独立证据:\n\n1. maturityCounts 从 5-08 到 7-09 长期是 G4=300 全满级,7-21\n e756bd9203 突变为 G2=17\n2. 该提交的父提交里 git grep view-module-audit 只命中消费方,\n 无任何文件写入该报告——旧全 G4 报告无可执行生产器\n3. 该提交新增 view-audit.mjs(1348 行)并把 audit:view-governance\n 扩成 generate+verify+view:audit:generate 三段式\n4. 该提交 views 下测试文件增 1 删 0,无测试被删\n5. realViewModuleCount 299→284,归位 canonical 口径\n\n抽验 6 模块确认零 smoke 测试属实;admin 的 2 处引用是 vi.mock 桩掉,\n扫描器只认真实 from 导入是正确的保守设计。\n\n附:真实整改 backlog 19 项;生产器缺陷 1 项(mobile-prototype 因\nglobal-shell 拓扑在两条规则间不自洽而永远卡 G2 且无可修 gap)。\n受控块处置属棘轮「迁移后重存基线」分支,需 PR review,未单方面改。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T18:21:14-07:00"}],"HeadCommit":{"Sha1":"f23014a01acfc11abb251f3a76ea6c904a44ecac","Message":"docs(governance): 订正 view-g2=17 定性——首次诚实测量而非回归\n\n深挖推翻此前「真实视图成熟度回归」的判断,五条独立证据:\n\n1. maturityCounts 从 5-08 到 7-09 长期是 G4=300 全满级,7-21\n e756bd9203 突变为 G2=17\n2. 该提交的父提交里 git grep view-module-audit 只命中消费方,\n 无任何文件写入该报告——旧全 G4 报告无可执行生产器\n3. 该提交新增 view-audit.mjs(1348 行)并把 audit:view-governance\n 扩成 generate+verify+view:audit:generate 三段式\n4. 该提交 views 下测试文件增 1 删 0,无测试被删\n5. realViewModuleCount 299→284,归位 canonical 口径\n\n抽验 6 模块确认零 smoke 测试属实;admin 的 2 处引用是 vi.mock 桩掉,\n扫描器只认真实 from 导入是正确的保守设计。\n\n附:真实整改 backlog 19 项;生产器缺陷 1 项(mobile-prototype 因\nglobal-shell 拓扑在两条规则间不自洽而永远卡 G2 且无可修 gap)。\n受控块处置属棘轮「迁移后重存基线」分支,需 PR review,未单方面改。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T18:21:14-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/b94f71f09dc50f1a267a97bd72bdc2417fa41014...f23014a01acfc11abb251f3a76ea6c904a44ecac","Len":1}...
|
1785288087
|
Edit
Delete
|
|
19603
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"b94f71f09 {"Commits":[{"Sha1":"b94f71f09dc50f1a267a97bd72bdc2417fa41014","Message":"docs(governance): 沉淀反向断言剧场与 2026-07-28 全量对抗验收结论\n\n两节新增经验(经验库约定最新置顶,同步 最后更新 → 2026-07-28):\n\n1. 反向断言剧场:事件常量漂移让「真派发」consumer 测试静默空转。\n 真派发 ≠ 真命中——架构上确实捕获并调用了 handler,但事件类型\n 打不中路由表,0===0 的断言掩盖哑火。含幂等测试非空前置断言铁律、\n 常量取值范式与 `_created` 去重分支陷阱(不能只替换字符串)。\n\n2. 全量对抗验收实测:leads 主链运行态对抗探测全通过,但\n governance-gate(stale=46)与 baseline-reconcile(7 VALUE_DRIFT,\n 其中 4 处来自最新报告)双双报红。运行态扎实 ≠ 工作区级可放行,\n 两层必须分开陈述;禁止上调 ceiling 洗绿。\n\n对应代码修复见 f0f7ca8627。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T17:47:57-07:00"},{"Sha1":"f0f7ca86271a2530ef901fe3b4472100452a02f3","Message":"test(hr): 修复因事件常量漂移而空转的消费者幂等测试\n\nhr.consumer 的路由键从 HR_ATTENDANCE_EVENTS.LEAVE_SUBMITTED\n('hr_leave_submitted') 改为 HR_EVENTS.LEAVE_REQUEST_CREATED\n('leave_request_created') 后,本测试仍硬编码旧字面量,导致\neventHandlers 查不到 handler、静默零副作用,测试退化为空转。\nproducer (leave.service.ts:612) 与 consumer 已对齐,生产代码无需改动。\n\n- 事件类型改从 HR_EVENTS 常量取值,后续重命名将直接编译失败而非静默失效\n- occurredAt 去重语义改用非 _created 事件验证:isEventProcessed 对\n `_created` 结尾事件按 eventType:entityId 去重(忽略 occurredAt),\n 用 created 事件断言「不同 occurredAt 都生效」在语义上必然失败\n- 两个用例补 afterFirst \u003e 0 防空转断言,杜绝 0 === 0 的假通过\n- 新增用例固定 _created 分支按 entityId 去重的语义\n\nbackend test:run: 653 files / 8945 tests 全通过(此前 2 failed)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T17:40:14-07:00"},{"Sha1":"e756bd9203bbaacc6fc41c2f89f50259eeaf7e5d","Message":"Refactor governance workflows and frontend contracts\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T08:15:12-07:00"},{"Sha1":"33a0e20a1f45a68e6f951709fcf06742557cecba","Message":"Harden IM member boundaries and streamline governance guidance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T04:01:44-07:00"},{"Sha1":"5f2d2c14951aaf1c46ad7d55b7152fe70e66395c","Message":"Improve governance workflows and frontend contract alignment\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-21T03:36:40-07:00"}],"HeadCommit":{"Sha1":"b94f71f09dc50f1a267a97bd72bdc2417fa41014","Message":"docs(governance): 沉淀反向断言剧场与 2026-07-28 全量对抗验收结论\n\n两节新增经验(经验库约定最新置顶,同步 最后更新 → 2026-07-28):\n\n1. 反向断言剧场:事件常量漂移让「真派发」consumer 测试静默空转。\n 真派发 ≠ 真命中——架构上确实捕获并调用了 handler,但事件类型\n 打不中路由表,0===0 的断言掩盖哑火。含幂等测试非空前置断言铁律、\n 常量取值范式与 `_created` 去重分支陷阱(不能只替换字符串)。\n\n2. 全量对抗验收实测:leads 主链运行态对抗探测全通过,但\n governance-gate(stale=46)与 baseline-reconcile(7 VALUE_DRIFT,\n 其中 4 处来自最新报告)双双报红。运行态扎实 ≠ 工作区级可放行,\n 两层必须分开陈述;禁止上调 ceiling 洗绿。\n\n对应代码修复见 f0f7ca8627。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-28T17:47:57-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb...b94f71f09dc50f1a267a97bd72bdc2417fa41014","Len":7}...
|
1785286209
|
Edit
Delete
|
|
17113
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"c4f0c2eab {"Commits":[{"Sha1":"c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Message":"feat(migrations): 部署完备 parity baseline——全新库 migrate deploy 终态与 schema 真源零差异\n\n新增 20260712155600_deploy_parity_baseline 迁移,收敛迁移链重放态与 folder schema\n真源之间累计 10176 行系统性漂移,使全新空库 `prisma migrate deploy` 全量重放后\n与 Prisma Client 生成依据完全一致(影子库全链演练机器验证 diff 为空)。\n\n漂移核查结论:\n- 零缺列——Client 声明的列迁移链全部建到(6 个疑似缺列实为同语句 DROP+ADD 类型\n 重建,演练撞列后实锤改判)\n- 实际漂移构成:FK onDelete/onUpdate 行为 542 对、索引命名与定义约 1950 处、\n 列类型/NOT NULL/默认值 260 条、131 个真源已废弃列清理\n\nbaseline 工程化(五类防御化,安全性由终态 diff=0 校验兜底):\n- 约束背后索引 DROP INDEX → DROP CONSTRAINT(演练发现 Prisma diff 脚本缺陷)\n- 业务视图 20 个先拆后建(排除 pg_* 扩展视图;类型变更被视图依赖阻断)\n- 业务触发器 36 个先拆后建(pg_get_triggerdef 原样导出)\n- 索引操作幂等化 + 约束 RENAME/ADD DO 块吞存在性异常\n- 收尾:11 个同名异构索引先删后建 + 1 个冗余旧名 FK 清理\n\n环境处置:\n- dev 库 resolve --applied 跳过(禁止在有数据库上执行,含 DROP COLUMN 与 FK 行为\n 变更;存量漂移由 migration-drift 审计渐进治理)\n- API 测试库非 prisma migrate 管理,不受影响\n- 附带处置共享 dev 库幽灵状态:failed 半应用迁移 20260711235453 与无记录迁移\n 20260712000950 核实内容完整在库后 resolve 补记录\n\n部署口径落盘 docs/operations/database-deploy-migration-runbook-2026-07-12.md\n(全新库两步:deploy + diff 校验;已有环境一步 resolve)。\n\n证据:影子库全链演练 deploy 成功 + 终态 diff 输出 \"This is an empty migration.\";\n后端单测 640/8803 全绿;customers/sla API 真打 DB 17/17;prisma:schema 镜像审计通过;\n演练用影子库已清理。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T09:04:27-07:00"}],"HeadCommit":{"Sha1":"c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Message":"feat(migrations): 部署完备 parity baseline——全新库 migrate deploy 终态与 schema 真源零差异\n\n新增 20260712155600_deploy_parity_baseline 迁移,收敛迁移链重放态与 folder schema\n真源之间累计 10176 行系统性漂移,使全新空库 `prisma migrate deploy` 全量重放后\n与 Prisma Client 生成依据完全一致(影子库全链演练机器验证 diff 为空)。\n\n漂移核查结论:\n- 零缺列——Client 声明的列迁移链全部建到(6 个疑似缺列实为同语句 DROP+ADD 类型\n 重建,演练撞列后实锤改判)\n- 实际漂移构成:FK onDelete/onUpdate 行为 542 对、索引命名与定义约 1950 处、\n 列类型/NOT NULL/默认值 260 条、131 个真源已废弃列清理\n\nbaseline 工程化(五类防御化,安全性由终态 diff=0 校验兜底):\n- 约束背后索引 DROP INDEX → DROP CONSTRAINT(演练发现 Prisma diff 脚本缺陷)\n- 业务视图 20 个先拆后建(排除 pg_* 扩展视图;类型变更被视图依赖阻断)\n- 业务触发器 36 个先拆后建(pg_get_triggerdef 原样导出)\n- 索引操作幂等化 + 约束 RENAME/ADD DO 块吞存在性异常\n- 收尾:11 个同名异构索引先删后建 + 1 个冗余旧名 FK 清理\n\n环境处置:\n- dev 库 resolve --applied 跳过(禁止在有数据库上执行,含 DROP COLUMN 与 FK 行为\n 变更;存量漂移由 migration-drift 审计渐进治理)\n- API 测试库非 prisma migrate 管理,不受影响\n- 附带处置共享 dev 库幽灵状态:failed 半应用迁移 20260711235453 与无记录迁移\n 20260712000950 核实内容完整在库后 resolve 补记录\n\n部署口径落盘 docs/operations/database-deploy-migration-runbook-2026-07-12.md\n(全新库两步:deploy + diff 校验;已有环境一步 resolve)。\n\n证据:影子库全链演练 deploy 成功 + 终态 diff 输出 \"This is an empty migration.\";\n后端单测 640/8803 全绿;customers/sla API 真打 DB 17/17;prisma:schema 镜像审计通过;\n演练用影子库已清理。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T09:04:27-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/384707574f237763231e84a10939c4277977169d...c4f0c2eabbf729ae2f7cc6de2eda4416f0e7b3bb","Len":1}...
|
1783872271
|
Edit
Delete
|
|
17112
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"384707574 {"Commits":[{"Sha1":"384707574f237763231e84a10939c4277977169d","Message":"feat(tickets): 工单联系人/预约时段五字段全链点亮——迁移补列 + 写读回闭环\n\n数据库迁移(20260712153553_ticket_contact_and_schedule_fields):\n- service_tickets 补 contact_name(100)/contact_phone(50)/contact_address(500)/\n estimated_start_time/estimated_end_time 五列——工单表单自建立起渲染这五个字段,\n 但无物理列导致 create/update 白名单注释「后端暂不支持」、用户填写全部静默丢弃\n (P0 批 tickets 编辑断链修复时裁定归 owner,本次补列接通)\n- 迁移应用过程处置共享 dev 库存量幽灵状态:20260711235453 为 failed 半应用\n (列+索引实际已在)、20260712000950 内容已在库但无记录——核实两者列+索引\n 完整存在后 migrate resolve --applied 补记录,再 deploy 新迁移;\n folder 真源 → 镜像同步 → audit:prisma-schema-source 通过 → client/Zod 重新生成\n\n全链接线:\n- ticketMapper 补 contactAddress/estimatedStartTime/estimatedEndTime 三条映射\n (contactName/contactPhone 映射历史上已预留、列今天才建)\n- createTicketSchema/updateTicketSchema 双 schema 补五键(Zod max 与 VarChar 逐列对齐,\n prisma-zod 契约审计 0 错误)\n- 前端 create()/update() 白名单恢复发送(表单 phone → 后端 contactPhone);\n 编辑回填改读 DTO 真源键 contactPhone;shared ServiceTicket 类型补 contactPhone\n- 连坐清理:shared 重建暴露 invoice-requests/Detail 的 issuedBy 漏网死字段消费,\n 同款移除(invoices 表无 issued_by 列)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;live 写读回实锤——PUT 五字段\n(王工/13900001111/杭州市西湖区文一路 100 号/预约时段 ISO)全部落库读回成功;\nprisma-zod p1Length/p1Required 均 0;tickets/invoices 域 RTL 6 文件/18 用例全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:49:04-07:00"}],"HeadCommit":{"Sha1":"384707574f237763231e84a10939c4277977169d","Message":"feat(tickets): 工单联系人/预约时段五字段全链点亮——迁移补列 + 写读回闭环\n\n数据库迁移(20260712153553_ticket_contact_and_schedule_fields):\n- service_tickets 补 contact_name(100)/contact_phone(50)/contact_address(500)/\n estimated_start_time/estimated_end_time 五列——工单表单自建立起渲染这五个字段,\n 但无物理列导致 create/update 白名单注释「后端暂不支持」、用户填写全部静默丢弃\n (P0 批 tickets 编辑断链修复时裁定归 owner,本次补列接通)\n- 迁移应用过程处置共享 dev 库存量幽灵状态:20260711235453 为 failed 半应用\n (列+索引实际已在)、20260712000950 内容已在库但无记录——核实两者列+索引\n 完整存在后 migrate resolve --applied 补记录,再 deploy 新迁移;\n folder 真源 → 镜像同步 → audit:prisma-schema-source 通过 → client/Zod 重新生成\n\n全链接线:\n- ticketMapper 补 contactAddress/estimatedStartTime/estimatedEndTime 三条映射\n (contactName/contactPhone 映射历史上已预留、列今天才建)\n- createTicketSchema/updateTicketSchema 双 schema 补五键(Zod max 与 VarChar 逐列对齐,\n prisma-zod 契约审计 0 错误)\n- 前端 create()/update() 白名单恢复发送(表单 phone → 后端 contactPhone);\n 编辑回填改读 DTO 真源键 contactPhone;shared ServiceTicket 类型补 contactPhone\n- 连坐清理:shared 重建暴露 invoice-requests/Detail 的 issuedBy 漏网死字段消费,\n 同款移除(invoices 表无 issued_by 列)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;live 写读回实锤——PUT 五字段\n(王工/13900001111/杭州市西湖区文一路 100 号/预约时段 ISO)全部落库读回成功;\nprisma-zod p1Length/p1Required 均 0;tickets/invoices 域 RTL 6 文件/18 用例全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:49:04-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/584554702141074169c3a208e5fed2bc25768b58...384707574f237763231e84a10939c4277977169d","Len":1}...
|
1783871348
|
Edit
Delete
|
|
17111
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"584554702 {"Commits":[{"Sha1":"584554702141074169c3a208e5fed2bc25768b58","Message":"fix(field-contract): 第六批 INFO 尾账四项收口——占位端点下线 + 死列失败关闭 + 三方契约归一\n\n- payment-plans/overdue 三方契约归一:service 补 minOverdueDays 真消费(due_date 前推 N 天,\n live 实锤 5→0 收敛);孤儿 schema(minAmount/maxOverdueDays 从未被消费)改为与 controller\n 实际消费一致(customerId/minOverdueDays/limit),docs 引用同步归真;前端参数删除无分页\n 语义的 page/pageSize 改 limit。类型收紧暴露分诊假阴性:orders 详情 hook 真实消费该端点,\n 此前传的 page/pageSize 一直被静默忽略,已对齐\n- livestream 报表 summary.peakViewers:后端接口与前端类型双侧 nullable + 死列注释\n (livestream_schedules.peak_viewers 无运行时 writer,类型层失败关闭防新消费者误信)\n- groupbuy getPlatformDetailStats/getStoreStats:基于 order_count/sales_amount 双死列\n (全仓仅 select 读、无 create/update 写链,相似写点在 influencer_performances 另一张表)\n 派生的 totalOrders/totalRevenue/dailyTrend/avgOrderValue/productCount/rating 全部失败\n 关闭返回 null/空并删除无用死列查询;仅保留 settled_amount 真列派生的 revenue\n- sales-dashboard 七个占位端点整体下线(products/customers/regional/activities/\n sales-cycle/my-performance/team-performance):自建立起即硬编码假数(恒空/avgDays:30)\n 且前端零视图消费,按孤岛清理先例删除 routes/controller/schema/docs/前端方法全链;\n live 实锤四端点 404;顺手对齐 getForecast 前端类型潜伏雷(声明数组 vs 后端真实对象)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;sales-dashboard API 2/2、前端\nsales-dashboard/orders RTL 17/17;route-contract 审计 coverage 100% 无破损;\nlive curl 实锤(minOverdueDays 收敛、占位端点 404、平台 stats 正常)。\n分诊台账全部条目清零,五批+尾账共约 54 项真缺陷收口完毕。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:24:31-07:00"}],"HeadCommit":{"Sha1":"584554702141074169c3a208e5fed2bc25768b58","Message":"fix(field-contract): 第六批 INFO 尾账四项收口——占位端点下线 + 死列失败关闭 + 三方契约归一\n\n- payment-plans/overdue 三方契约归一:service 补 minOverdueDays 真消费(due_date 前推 N 天,\n live 实锤 5→0 收敛);孤儿 schema(minAmount/maxOverdueDays 从未被消费)改为与 controller\n 实际消费一致(customerId/minOverdueDays/limit),docs 引用同步归真;前端参数删除无分页\n 语义的 page/pageSize 改 limit。类型收紧暴露分诊假阴性:orders 详情 hook 真实消费该端点,\n 此前传的 page/pageSize 一直被静默忽略,已对齐\n- livestream 报表 summary.peakViewers:后端接口与前端类型双侧 nullable + 死列注释\n (livestream_schedules.peak_viewers 无运行时 writer,类型层失败关闭防新消费者误信)\n- groupbuy getPlatformDetailStats/getStoreStats:基于 order_count/sales_amount 双死列\n (全仓仅 select 读、无 create/update 写链,相似写点在 influencer_performances 另一张表)\n 派生的 totalOrders/totalRevenue/dailyTrend/avgOrderValue/productCount/rating 全部失败\n 关闭返回 null/空并删除无用死列查询;仅保留 settled_amount 真列派生的 revenue\n- sales-dashboard 七个占位端点整体下线(products/customers/regional/activities/\n sales-cycle/my-performance/team-performance):自建立起即硬编码假数(恒空/avgDays:30)\n 且前端零视图消费,按孤岛清理先例删除 routes/controller/schema/docs/前端方法全链;\n live 实锤四端点 404;顺手对齐 getForecast 前端类型潜伏雷(声明数组 vs 后端真实对象)\n\n证据:双端类型检查干净;后端单测 640/8803 全绿;sales-dashboard API 2/2、前端\nsales-dashboard/orders RTL 17/17;route-contract 审计 coverage 100% 无破损;\nlive curl 实锤(minOverdueDays 收敛、占位端点 404、平台 stats 正常)。\n分诊台账全部条目清零,五批+尾账共约 54 项真缺陷收口完毕。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:24:31-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/e005063b444466a70a8b0bc6b257ee2097fac9cb...584554702141074169c3a208e5fed2bc25768b58","Len":1}...
|
1783869876
|
Edit
Delete
|
|
17110
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"e005063b4 {"Commits":[{"Sha1":"e005063b444466a70a8b0bc6b257ee2097fac9cb","Message":"fix(field-contract): P2 第五批十五条全量收口——SLA/门店/获客三域整链 + 微修线\n\n三域并行修复(每条裁定附 prisma schema 列证据,范式:有真源后端真算、无真源失败关闭):\n\nSLA 整链(服务#2/#3):\n- getDashboardStats 重写为前端嵌套契约:current{running/atRisk/breaching}、last30Days\n 响应/解决达标率(诚实分母:未到期 pending 不计入不造数)、breachedByPriority、\n dailyTrend 近 7 日;保留旧扁平键兼容。live 实锤 running=306、解决达标率 22.7%\n- getComplianceReport 由时钟数组改报告对象(overall/byPriority/byType/daily 逐日骨架),\n 真消费 dateFrom/dateTo(此前完全忽略);API 测试断言同步归真(旧断言锁定断链形状)\n\n门店域(门店#1-6):\n- groupbuy-platforms:全局统计/平台列表真算(accounts 计数、settled_amount 合计、\n byPlatform 分桶、authorizedPlatforms 接 auth_status 真列);店铺硬编码死指标\n (syncStatus/productCount/rating)删除;营收量纲修正(误按分除 100 → 元);\n totalOrders 全仓无 writer 全线失败关闭;同步任务无持久化表 → tab/API/类型下线\n- livestream-groupbuy-conversion:实时卡 redemptions(conversion_tracks stage='redeemed')\n 与 avgWatchDuration(viewer_tracks.watch_duration 有列有写链,纠正分诊「无列」误判)\n 真算;peakViewers 死零列失败关闭;关联表补 schedule 名称等 7 个物理列真源,\n 假时间戳/假 status 兜底删除;创建表单想象字段(商品 ID/置顶)删除\n\n获客域(获客#1/#2/#5):\n- campaigns getDashboardData 扩展 12 键真算(byStatus/byChannel/byBusinessLine groupBy、\n 预算花费聚合、executingCampaigns、recentLeadsCount、dailyTrend 7 日桶);live 实锤\n totalBudget=134.3 万、recentLeadsCount=31\n- channel-comparison 补 campaigns 计数与 avgRoi(cost=0 失败关闭);impressions/clicks\n 无真源从前端契约删除\n- campaign-targets 无 Prisma 关系 → 二次查询拼装活动摘要(查不到 null 禁止伪造);\n currentValue 无列 → 进度列失败关闭 '-';abm 触点/评分 metadata 无写链 → nullable\n\n微修线(7 条):\n- 门店系 page 回退 typo ×4(page ?? page_size 误回退,pageSize=50 会跳空页)\n- contracts 排序 order 别名(拦截器映射键此前被 Zod 剥离,升序静默回落 desc)\n- invoices「开票人」死字段三处删除(表无 issued_by 列,条件恒 false)\n- leads 保护期真实现(protect_until 真列 + 分配链真实写入;「保护期管理」由硬编码\n 空 stub 改真查询);分配历史 protectUntil 假时间戳改读 leads 真值\n- tickets assign/escalate 补 crm_activities 操作日志 writer(activity_type 直映\n timeline type,「指派记录」「升级记录」两个恒空 Tab 从此有真源)\n- cash-flow payment-behaviors 孤儿 schema 删除(零引用死文件)\n- batch8 测试存量断言缺陷补 auth mock(Permission 包裹按钮自 wire 提交起未 mock)\n\n证据:双端类型检查干净;后端单测 640 文件/8803 全绿(三域新增/强化单测:SLA 4 条、\nplatforms/livestream 聚合断言、campaigns dashboard/channel/targets 拼装断言,含\nnot.toHaveProperty 防伪造键回潮守卫);SLA API 真打 DB 12/12;前端相关域 RTL 全绿\n(含失败关闭断言与 createLink payload 精确匹配防想象字段回潮);live curl 六端点\n真值/失败关闭行为实锤。分诊台账 P2 段全部标记收口,余 4 项无消费者观察 INFO 备案。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:08:16-07:00"}],"HeadCommit":{"Sha1":"e005063b444466a70a8b0bc6b257ee2097fac9cb","Message":"fix(field-contract): P2 第五批十五条全量收口——SLA/门店/获客三域整链 + 微修线\n\n三域并行修复(每条裁定附 prisma schema 列证据,范式:有真源后端真算、无真源失败关闭):\n\nSLA 整链(服务#2/#3):\n- getDashboardStats 重写为前端嵌套契约:current{running/atRisk/breaching}、last30Days\n 响应/解决达标率(诚实分母:未到期 pending 不计入不造数)、breachedByPriority、\n dailyTrend 近 7 日;保留旧扁平键兼容。live 实锤 running=306、解决达标率 22.7%\n- getComplianceReport 由时钟数组改报告对象(overall/byPriority/byType/daily 逐日骨架),\n 真消费 dateFrom/dateTo(此前完全忽略);API 测试断言同步归真(旧断言锁定断链形状)\n\n门店域(门店#1-6):\n- groupbuy-platforms:全局统计/平台列表真算(accounts 计数、settled_amount 合计、\n byPlatform 分桶、authorizedPlatforms 接 auth_status 真列);店铺硬编码死指标\n (syncStatus/productCount/rating)删除;营收量纲修正(误按分除 100 → 元);\n totalOrders 全仓无 writer 全线失败关闭;同步任务无持久化表 → tab/API/类型下线\n- livestream-groupbuy-conversion:实时卡 redemptions(conversion_tracks stage='redeemed')\n 与 avgWatchDuration(viewer_tracks.watch_duration 有列有写链,纠正分诊「无列」误判)\n 真算;peakViewers 死零列失败关闭;关联表补 schedule 名称等 7 个物理列真源,\n 假时间戳/假 status 兜底删除;创建表单想象字段(商品 ID/置顶)删除\n\n获客域(获客#1/#2/#5):\n- campaigns getDashboardData 扩展 12 键真算(byStatus/byChannel/byBusinessLine groupBy、\n 预算花费聚合、executingCampaigns、recentLeadsCount、dailyTrend 7 日桶);live 实锤\n totalBudget=134.3 万、recentLeadsCount=31\n- channel-comparison 补 campaigns 计数与 avgRoi(cost=0 失败关闭);impressions/clicks\n 无真源从前端契约删除\n- campaign-targets 无 Prisma 关系 → 二次查询拼装活动摘要(查不到 null 禁止伪造);\n currentValue 无列 → 进度列失败关闭 '-';abm 触点/评分 metadata 无写链 → nullable\n\n微修线(7 条):\n- 门店系 page 回退 typo ×4(page ?? page_size 误回退,pageSize=50 会跳空页)\n- contracts 排序 order 别名(拦截器映射键此前被 Zod 剥离,升序静默回落 desc)\n- invoices「开票人」死字段三处删除(表无 issued_by 列,条件恒 false)\n- leads 保护期真实现(protect_until 真列 + 分配链真实写入;「保护期管理」由硬编码\n 空 stub 改真查询);分配历史 protectUntil 假时间戳改读 leads 真值\n- tickets assign/escalate 补 crm_activities 操作日志 writer(activity_type 直映\n timeline type,「指派记录」「升级记录」两个恒空 Tab 从此有真源)\n- cash-flow payment-behaviors 孤儿 schema 删除(零引用死文件)\n- batch8 测试存量断言缺陷补 auth mock(Permission 包裹按钮自 wire 提交起未 mock)\n\n证据:双端类型检查干净;后端单测 640 文件/8803 全绿(三域新增/强化单测:SLA 4 条、\nplatforms/livestream 聚合断言、campaigns dashboard/channel/targets 拼装断言,含\nnot.toHaveProperty 防伪造键回潮守卫);SLA API 真打 DB 12/12;前端相关域 RTL 全绿\n(含失败关闭断言与 createLink payload 精确匹配防想象字段回潮);live curl 六端点\n真值/失败关闭行为实锤。分诊台账 P2 段全部标记收口,余 4 项无消费者观察 INFO 备案。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T08:08:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/5ae992ef927153e78f5d698e12079bcd3c022f39...e005063b444466a70a8b0bc6b257ee2097fac9cb","Len":1}...
|
1783868903
|
Edit
Delete
|
|
17109
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"5ae992ef9 {"Commits":[{"Sha1":"5ae992ef927153e78f5d698e12079bcd3c022f39","Message":"fix(field-contract): P2 第四批八条收口——占位统计真实现 + 无真源 UI 失败关闭\n\n后端补真实现(真源在库、此前占位/分组数组致恒 0):\n- rma:byType 真实 groupBy(type 列 2026-07-09 已建,stats 注释过期硬编码空数组致\n 「类型分布」卡恒空)\n- contracts:统计卡 active/expiringSoon/totalValue 真算(status 分组 + effective_to\n 30 天到期窗口 + total_amount 合计;live 实测 active=126 / totalValue=90 亿)\n- tickets:统计卡 pending(new+assigned)/processing(in_progress)/breached(SLA 时钟违约\n 且未终态) 真算(live 实测 177/45/0)\n- leads:/stats 补 unassigned(销售看板待办真源,live 实测 398);assignment/stats 补\n unassigned/todayAssigned + topAssignees.userName 人员姓名回填(分配页 UUID 直显修复)\n- sales-dashboard:getTrend 由硬编码空数组占位改真实月度聚合(与 overview 同口径\n won opportunities expected_amount + leads/opportunities 创建计数;live 验证趋势卡\n 出现 2026-05 真实赢单 50000,此前恒「暂无趋势数据」)\n\n前端无真源 UI 失败关闭(数据模型表达不了、禁止造假数):\n- contract-templates:删「草稿」统计卡(is_active 布尔无 draft 语义,后端字面量 0、\n 点击恒空列表)\n- customer-balance:删「透支额度」虚构列(后端无 overdraft 概念,adapter 硬编码 0)\n- groupbuy-redemptions:删「方式统计」死面板(redeem_method 未持久化,后端诚实空集)\n\n证据:双端类型检查干净;后端单测 640/8795 全绿(contracts/lead-assignment 单测断言\n更新为扁平键回归守卫);前端六域 RTL 10 文件/39 用例全绿;live curl 六端点真值实锤。\n分诊台账 P2 段拆分为已收口子集与剩余待裁定清单。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T07:16:44-07:00"}],"HeadCommit":{"Sha1":"5ae992ef927153e78f5d698e12079bcd3c022f39","Message":"fix(field-contract): P2 第四批八条收口——占位统计真实现 + 无真源 UI 失败关闭\n\n后端补真实现(真源在库、此前占位/分组数组致恒 0):\n- rma:byType 真实 groupBy(type 列 2026-07-09 已建,stats 注释过期硬编码空数组致\n 「类型分布」卡恒空)\n- contracts:统计卡 active/expiringSoon/totalValue 真算(status 分组 + effective_to\n 30 天到期窗口 + total_amount 合计;live 实测 active=126 / totalValue=90 亿)\n- tickets:统计卡 pending(new+assigned)/processing(in_progress)/breached(SLA 时钟违约\n 且未终态) 真算(live 实测 177/45/0)\n- leads:/stats 补 unassigned(销售看板待办真源,live 实测 398);assignment/stats 补\n unassigned/todayAssigned + topAssignees.userName 人员姓名回填(分配页 UUID 直显修复)\n- sales-dashboard:getTrend 由硬编码空数组占位改真实月度聚合(与 overview 同口径\n won opportunities expected_amount + leads/opportunities 创建计数;live 验证趋势卡\n 出现 2026-05 真实赢单 50000,此前恒「暂无趋势数据」)\n\n前端无真源 UI 失败关闭(数据模型表达不了、禁止造假数):\n- contract-templates:删「草稿」统计卡(is_active 布尔无 draft 语义,后端字面量 0、\n 点击恒空列表)\n- customer-balance:删「透支额度」虚构列(后端无 overdraft 概念,adapter 硬编码 0)\n- groupbuy-redemptions:删「方式统计」死面板(redeem_method 未持久化,后端诚实空集)\n\n证据:双端类型检查干净;后端单测 640/8795 全绿(contracts/lead-assignment 单测断言\n更新为扁平键回归守卫);前端六域 RTL 10 文件/39 用例全绿;live curl 六端点真值实锤。\n分诊台账 P2 段拆分为已收口子集与剩余待裁定清单。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T07:16:44-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7...5ae992ef927153e78f5d698e12079bcd3c022f39","Len":1}...
|
1783865808
|
Edit
Delete
|
|
17108
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"0ebe6fb5c {"Commits":[{"Sha1":"0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7","Message":"fix(field-contract): P1 批次十三条收口——键名/量纲映射级断链修复\n\n响应侧映射修复:\n- campaigns:getCampaignStats 从后端真实 {overview,channels} 派生 summary/channelBreakdown\n (渠道真数据此前被键名错位丢弃恒空);getStats 分组数组转对象(业务线 Tab 计数恒 0)+\n totalSpent 键对齐\n- leads /:id/score:拆分 controller 回完整评分对象(此前与 /score-details 共用剥壳 handler\n 只回裸数组,评分卡恒 0 分);shared 类型补 calculatedAt 真源键并重建 dist\n- tickets:stage-history 路由接 ticket_stage_history 真源 handler(此前 alias 到 timeline\n 被旁路,渲染「初始状态:undefined」);getReplies 补 adapter(回复人恒 '-' 修复)\n- satisfaction /analytics:adapter 归一 responseRate/avgCSAT/avgNPS/npsBreakdown\n (分析页半页恒 '-');情感分布/类型统计无后端真源,保持 undefined 失败关闭\n- commissions:my-stats adapter(四张统计卡恒 ¥0);listRecords/getMyRecords/\n getSettlementById 补 user/rule/settlement/records DTO 映射(含 org_units 部门),\n 顺手修掉 where 层 camel 死键(userId/businessDate 等触发 Prisma 未知列的潜伏 500)\n- financial-reports:KPI 卡读 actualValue/targetValue 真源键(恒 '-' 修复);\n 逾期率去掉二次 ×100(12.5% 曾显示 1250%)\n- ap-ledger:service 层补 supplier/owner 语义键映射(两列恒 '-')\n\n请求侧修复:\n- opportunities:statsQuerySchema 补 transform 唯一转换点(snake schema × camel service,\n stats/funnel/forecast 三端点 owner/日期筛选静默失效返回全量口径)\n- sla clocks:schema 补 status(此前被 Zod 剥离)+ service 消费 ticketId/clockType/breached\n (收而不筛的假筛选)\n\n附带:LeadAssignmentResult.assignedTo nullable 化后类型连坐揪出分配历史列第三处\n无守卫消费,一并加守卫。\n\n证据:双端类型检查干净;后端单测 640/8795 全绿;前端六域 RTL 20 文件/72 用例全绿;\nlive curl 实锤:opportunities funnel bogus owner 309→0、stats 2099 区间→0、\nleads score 返回完整对象键、sla clocks bogus status→0、campaigns/commissions wire\n形状确认。分诊台账 P1 段已标记收口。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T07:01:41-07:00"}],"HeadCommit":{"Sha1":"0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7","Message":"fix(field-contract): P1 批次十三条收口——键名/量纲映射级断链修复\n\n响应侧映射修复:\n- campaigns:getCampaignStats 从后端真实 {overview,channels} 派生 summary/channelBreakdown\n (渠道真数据此前被键名错位丢弃恒空);getStats 分组数组转对象(业务线 Tab 计数恒 0)+\n totalSpent 键对齐\n- leads /:id/score:拆分 controller 回完整评分对象(此前与 /score-details 共用剥壳 handler\n 只回裸数组,评分卡恒 0 分);shared 类型补 calculatedAt 真源键并重建 dist\n- tickets:stage-history 路由接 ticket_stage_history 真源 handler(此前 alias 到 timeline\n 被旁路,渲染「初始状态:undefined」);getReplies 补 adapter(回复人恒 '-' 修复)\n- satisfaction /analytics:adapter 归一 responseRate/avgCSAT/avgNPS/npsBreakdown\n (分析页半页恒 '-');情感分布/类型统计无后端真源,保持 undefined 失败关闭\n- commissions:my-stats adapter(四张统计卡恒 ¥0);listRecords/getMyRecords/\n getSettlementById 补 user/rule/settlement/records DTO 映射(含 org_units 部门),\n 顺手修掉 where 层 camel 死键(userId/businessDate 等触发 Prisma 未知列的潜伏 500)\n- financial-reports:KPI 卡读 actualValue/targetValue 真源键(恒 '-' 修复);\n 逾期率去掉二次 ×100(12.5% 曾显示 1250%)\n- ap-ledger:service 层补 supplier/owner 语义键映射(两列恒 '-')\n\n请求侧修复:\n- opportunities:statsQuerySchema 补 transform 唯一转换点(snake schema × camel service,\n stats/funnel/forecast 三端点 owner/日期筛选静默失效返回全量口径)\n- sla clocks:schema 补 status(此前被 Zod 剥离)+ service 消费 ticketId/clockType/breached\n (收而不筛的假筛选)\n\n附带:LeadAssignmentResult.assignedTo nullable 化后类型连坐揪出分配历史列第三处\n无守卫消费,一并加守卫。\n\n证据:双端类型检查干净;后端单测 640/8795 全绿;前端六域 RTL 20 文件/72 用例全绿;\nlive curl 实锤:opportunities funnel bogus owner 309→0、stats 2099 区间→0、\nleads score 返回完整对象键、sla clocks bogus status→0、campaigns/commissions wire\n形状确认。分诊台账 P1 段已标记收口。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T07:01:41-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/34599f92fc238176604126d3b0af3ac05efe051a...0ebe6fb5c4cc802d6d6f53fba830ec5fbf64f3d7","Len":1}...
|
1783864905
|
Edit
Delete
|
|
17107
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"34599f92f {"Commits":[{"Sha1":"34599f92fc238176604126d3b0af3ac05efe051a","Message":"fix(field-contract): P0 批次八条收口——券码链崩溃/分配假失败/SLA 违规表/流转反馈/翻页/编辑丢字段/搜索失效\n\n响应侧:\n- groupbuy-redemptions 券码链:listVouchers/getVoucher/findByPhone 三端点接 adaptVoucher\n 归一(此前直连 canonical 形状致 row.code undefined 渲染 TypeError 崩溃、核销入口\n 永不出现、手机号核销必失败);adaptVoucher/adaptRedemption 补 metadata 双读\n (buyerName/buyerPhone/orderAmount,金额一直在此前恒 ¥0);formatVoucherCode 空值\n 守卫;reversed 状态不再折叠为 unused\n- leads 分配链:后端 assign 返回补 assignedTo(成功分配此前被前端 TypeError 报成\n \"分配失败\");分配预览 null 守卫(无可分配人显示告警 Tag 而非崩溃);shared 类型\n assignedTo nullable 化\n- SLA 违规表:getBreachedClocks 富化工单/客户/策略上下文 + breachedBy 超时分钟计算\n (metric_type 兼容 resolution/first_response 双值域),此前裸时钟 DTO 致 7 列全空\n 且超时列渲染 NaN;单测断言更新为富化契约守卫\n- 工单流转反馈:前端 executeTransition 类型与消费改读后端真源键 toStatus\n (此前读 toStage 恒 undefined,流转成功却无提示不刷新)\n- ap-ledger 列表改标准分页包络 paginated()(此前裸 res.json 致前端 total 恒 0 无法翻页)\n\n请求侧(live 实锤):\n- tickets 编辑:updateTicketSchema 补 customerId/snId/orderId/projectId 关联键\n (与 create 对称,此前换客户被 Zod 静默剥离假成功)+ service 补同租户引用校验 +\n 前端 update() 白名单映射对称化;联系人字段组确认为无物理列的想象契约,归 P2 裁定\n- payments plans:schema 补 keyword/due_date_from/due_date_to + service 到期区间消费\n (搜索框此前输入无效),内部两调用点同步补键\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(SLA 断言更新为富化契约);\nap-ledger 3/3、sla 12/12 API 真打 DB;live curl 实锤:工单换客户写读回(已还原)、\nplans keyword 190→0 收敛、ap-ledger 标准包络 meta.pagination;前端 leads/\ngroupbuy-redemptions RTL 17/17;分诊台账 P0 段已标记收口。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T06:42:16-07:00"}],"HeadCommit":{"Sha1":"34599f92fc238176604126d3b0af3ac05efe051a","Message":"fix(field-contract): P0 批次八条收口——券码链崩溃/分配假失败/SLA 违规表/流转反馈/翻页/编辑丢字段/搜索失效\n\n响应侧:\n- groupbuy-redemptions 券码链:listVouchers/getVoucher/findByPhone 三端点接 adaptVoucher\n 归一(此前直连 canonical 形状致 row.code undefined 渲染 TypeError 崩溃、核销入口\n 永不出现、手机号核销必失败);adaptVoucher/adaptRedemption 补 metadata 双读\n (buyerName/buyerPhone/orderAmount,金额一直在此前恒 ¥0);formatVoucherCode 空值\n 守卫;reversed 状态不再折叠为 unused\n- leads 分配链:后端 assign 返回补 assignedTo(成功分配此前被前端 TypeError 报成\n \"分配失败\");分配预览 null 守卫(无可分配人显示告警 Tag 而非崩溃);shared 类型\n assignedTo nullable 化\n- SLA 违规表:getBreachedClocks 富化工单/客户/策略上下文 + breachedBy 超时分钟计算\n (metric_type 兼容 resolution/first_response 双值域),此前裸时钟 DTO 致 7 列全空\n 且超时列渲染 NaN;单测断言更新为富化契约守卫\n- 工单流转反馈:前端 executeTransition 类型与消费改读后端真源键 toStatus\n (此前读 toStage 恒 undefined,流转成功却无提示不刷新)\n- ap-ledger 列表改标准分页包络 paginated()(此前裸 res.json 致前端 total 恒 0 无法翻页)\n\n请求侧(live 实锤):\n- tickets 编辑:updateTicketSchema 补 customerId/snId/orderId/projectId 关联键\n (与 create 对称,此前换客户被 Zod 静默剥离假成功)+ service 补同租户引用校验 +\n 前端 update() 白名单映射对称化;联系人字段组确认为无物理列的想象契约,归 P2 裁定\n- payments plans:schema 补 keyword/due_date_from/due_date_to + service 到期区间消费\n (搜索框此前输入无效),内部两调用点同步补键\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(SLA 断言更新为富化契约);\nap-ledger 3/3、sla 12/12 API 真打 DB;live curl 实锤:工单换客户写读回(已还原)、\nplans keyword 190→0 收敛、ap-ledger 标准包络 meta.pagination;前端 leads/\ngroupbuy-redemptions RTL 17/17;分诊台账 P0 段已标记收口。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T06:42:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/b6ca4eb97fca5dff7fe33490df662865134b08d2...34599f92fc238176604126d3b0af3ac05efe051a","Len":1}...
|
1783863745
|
Edit
Delete
|
|
17106
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"b6ca4eb97 {"Commits":[{"Sha1":"b6ca4eb97fca5dff7fe33490df662865134b08d2","Message":"fix(field-contract): 断链深挖三批收口——attribution 读模型重塑 + customers 查重富化 + cash-flow 对齐文档真源 + 筛选键 500 硬炸修复\n\n响应侧(前端声明字段后端从未返回 / 键名形状错位):\n- attribution 五报告全部对齐前端契约:model-comparison 重塑嵌套 comparison + models 假筛选真消费;\n overall stats 补 revenue/coverage 真实指标并删硬编码假数;channel/campaign/path 三报告修\n 键名错位与渲染崩溃隐患(creditPercent.toFixed / path.join),统一\"最近计算批次\"防重算翻倍;\n docs 三套幻想 schema 归真;multi-touch CSV 消费键同步\n- customers check-duplicate:match 补 phone/email/industry/primaryContact 四死字段;\n customer 与 matches[0] 深拷贝隔离(修共享引用被序列化为 \"[Circular]\" 的存量缺陷)\n- cash-flow 整模块对齐后端文档级 DTO(owner 矩阵裁定):统计卡/风险预警接真实端点,\n 列表/详情/编辑三视图重写(删 NaN%/静默丢弃/永不可达区块),detail 补回 notes 回读;\n 详情页真实消费 canonical /:id/items 明细子资源\n\n请求侧(live 复现实锤的运行时 500 与假筛选):\n- tickets 列表 9 个 schema 声明筛选键全部真消费(assigneeName/日期区间/多选/isOverdue/\n isEscalated/tags),teamId 无物理列显式吞掉防透传;修复前任意携带即整页 500\n- payments records:min/maxAmount 接 paid_amount 区间真消费,start/endDate 剔除透传\n- targets:end_date 区间补真实消费(此前从未实现),四日期键剔除透传\n\n治理配套:\n- 删除 attribution-models/attribution-reports 两个孤岛遗留 API 测试(打已删模块恒红)\n- acquisition 模块补 module-contract 单测(陈旧基线暴露的 D 级收口,A=282/D=0)\n- 49 条 CONFIRMED 分诊台账落盘 reports/field-contract-triage-2026-07-12.md\n (响应侧 5 域 42 条 + 请求侧 7 条,含共性根因与修复范式)\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(attribution-report 新增 7 用例、\ncustomers 引用隔离守卫);cash-flow RTL 19/19 重写;attribution/customers/multi-touch/\ncash-flow/targets API 真打 DB 全绿;三组筛选修复 live curl 收敛性断言(tickets 327→162/80/30、\npayments 177→0、targets 33→0);audit:tenant/response-columns/filter-truth/module-coverage\n全部达标且受控块零漂移。tickets/payments 两 API 套件失败经 stash 判责为存量债(vitest CJS\n加载/fixture 清理链),已记录台账。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T06:13:37-07:00"}],"HeadCommit":{"Sha1":"b6ca4eb97fca5dff7fe33490df662865134b08d2","Message":"fix(field-contract): 断链深挖三批收口——attribution 读模型重塑 + customers 查重富化 + cash-flow 对齐文档真源 + 筛选键 500 硬炸修复\n\n响应侧(前端声明字段后端从未返回 / 键名形状错位):\n- attribution 五报告全部对齐前端契约:model-comparison 重塑嵌套 comparison + models 假筛选真消费;\n overall stats 补 revenue/coverage 真实指标并删硬编码假数;channel/campaign/path 三报告修\n 键名错位与渲染崩溃隐患(creditPercent.toFixed / path.join),统一\"最近计算批次\"防重算翻倍;\n docs 三套幻想 schema 归真;multi-touch CSV 消费键同步\n- customers check-duplicate:match 补 phone/email/industry/primaryContact 四死字段;\n customer 与 matches[0] 深拷贝隔离(修共享引用被序列化为 \"[Circular]\" 的存量缺陷)\n- cash-flow 整模块对齐后端文档级 DTO(owner 矩阵裁定):统计卡/风险预警接真实端点,\n 列表/详情/编辑三视图重写(删 NaN%/静默丢弃/永不可达区块),detail 补回 notes 回读;\n 详情页真实消费 canonical /:id/items 明细子资源\n\n请求侧(live 复现实锤的运行时 500 与假筛选):\n- tickets 列表 9 个 schema 声明筛选键全部真消费(assigneeName/日期区间/多选/isOverdue/\n isEscalated/tags),teamId 无物理列显式吞掉防透传;修复前任意携带即整页 500\n- payments records:min/maxAmount 接 paid_amount 区间真消费,start/endDate 剔除透传\n- targets:end_date 区间补真实消费(此前从未实现),四日期键剔除透传\n\n治理配套:\n- 删除 attribution-models/attribution-reports 两个孤岛遗留 API 测试(打已删模块恒红)\n- acquisition 模块补 module-contract 单测(陈旧基线暴露的 D 级收口,A=282/D=0)\n- 49 条 CONFIRMED 分诊台账落盘 reports/field-contract-triage-2026-07-12.md\n (响应侧 5 域 42 条 + 请求侧 7 条,含共性根因与修复范式)\n\n证据:双端类型检查干净;后端单测 640 文件/8795 全绿(attribution-report 新增 7 用例、\ncustomers 引用隔离守卫);cash-flow RTL 19/19 重写;attribution/customers/multi-touch/\ncash-flow/targets API 真打 DB 全绿;三组筛选修复 live curl 收敛性断言(tickets 327→162/80/30、\npayments 177→0、targets 33→0);audit:tenant/response-columns/filter-truth/module-coverage\n全部达标且受控块零漂移。tickets/payments 两 API 套件失败经 stash 判责为存量债(vitest CJS\n加载/fixture 清理链),已记录台账。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T06:13:37-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/3d0a44a9c8d654139f4027f66c65b83a9ab64f0f...b6ca4eb97fca5dff7fe33490df662865134b08d2","Len":1}...
|
1783862034
|
Edit
Delete
|
|
17105
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"3d0a44a9c {"Commits":[{"Sha1":"3d0a44a9c8d654139f4027f66c65b83a9ab64f0f","Message":"fix(field-contract): 契约断链深挖收口——12 真缺陷修复 + filter-truth/prisma-zod 审计治理归真\n\n深挖 filter-truth/update三态/list-detail/response未消费四探针 2100+ 候选,逐条 live 代码追踪对抗验证,\n修复真实缺陷并把两个喂 HARD gate 的审计从「stale/坏工具掩盖」拉回真实。\n\n假筛选/数据丢失(8):\n- groupbuy-reviews: replyStatus(reply列)/sentiment(rating派生) 接线\n- hr payroll: periodCode 接线 + grades search→canonical keyword(删死型 GradeListParams.search)\n- groupbuy-platforms: authStatus 走 extraWhere 接线(列实在·原被白名单排除)\n- ad-placement placement.service.ts:441 end_date `?? null`→`undefined`(与 running 分支对齐,消非对称清空)\n- livestream-schedule coverUrl/coverImage/cover_image `.max(2000)`→`.max(500)`(收敛 cover_url VarChar(500))\n\nowner 决策项(3):\n- groupbuy-reviews.source: 增 source 列(migration 20260711235453,default 'manual')+全栈接线,formatReview 桩 'meituan'→真列\n- customers check-duplicate: 增 contact_name 查重维度(真源 customer_contacts.name,纯 service 层)\n- social-analytics.industry: 增 social_accounts.industry 列(migration 20260712000950)+getIndustryBenchmark 真实聚合\n (按 tenant+platform+industry 筛账号→单查询聚合 social_analytics 最新快照,无数据 dataAvailable=false,不再伪 'average')\n\n审计工具治理:\n- audit-filter-truth.ts: 修复因 Vue 物理退役(frontend/ 删除)导致的 typescript 解析 anchor 失效,审计复活\n- audit-prisma-zod-contract.ts: 为 6 个静态盲区 FP(superRefine/service-fill/bizCode)加受控豁免+核验理由,归真 PASS\n- filter-truth UNSUPPORTED 18→10 三轮重冻,GOVERNANCE-BASELINE ceiling 同步下调\n\n验证: 双端 type-check 绿;backend 8783 tests(+8 负断言);前端 social-accounts RTL 4/4;\nn1=0;prisma-zod PASS;schema 镜像一致;reconcile 零新增 drift(仅剩 2 个 pre-existing overdue 意图红线)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T00:27:30-07:00"}],"HeadCommit":{"Sha1":"3d0a44a9c8d654139f4027f66c65b83a9ab64f0f","Message":"fix(field-contract): 契约断链深挖收口——12 真缺陷修复 + filter-truth/prisma-zod 审计治理归真\n\n深挖 filter-truth/update三态/list-detail/response未消费四探针 2100+ 候选,逐条 live 代码追踪对抗验证,\n修复真实缺陷并把两个喂 HARD gate 的审计从「stale/坏工具掩盖」拉回真实。\n\n假筛选/数据丢失(8):\n- groupbuy-reviews: replyStatus(reply列)/sentiment(rating派生) 接线\n- hr payroll: periodCode 接线 + grades search→canonical keyword(删死型 GradeListParams.search)\n- groupbuy-platforms: authStatus 走 extraWhere 接线(列实在·原被白名单排除)\n- ad-placement placement.service.ts:441 end_date `?? null`→`undefined`(与 running 分支对齐,消非对称清空)\n- livestream-schedule coverUrl/coverImage/cover_image `.max(2000)`→`.max(500)`(收敛 cover_url VarChar(500))\n\nowner 决策项(3):\n- groupbuy-reviews.source: 增 source 列(migration 20260711235453,default 'manual')+全栈接线,formatReview 桩 'meituan'→真列\n- customers check-duplicate: 增 contact_name 查重维度(真源 customer_contacts.name,纯 service 层)\n- social-analytics.industry: 增 social_accounts.industry 列(migration 20260712000950)+getIndustryBenchmark 真实聚合\n (按 tenant+platform+industry 筛账号→单查询聚合 social_analytics 最新快照,无数据 dataAvailable=false,不再伪 'average')\n\n审计工具治理:\n- audit-filter-truth.ts: 修复因 Vue 物理退役(frontend/ 删除)导致的 typescript 解析 anchor 失效,审计复活\n- audit-prisma-zod-contract.ts: 为 6 个静态盲区 FP(superRefine/service-fill/bizCode)加受控豁免+核验理由,归真 PASS\n- filter-truth UNSUPPORTED 18→10 三轮重冻,GOVERNANCE-BASELINE ceiling 同步下调\n\n验证: 双端 type-check 绿;backend 8783 tests(+8 负断言);前端 social-accounts RTL 4/4;\nn1=0;prisma-zod PASS;schema 镜像一致;reconcile 零新增 drift(仅剩 2 个 pre-existing overdue 意图红线)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-12T00:27:30-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/cff2a7743a4472a541e5b285f5ce5e079be71d07...3d0a44a9c8d654139f4027f66c65b83a9ab64f0f","Len":1}...
|
1783841295
|
Edit
Delete
|
|
17104
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"cff2a7743 {"Commits":[{"Sha1":"cff2a7743a4472a541e5b285f5ce5e079be71d07","Message":"fix(governance): 菜单审计假阴性修复 + 14 条孤儿路由收口\n\n「内容与社媒工作台/视频内容/视频发布/视频数据/供应链工作台/系统导入/\n后台中心 无对应 API 或壳入口」经端点级 FE↔BE diff 逐条核查为污染前提,\n根因是 audit-menu-inventory 三处旧判定:\n\n- hasView 按同名 views/ 目录判 → 改为路由真源解析(lazyView import 的\n 视图文件存在性),同名目录仅兜底;\n- hasApi 按同名 api/modules/\u003cpath\u003e.ts 判 → 改为视图文件真实 @/api import\n 判定(共享 owner 映射,含目录 Index 薄壳一层转发),同名文件仅兜底;\n- 孤儿检测解析 Vue 时代 meta: 块(React 树全用 handle:,orphanRoutes=0\n 假绿)→ 改为 handle: 块窗口解析 + menu.ts 全部 path 字面量保守对比。\n\n修后揭示的 14 条真孤儿路由同轮收口:\n- /marketing-workflows 为指向 /marketing-automation 的兼容重定向壳,\n 补 hideInMenu: true;\n- 其余 13 条(store-agency / customer-balance / payment-analytics /\n disbursements / finance-periods / finance-os 支出与风险 3 项 /\n fulfillment 5 项)按路由 handle 声明的中心与分组补录进 menu.ts。\n\n证据与终态:menu-inventory 291→304 项全绿率 100%、孤儿 14→0;\nview-governance menuVisibleCount 293→306 基线同步,audit:view-governance\n复跑全绿;frontend-react tsc --noEmit 零错误,Sidebar/guards 测试 8 用例全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-11T20:48:16-07:00"}],"HeadCommit":{"Sha1":"cff2a7743a4472a541e5b285f5ce5e079be71d07","Message":"fix(governance): 菜单审计假阴性修复 + 14 条孤儿路由收口\n\n「内容与社媒工作台/视频内容/视频发布/视频数据/供应链工作台/系统导入/\n后台中心 无对应 API 或壳入口」经端点级 FE↔BE diff 逐条核查为污染前提,\n根因是 audit-menu-inventory 三处旧判定:\n\n- hasView 按同名 views/ 目录判 → 改为路由真源解析(lazyView import 的\n 视图文件存在性),同名目录仅兜底;\n- hasApi 按同名 api/modules/\u003cpath\u003e.ts 判 → 改为视图文件真实 @/api import\n 判定(共享 owner 映射,含目录 Index 薄壳一层转发),同名文件仅兜底;\n- 孤儿检测解析 Vue 时代 meta: 块(React 树全用 handle:,orphanRoutes=0\n 假绿)→ 改为 handle: 块窗口解析 + menu.ts 全部 path 字面量保守对比。\n\n修后揭示的 14 条真孤儿路由同轮收口:\n- /marketing-workflows 为指向 /marketing-automation 的兼容重定向壳,\n 补 hideInMenu: true;\n- 其余 13 条(store-agency / customer-balance / payment-analytics /\n disbursements / finance-periods / finance-os 支出与风险 3 项 /\n fulfillment 5 项)按路由 handle 声明的中心与分组补录进 menu.ts。\n\n证据与终态:menu-inventory 291→304 项全绿率 100%、孤儿 14→0;\nview-governance menuVisibleCount 293→306 基线同步,audit:view-governance\n复跑全绿;frontend-react tsc --noEmit 零错误,Sidebar/guards 测试 8 用例全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-11T20:48:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6...cff2a7743a4472a541e5b285f5ce5e079be71d07","Len":1}...
|
1783828105
|
Edit
Delete
|
|
17085
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"c39315b6c {"Commits":[{"Sha1":"c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6","Message":"fix(governance): 治理数字对账收口——MEDIUM 清零 + stale 报告刷新 + release-gate 滞后阻断消除\n\n- users 重置密码前端规则对齐后端 Zod:min 6→8,补大小写字母+数字 pattern(真实契约 bug,7 RTL 用例通过)\n- frontend-source-adapter 新增视图子树→真实模块重映射:ai-agents/skill-library 归 ai-agent-skills\n (表单实走 ai-agent-skills API,description max 4000 与 Zod 一致,消除目录名误配假告警)\n- 重跑 10 个超期 stale 审计(ai-assist 系列/migration-safety/time-analysis/workflow/process-definition 等)\n- census e2e.specFiles 基线重冻 294→338(随治理波次提交的真实增长)\n- 重跑 production-release-gate/actions:滞后的 harness-high-zero 阻断消除,11→10 条真实 P0 阻断\n- 终态:dashboard C=0/H=0/M=0、stale=0、formrules WARNING=0;\n baseline-reconcile 242 条断言 drift 10→2,剩余 2 条为受控块明文保留的 overdue 真实红线\n (10 条 P0 上线阻断逾期,只能真完成或指挥官重排 due date,不得改绿)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-10T02:05:45-07:00"}],"HeadCommit":{"Sha1":"c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6","Message":"fix(governance): 治理数字对账收口——MEDIUM 清零 + stale 报告刷新 + release-gate 滞后阻断消除\n\n- users 重置密码前端规则对齐后端 Zod:min 6→8,补大小写字母+数字 pattern(真实契约 bug,7 RTL 用例通过)\n- frontend-source-adapter 新增视图子树→真实模块重映射:ai-agents/skill-library 归 ai-agent-skills\n (表单实走 ai-agent-skills API,description max 4000 与 Zod 一致,消除目录名误配假告警)\n- 重跑 10 个超期 stale 审计(ai-assist 系列/migration-safety/time-analysis/workflow/process-definition 等)\n- census e2e.specFiles 基线重冻 294→338(随治理波次提交的真实增长)\n- 重跑 production-release-gate/actions:滞后的 harness-high-zero 阻断消除,11→10 条真实 P0 阻断\n- 终态:dashboard C=0/H=0/M=0、stale=0、formrules WARNING=0;\n baseline-reconcile 242 条断言 drift 10→2,剩余 2 条为受控块明文保留的 overdue 真实红线\n (10 条 P0 上线阻断逾期,只能真完成或指挥官重排 due date,不得改绿)\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-10T02:05:45-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/9646e903603f789cc51ec4b32200b70b3ccf2cff...c39315b6c9e556d9dfa9fa55cc933d6b5d74d2a6","Len":1}...
|
1783674369
|
Edit
Delete
|
|
17081
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"9646e9036 {"Commits":[{"Sha1":"9646e903603f789cc51ec4b32200b70b3ccf2cff","Message":"docs(api): 重新生成 OpenAPI 契约与全量 API 参考(React 单前端真源口径)\n\n- openapi.json / openapi.yaml 按当前 Zod-First 真源全量重生成\n- 新增 all-api-reference.md 与 generate-api-reference.mjs 生成入口\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-10T01:32:29-07:00"},{"Sha1":"7b8988454f47c83a3fd319e7dc8f9a7cfeb5d649","Message":"fix(architecture): 后端架构边界治理——跨模块调用收口公开入口 + 依赖图基线门禁\n\n- commissions/revenue/treasury/assets/channel-analytics 等跨域直接依赖改走目标模块 index.* 公开入口\n- 新增 backend-module-dependencies 依赖图审计基线(存量 INFO 冻结,基线外新增硬阻断)与测试\n- 补 event-outbox-helper / password 单元测试;vitest workspace/coverage 配置对齐\n- 附 2026-07-09 菜单 292 能力真源分析报告与三份架构治理作战卡\n- 验收:pnpm -C backend run type-check 通过\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-10T01:32:19-07:00"},{"Sha1":"20c082f55e0c4be2105dedce9069420e2750d3fa","Message":"chore(frontend): Vue 前端物理退役——frontend/ 与 mobile/ 全面删除,React 单一真源收口\n\n- 物理删除 frontend/(1876 文件)与 mobile/(197 文件)Vue/Vant 工程,历史仅由 Git 追溯\n- pnpm workspace、启动链、CI、Harness、E2E view-governance、审计扫描根全部切换到 frontend-react/\n- 删除 Vue-only 治理脚本 13 个与旧 view-governance 快照/生成器/验证器\n- dev docker-compose frontend 服务切换为根 context + frontend-react/Dockerfile(对齐 prod),映射 5173:80\n- 新增 React 生产镜像链:frontend-react/Dockerfile、Dockerfile.prebuilt、nginx.conf、.env.example\n- check-env.sh / start-dev.sh / quick-start.sh 与 DOCKER.md / START-HERE.md / 部署与启动指南死命令收口为 frontend-react\n- 删除 Vue 时代死脚本 run_tsc.sh / generate_smoke_tests.py / debug-blank-page.html\n- CLAUDE.md / AGENTS.md / README.md / GEMINI.md / QWEN.md 同步单一前端真源口径\n- 验收:pnpm -C frontend-react run type-check 通过、docker compose config 通过、主树 .vue=0、运行链残留扫描=0\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-10T01:30:05-07:00"}],"HeadCommit":{"Sha1":"9646e903603f789cc51ec4b32200b70b3ccf2cff","Message":"docs(api): 重新生成 OpenAPI 契约与全量 API 参考(React 单前端真源口径)\n\n- openapi.json / openapi.yaml 按当前 Zod-First 真源全量重生成\n- 新增 all-api-reference.md 与 generate-api-reference.mjs 生成入口\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-10T01:32:29-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/101858c06a69a0ecf99c3366f5034de2786d0495...9646e903603f789cc51ec4b32200b70b3ccf2cff","Len":3}...
|
1783672582
|
Edit
Delete
|
|
17042
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"101858c06 {"Commits":[{"Sha1":"101858c06a69a0ecf99c3366f5034de2786d0495","Message":"Fix RMA contract drift and tighten cleanup/runtime governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T23:29:51-07:00"},{"Sha1":"495ebd9d6db6af72c778e70ffe22cf9c6b467ff9","Message":"fix(governance): 收口跨域运行真源与验收门禁\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T23:04:48-07:00"}],"HeadCommit":{"Sha1":"101858c06a69a0ecf99c3366f5034de2786d0495","Message":"Fix RMA contract drift and tighten cleanup/runtime governance\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T23:29:51-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/78a500f04042e394b04075c3823e4431ed58b463...101858c06a69a0ecf99c3366f5034de2786d0495","Len":2}...
|
1783665486
|
Edit
Delete
|
|
16977
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/react-migration
|
0
|
{"Commits":[{"Sha1":"78a500f04 {"Commits":[{"Sha1":"78a500f04042e394b04075c3823e4431ed58b463","Message":"fix(governance): 2026-07-09 契约治理四轮收口——query 布尔 coerce 清零、snake 死键修复、假筛选裁定与断链深挖\n\n- query 布尔参数 coerce 全仓收口:218 处/76 文件归零,新增 scripts/audit-query-boolean.ts 棘轮审计并接入 registry(query-boolean-violations-zero == 0)\n- query snake 死键收口:39 处真死键修复(9 模块),豁免/双读/preprocess 三类假死判据落盘\n- 假筛选群收口:12 键三分法裁定,filter-truth UNSUPPORTED 22→10,后端补消费按 schema+controller 白名单+service where 三点齐\n- 契约断链二轮深挖:renewals 非互逆映射、duplicate 丢名、partner-customers 键名不对称等 10 组用户可见断链修复\n- 新增迁移:rma_type_reason_columns、ad_audiences_add_data_source\n- 全域视图审计矩阵报告(a1~a9 九域)、契约断链/深对齐审计报告、代码导出 PDF\n- 同步 reports/*.latest.json 基线与 CLAUDE.md GOVERNANCE-BASELINE 受控块\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T19:18:14-07:00"},{"Sha1":"e6db8812d3c3c7a2c0bdae632c2f1b3f2e9b4fe8","Message":"test(campaigns): 对齐 goals_json 合并读后的 findFirst 调用链,修复 10 个存量假红用例\n\ncommit 4a6c61fc35 将 CampaignService.update 的 goals_json 合并分支触发条件\n扩到 goalsJson/storeScopeMode/storeIds 后,complete/attribute/schedule/selectTools\n路径的 update 多出一次 findFirst({ select: goals_json })合并读(4 次→5 次)。\n测试 mock 队列未同步:\n- marketing.service.test.ts completeCampaign 用例第 5 次调用兜底到前序用例\n 遗留的持久 mockResolvedValue(status=draft),报 expected 'draft' to be 'completed'\n- campaign.service.enhanced.test.ts 使用 mockReset,队列耗尽返回 undefined→404,\n 9 个状态机生命周期用例失败\n\n按 assertion-theater-guard 口径裁定:实现无 bug(合并语义为有意行为且带\ntenant_id),仅在各 mock 队列第 2 位插入合并读返回值并更新链路注释,\n未改动/弱化任何断言。marketing 23/23、campaigns 59/59 全绿。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T18:51:30-07:00"},{"Sha1":"9023c1468b7cbd83719f42c6a5521a42813848e7","Message":"fix(governance): tighten service contracts and route validation\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-06T22:32:22-07:00"},{"Sha1":"1f15101e932088234cf16f0606e6dc9227f018e3","Message":"Tighten alliance API tests and order action fallback\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-04T01:04:30-07:00"},{"Sha1":"c892b8637c2fdb10b1246caa149a7e353c442aa6","Message":"Refine governance and frontend workflows\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-04T00:59:39-07:00"}],"HeadCommit":{"Sha1":"78a500f04042e394b04075c3823e4431ed58b463","Message":"fix(governance): 2026-07-09 契约治理四轮收口——query 布尔 coerce 清零、snake 死键修复、假筛选裁定与断链深挖\n\n- query 布尔参数 coerce 全仓收口:218 处/76 文件归零,新增 scripts/audit-query-boolean.ts 棘轮审计并接入 registry(query-boolean-violations-zero == 0)\n- query snake 死键收口:39 处真死键修复(9 模块),豁免/双读/preprocess 三类假死判据落盘\n- 假筛选群收口:12 键三分法裁定,filter-truth UNSUPPORTED 22→10,后端补消费按 schema+controller 白名单+service where 三点齐\n- 契约断链二轮深挖:renewals 非互逆映射、duplicate 丢名、partner-customers 键名不对称等 10 组用户可见断链修复\n- 新增迁移:rma_type_reason_columns、ad_audiences_add_data_source\n- 全域视图审计矩阵报告(a1~a9 九域)、契约断链/深对齐审计报告、代码导出 PDF\n- 同步 reports/*.latest.json 基线与 CLAUDE.md GOVERNANCE-BASELINE 受控块\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-07-09T19:18:14-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/04d57d74d0373aea967c831c21a1c4526095da1d...78a500f04042e394b04075c3823e4431ed58b463","Len":20}...
|
1783653434
|
Edit
Delete
|