chore: 忽略 .zcode 本地目录并更新规则表与开发日志

- .gitignore 新增 .zcode/(ZCode 工具本地配置,不入库)
- 更新交通/通信/差旅等财务规则表
- 补充 2026-06-25/26 开发日志(chat UI SaaS 化、主题企业 AI 风格、bug 日志)
This commit is contained in:
caoxiaozhu
2026-06-26 22:42:46 +08:00
parent d5a8f84703
commit 6bdaeed6d4
16 changed files with 415 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
# AI 工作台审核单二轮审核命令丢失候选上下文
日期2026-06-25
文档路径document/development/2026-06-25/dev-logs/bugs/ai-approval-followup-context.md
## 修复记录
- 16:24记录 bug 修复AI 工作台审核单二轮审核命令丢失候选上下文。bug-log:8a2ae6eb
- Git 提交检查fetch 失败fatal: unable to access 'https://www.caoxiaozhu.com:13002/YG-Soft/X-Financial.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to www.caoxiaozhu.com:13002upstream `origin/main`upstream 新提交:未发现;本地 ahead 提交8a2ae6eb (HEAD -> main) fix(server): gate_classify 复用 _classify_irrelevant_input 修复 off_topic 误杀992cf71f refactor(server): Phase 1 图拓扑重构 - LangGraph 成为唯一编排者54356ba8 refactor(server): scene 注册表骨架 + 统一门控管道设计文档e9d7c56d feat(server): 会话上下文保留LLM 历史 + 确定性兜底双保险)。
- 修改:`workbenchAiCommandIntentModel.js` 新增待审单据候选上下文解析与二轮审批命令提示;`useWorkbenchAiCommandIntents.js``query_candidates` 前优先复用上一轮待审候选;`workbench-ai-command-intent-model.test.mjs` 覆盖“我有哪些审核单”后继续说“审核通过”的候选承接。
- 操作:按 TDD 先补失败用例,再实现最小修复;执行 `tools/agent-change-log/update_change_log.py --kind bug` 创建当天 bug 记录,并手动补全真实修复细节。
- 验证:`node --test web/tests/workbench-ai-command-intent-model.test.mjs` 通过;`node --test web/tests/workbench-ai-command-intent-model.test.mjs web/tests/workbench-intent-frame-model.test.mjs web/tests/ai-document-query-model.test.mjs` 通过31 项前端相关测试全部通过。
- 影响:用户在 AI 工作台先查询待审/审核单后,再说“请帮我审核通过”或类似审批命令时,系统会接上刚才候选并要求进入详情确认,不会把二轮命令当成孤立查询或静默失智;仍保留高风险审批动作不直接执行的安全边界。

View File

@@ -0,0 +1,12 @@
# AI模式企业主题光球出现矩形闪动边框
日期2026-06-25
文档路径document/development/2026-06-25/dev-logs/bugs/ai-enterprise-orb-frame.md
## 修复记录
- 15:02记录 bug 修复AI模式企业主题光球出现矩形闪动边框。bug-log:2ebc2756
- Git 提交检查15:01 执行 `git fetch --all --prune` 成功upstream `origin/main`upstream 新提交:未发现;本地 ahead 提交:未发现。
- 修改:`personal-workbench-ai-mode.css`,把企业主题下 `.workbench-ai-orb` 从白底圆角矩形容器改回透明圆形承载,移除边框与阴影;`settings-theme-section.test.mjs` 增加断言锁定 `border: 0``border-radius: 50%``background: transparent``box-shadow: none`
- 操作:复现时确认企业主题覆盖块把光球容器设置为 `border-radius: 18px`、白底、阴影,导致 GIF 光球外层出现明显闪动方框;修复后用浏览器读取已加载 CSSOM确认企业主题规则已变为透明圆形版本。
- 验证:`node web/tests/settings-theme-section.test.mjs``node web/tests/settings-llm-section.test.mjs``node web/tests/settings-rendering-section.test.mjs``git diff --check``npm --prefix web run build` 均通过;本地工作台页面可加载,光球元素存在,页面无 error浏览器 CSSOM 中企业主题光球规则为 `border: 0px``border-radius: 50%``background: transparent``box-shadow: none`
- 影响:企业沉稳主题下 AI 模式欢迎区光球不再显示矩形闪动边框,动感/专业智能主题保持原有光球表现。

View File

@@ -0,0 +1,27 @@
# 申请详情退回/草稿状态修改申请卡壳
日期2026-06-25
文档路径document/development/2026-06-25/dev-logs/bugs/application-detail-edit-returned-draft.md
## 修复记录
- 16:40记录 bug 修复:申请详情退回/草稿状态修改申请卡壳。bug-log:8a2ae6eb
- Git 提交检查fetch 失败fatal: unable to access 'https://www.caoxiaozhu.com:13002/YG-Soft/X-Financial.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to www.caoxiaozhu.com:13002upstream `origin/main`upstream 新提交:未发现;本地 ahead 提交8a2ae6eb (HEAD -> main) fix(server): gate_classify 复用 _classify_irrelevant_input 修复 off_topic 误杀992cf71f refactor(server): Phase 1 图拓扑重构 - LangGraph 成为唯一编排者54356ba8 refactor(server): scene 注册表骨架 + 统一门控管道设计文档e9d7c56d feat(server): 会话上下文保留LLM 历史 + 确定性兜底双保险)。
- 修改:`travelRequestDetailSetup.js``TravelRequestDetailView.vue` 将“修改申请”入口从仅退回态放宽为申请单草稿/退回归一后的可编辑态,仍要求当前用户是申请人;打开助手时补齐原申请 `draftPayload``applicationEditMode` 和可编辑字段白名单。
- 修改:`useAppShell.js``AppShellRouteView.vue``TravelReimbursementCreateView.js``useTravelReimbursementCreateViewLifecycle.js` 贯通 `initialDraftPayload`,让申请详情带出的核对表首条消息保留原 `claim_id`,保存草稿/直接提交时走已有 `application_edit_claim_id` 更新链路,不再新建或卡在无上下文状态。
- 修改:`expenseApplicationPreview.js` 支持 `editableFields`,在修改申请场景只开放事由、时间、地点、出行方式;`aiApplicationPreviewActions.js` 将白名单写入 `application_editable_fields`,便于后续服务端字段级约束。
- 操作manual 触发 `tools/agent-change-log/update_change_log.py --kind bug` 生成日志后补充真实修复记录;未修改后端接口逻辑,因为 `user_agent_application.py` 已允许 `draft/returned/supplement` 申请按 `application_edit_claim_id` 更新。
- 验证:`node --test web/tests/travel-request-detail-risk-advice.test.mjs` 通过;`node --test --test-name-pattern "application edit prefill opens assistant without auto submit" web/tests/app-shell-financial-assistant-entry.test.mjs` 通过;`node --test --test-name-pattern "application edit preview only allows reason time location and transport changes" web/tests/expense-application-fast-preview.test.mjs` 通过;`node web/tests/ai-application-preview-actions.test.mjs` 通过;`git diff --check` 通过;`npm --prefix web run build` 通过。全量跑 `app-shell-financial-assistant-entry.test.mjs``expense-application-fast-preview.test.mjs` 时仍有既有结构断言漂移,失败点与本次修改无关。
- 影响:用户在申请详情里看到草稿和退回申请都能继续修改;修改面被限制在事由、时间、地点、出行方式,其他职级、负责人、费用标准和金额仍由原单或规则测算带入。
- 16:51补充修复取消底部“修改申请”按钮改为申请详情格子内联铅笔编辑。
- Git 提交检查fetch 仍失败fatal: unable to access 'https://www.caoxiaozhu.com:13002/YG-Soft/X-Financial.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to www.caoxiaozhu.com:13002upstream `origin/main`upstream 新提交:未发现;本地 ahead 提交仍为 8a2ae6eb、992cf71f、54356ba8、e9d7c56d。
- 修改:`TravelRequestDetailView.vue` 移除底部“修改申请”按钮,在申请详情事实格子的值旁显示小铅笔;点击后根据字段类型切换为日期框、下拉框或文本输入,并提供保存/取消按钮。
- 修改:`travelRequestDetailSetup.js` 新增 `applicationDetailEditor` 状态、`canEditApplicationDetailItem``openApplicationDetailEditor``saveApplicationDetailEdit` 等内联编辑流程;保存时复用 `runAiApplicationPreviewAction``save_draft` 路径和 `application_edit_claim_id`,保持更新原申请单。
- 修改:`travel-request-detail-view.css` 收窄申请详情标签选择器,避免内联编辑内部 `span` 被误当字段名,并补充铅笔、确认、取消、编辑控件样式。
- 验证:先运行新增目标断言失败,确认旧按钮仍存在;实现后 `node --test --test-name-pattern "draft or returned application detail edits allowed facts inline" web/tests/travel-request-detail-risk-advice.test.mjs` 通过;`node --test web/tests/travel-request-detail-risk-advice.test.mjs` 62 条通过;`node web/tests/ai-application-preview-actions.test.mjs` 通过;`git diff --check` 通过;`npm --prefix web run build` 通过。本地 `http://[::1]:5173/app/documents` 可达但跳转登录页,因无登录态未继续真实详情点击。
- 影响:草稿/退回申请不再需要先打开 AI 助手才能改,用户可以直接在详情表格中改事由、时间、地点、出行方式;其它字段仍不可编辑,由原单或规则测算带入。
- 17:02补充修复详情页因残留 `handleModifyApplication` 返回项导致 setup 阶段崩溃。
- Git 提交检查fetch 仍失败fatal: unable to access 'https://www.caoxiaozhu.com:13002/YG-Soft/X-Financial.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to www.caoxiaozhu.com:13002upstream `origin/main`upstream 新提交:未发现;本地 ahead 提交仍为 8a2ae6eb、992cf71f、54356ba8、e9d7c56d。
- 修改:`travelRequestDetailSetup.js` 删除 return 对象里已经不存在的 `handleModifyApplication`,避免详情页初始化时抛 `ReferenceError`
- 修改:`travel-request-detail-risk-advice.test.mjs` 为内联编辑回归用例增加 `handleModifyApplication` 不得残留的断言;先运行目标用例确认失败,再删除残留返回项后确认转绿。
- 验证:`node --test --test-name-pattern "draft or returned application detail edits allowed facts inline" web/tests/travel-request-detail-risk-advice.test.mjs` 先失败后通过;`node --test web/tests/travel-request-detail-risk-advice.test.mjs` 62 条通过;`node web/tests/ai-application-preview-actions.test.mjs` 通过;`git diff --check` 通过;`npm --prefix web run build` 通过。真实本地 `[::1]:5173` 以管理员打开 `AG2YUJ9FB` 详情页无控制台错误;切换申请人 `caoxiaozhu@xf.com` 后同页可见 `申请详情` 和单号,铅笔按钮 5 个,点击后出现 1 个编辑控件,取消后无保存副作用。
- 影响:申请/报销详情页 setup 不再因为旧按钮处理函数缺失而白屏,内联铅笔编辑入口保留。