admin
d9ff43eae3
feat(aihr): add owner identity profiles for realtime practice
...
- remove owner-impatient persona; owner-calm renamed to 业主
- aihr_realtime_owner_profile table (tenant+project unique, enabled,
version) with formal migration
- admin CRUD under moderator role gate; project code validated against
org snapshot and project name taken from snapshot authoritatively
- employee endpoint returns display-safe fields plus defaultProfileId
from the employee's own community; profile body never exposed
- session creation renders {community}/{profile} server-side; client
text can never enter instructions; invalid profileId rejected,
default resolution fails closed
- duplicate create returns 409
2026-08-05 03:18:50 +08:00
admin
8f9c244aeb
feat(aihr): add experience library and community best answers as ask sources
...
- server-side employee position resolution (org snapshot) with hard
position gate for EXPERIENCE/CASE sources; formal sources unaffected;
unresolvable position fails closed to general-scope only
- merge published experiences (aihr_case_record, CASE_EXP) and moderated
best answers (COMMUNITY, no submitter identity) into the citation pool
as REFERENCE tier; auxiliary sources never alter formal answers and
fail without breaking the main chain; grading re-grades ROUTE into
GUIDANCE when only auxiliary evidence exists
- case recall endpoints enforce the same position gate
- moderator endpoint to promote a best answer into a CANDIDATE case
record (idempotent via source_ref unique key, never auto-published)
- migration aihr_20260822_case_source_ref_and_best_answer_index_mysql8.sql
- COMMUNITY citations carry community-question:{id} in detailRef for
direct navigation
2026-08-05 02:45:57 +08:00
admin
e9d3cffd1c
fix(aihr): drop AFTER clause from pending clarification migration
...
Remote aihr_knowledge_conversation predates the grounded state columns,
so AFTER state_json fails; column position is irrelevant.
2026-08-05 00:55:25 +08:00
admin
6cc2ac73e5
feat(aihr): add evidence grading, clarification loop and route exits to ask agent
...
- narrow amount-semantics clarification to adjudicative intents only
- persist pending clarification on conversation and resolve follow-up
replies as ANSWERED/GAVE_UP/NEW_TOPIC (max one round per field)
- add AihrEvidenceGradingService: FULL/PARTIAL/GUIDANCE/ROUTE arbitration,
policy-claim post-validation, reference answers labeled as non-formal
- unblock retrieval source gating; tag citations with evidence tier,
keep PUBLISHED/HUMAN_VERIFIED/effective-date authorization gates
- replace operator-facing no-evidence copy with actionable route exits
(human help, direct finance channel, web research)
- allow fragment-less down feedback for own NO_EVIDENCE queries so
ROUTE answers can escalate to human help (fragment_id nullable)
- migrations: aihr_20260804_pending_clarification_mysql8.sql,
aihr_20260804_feedback_fragment_nullable_mysql8.sql
2026-08-05 00:52:52 +08:00
key
901f1aeb3c
feat(aihr): prepare grounded agent shadow validation
2026-08-04 21:24:25 +08:00
key
b653164a46
feat(aihr): add grounded agent shadow runtime
2026-08-04 12:03:24 +08:00
key
12fc9fdddc
feat: add query observability and collation safeguards
2026-08-04 02:15:03 +08:00
key
721839c847
feat(aihr): harden finance RAG retrieval and evidence gates
2026-08-03 22:34:18 +08:00
key
99e8c509d5
fix: harden knowledge lifecycle rollout
2026-08-03 16:00:45 +08:00
key
df77998e0c
feat: complete governed knowledge lifecycle
2026-08-03 14:34:54 +08:00
key
6ad8a017a4
feat(aihr): close functional checklist gaps
2026-08-02 12:15:45 +08:00
key
699cc08050
feat: govern knowledge assets and source citations
2026-08-02 01:43:43 +08:00
key
bf703b7853
fix(knowledge): gate policy answers by formal sources
2026-07-31 00:28:41 +08:00
key
652e48884b
fix(aihr): recover stalled media processing
2026-07-29 15:09:01 +08:00
admin
c35fd0741b
feat(broadcast): add multi-role insight contract
2026-07-25 14:19:03 +08:00
admin
f545983de8
fix(knowledge): bind summary cards to cited evidence
2026-07-25 01:45:41 +08:00
admin
c9d2012ec1
feat(aihr): finalize practice growth and access boundaries
2026-07-25 00:42:19 +08:00
admin
09278d40c6
merge: integrate broadcast question correction
...
# Conflicts:
# docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md
2026-07-25 00:13:49 +08:00
admin
342f84a9de
feat(aihr): complete company message R1-R3
2026-07-24 23:25:15 +08:00
admin
6ba4e06a2f
feat(agent): audit orchestrated runs
2026-07-24 22:13:04 +08:00
admin
faa2a77e9a
feat(practice): complete five-position training operations
2026-07-24 00:26:27 +08:00
admin
927458b9e0
feat(aihr): harden M0-M2 mobile training flows
2026-07-23 21:18:13 +08:00
admin
06322c994b
feat(aihr): add tenant organization governance
2026-07-23 15:58:38 +08:00
admin
f6609808df
feat(aihr): add M1 broadcast targeting and mandatory reads
2026-07-23 12:11:41 +08:00
admin
163b08ecfe
feat(aihr): 重构运营后台与租户知识治理
...
- 重构运营总览、侧栏和内容运营工作台\n- 增加大喇叭、成果审核与运营统计链路\n- 补齐租户、知识空间、分类和知识维护闭环\n- 加固标签页租户上下文、停用租户写保护与迁移预检
2026-07-23 01:24:22 +08:00
admin
c38a723ae4
Merge branch 'codex/brd-release-20260715' into codex/multi-tenant-knowledge-platform
...
# Conflicts:
# AGENTS.md
# README.md
# backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/domain/AihrPracticeDto.java
# backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrOrgSyncService.java
# backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrPracticeSeedService.java
# backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java
# backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrOrgSyncServiceTest.java
# backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrPracticeSeedServiceTest.java
# backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java
# docs/20260708/uni-app用户侧前端重建计划.md
# docs/API_INTEGRATION.md
# docs/BRD_IMPLEMENTATION_AUDIT.md
# docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md
# docs/DEMO_ACCEPTANCE.md
# docs/DEV_SETUP.md
# docs/FIGMA_IMPLEMENTATION_MATRIX.md
# docs/README.md
# frontend/src/views/knowledge/processing.vue
# mobile-uni/src/pages/supervisor/assign/index.vue
# mobile-uni/src/pages/supervisor/index/index.vue
# mobile-uni/src/pages/supervisor/profile/index.vue
# mobile-uni/src/pages/supervisor/review/index.vue
# mobile-uni/src/pages/supervisor/reviews/index.vue
# mobile-uni/src/pages/supervisor/team/index.vue
# mobile-uni/src/pages/user/cases/index.vue
# mobile-uni/src/pages/user/practice/index.vue
# mobile-uni/src/pages/user/profile/index.vue
# mobile-uni/src/pages/user/sop/index.vue
# mobile-uni/src/pages/user/today/index.vue
# mobile-uni/src/types/api.ts
# scripts/tests/aihr-schema-migrations.test.sh
2026-07-22 08:41:49 +08:00
admin
1ffb1c7bd0
Merge branch 'codex/production-collation-release-fix' into codex/multi-tenant-knowledge-platform
...
# Conflicts:
# AGENTS.md
# README.md
# backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java
# backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java
# docs/API_INTEGRATION.md
# docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md
# docs/DEV_SETUP.md
# docs/H5_REDESIGN.md
# docs/README.md
# docs/RUOYI_AI_INCREMENTAL_MIGRATION.md
# docs/物业AI人力资源系统开发规格TechSpec.md
# scripts/release-preflight.sh
# scripts/tests/aihr-schema-migrations.test.sh
2026-07-22 08:38:40 +08:00
admin
4536d607e3
feat: add project-scoped work assistant results
2026-07-21 04:44:15 +08:00
admin
0a5fc9a463
feat(assistant): unify confirmed memory capture
2026-07-20 02:30:06 +08:00
admin
7bd2c540fa
feat(web-ai): support qwen web search agent
2026-07-19 21:32:39 +08:00
admin
6853facbe0
fix(web-ai): store encryption key in database
2026-07-19 20:20:57 +08:00
admin
925b48e436
feat(work-report): add voice-first reporting flow
2026-07-19 12:17:11 +08:00
admin
24da833fa6
feat(personal-assistant): add confirmed project memory
2026-07-19 08:19:24 +08:00
admin
064816a784
feat(knowledge): add short-term ask memory
2026-07-18 21:22:49 +08:00
admin and Claude Fable 5
dfd82e1886
fix: unify all aihr collations, stop silent logout on biz 403, enable knowledge apps
...
线上现象:「问」页语音提问报 401(请求不带 token),用户观察为
「点了几个页面后登录状态失效」。
根因链(逐环生产验证):
1. 问师傅 /api/knowledge/query 对真实登录返回业务 403
「当前登录端未启用知识问答应用」——生产 aihr_knowledge_app 为空表,
多租户知识平台的应用注册/空间绑定/角色授权从未在生产配置(P1 遗留)。
2. 前端 readPayload 把 403 也视为认证失败并 clearAuth() —— 业务 403
触发静默登出,localStorage token 被清。
3. 之后语音 ASR 请求裸奔 -> 401「未能读取到有效 token」。
同期回归:凌晨对 aihr_practice_assignment.ext_party_id 的单列 collation
热修复,使其与 aihr_practice_session(仍 0900_ai_ci)的 JOIN 反向失配,
/practice/mistakes 500。
修复:
- backend/script/sql/update/aihr_20260718_unify_all_collations_mysql8.sql:
47 张 aihr 表全部 CONVERT 到运行时基准 collation(生产=general_ci),
终结 collation 打地鼠;本地验证后已在生产执行
(schema 备份 /opt/wygj/backups/aihr-schema-before-unify-20260718041407.sql),
13 项移动端接口回归全 200(含 mistakes)。
- api.ts/auth.ts:本地登录态仅在真正 401(HTTP 或业务码)时清除,并经
redirectToLoginForAuthLoss 记住当前页自动回登录(2s 防抖,登录页内不跳);
业务 403(权限拒绝,如录音归属/知识空间)只报错不登出;
authenticatedFileUrl 同步收紧(403 不再清登录态)。
- 生产数据配置(幂等 INSERT,业务范围保守):
· aihr_knowledge_app 注册 yc_admin(pc)/yc_mobile(app) SESSION 应用
· yc_mobile 绑定 SOP 域 5 库(1001/1002/1003/1201/1202),
employee/supervisor ROLE READ;yc_admin 绑定全部 13 库,
hr_operator/superadmin MANAGE
· 财务/销售/行政等大库(1004-1010)暂仅管理端,待业务确认再放开
生产验证:
- 问师傅 query 200,真实回答+引用「投诉处理 SOP v1.0」
- E2E:登录后全 tab 浏览+语音+文字提问,token 全程稳定(storage 打桩零触发)
- 无效 token 点语音提问 -> 自动回登录页(原为死胡同 toast)
- H5 已发布(备份 h5-before-20260718042238)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 04:24:45 +08:00
admin and Claude Fable 5
680b4cf83c
fix: align aihr_practice_assignment.ext_party_id collation to utf8mb4_general_ci
...
根因:生产库 aihr_practice_assignment.ext_party_id 继承表级默认 utf8mb4_0900_ai_ci,
与 aihr_practice_question_feedback.ext_party_id (utf8mb4_general_ci) 冲突,
导致 AihrPracticeSeedService.assignments() 子查询抛 ERROR 1267,
/me 接口异常,员工端误报'人力系统未匹配'。
修复:
- ALTER TABLE 对齐 ext_party_id 列排序规则为 utf8mb4_general_ci
- 已在生产热修复并验证,查询恢复正常
- 本地 docker 容器复现+修复验证通过
- 前端无需改动,H5 重新构建确认流程无误
影响范围:
- 仅 aihr_practice_assignment 表单列 MODIFY
- 保留所有数据与索引,无业务中断
- 回滚材料在 /opt/wygj/backups/release-20260718005151
遗留:
- position 页异常场景退出入口待下轮补充(P1)
- schema 规范:后续 DDL 显式声明 COLLATE,不依赖表级默认
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 02:27:11 +08:00
admin
32fa376d63
fix: align release table collations
2026-07-18 01:04:17 +08:00
admin
6bdc86e3fc
feat: restore learning feedback and knowledge capabilities
2026-07-18 00:50:11 +08:00
admin
e93421ca1e
fix(aihr): close Figma UI regression gaps
2026-07-17 04:17:14 +08:00
admin
735e9a78c1
feat(knowledge): add multi-space platform schema
2026-07-16 10:21:35 +08:00
admin
ab406e616a
fix(release): enforce AIHR tenant collation contract
2026-07-15 13:33:56 +08:00
admin
d44e9440ce
feat(aihr): add position qualification schema contract
2026-07-15 02:04:05 +08:00
admin
1ca5d1eca4
fix(aihr): version candidate interview review migration
2026-07-15 00:59:08 +08:00
admin
ef21d4d61b
fix(aihr): version practice session evidence migration
2026-07-15 00:53:52 +08:00
admin
d9fec80e6c
fix(aihr): version knowledge feedback migrations
2026-07-15 00:51:42 +08:00
admin
0bfaee7d22
feat(aihr): complete case learning review loop
2026-07-14 23:41:59 +08:00
admin
804bc62de7
fix(aihr): seed production prompt templates
2026-07-14 23:22:34 +08:00
admin
82aec83cb5
fix(aihr): add practice catalog schema migration
2026-07-14 23:16:51 +08:00
admin
94f48f4c1b
fix(aihr): version case media schema gate
2026-07-14 23:12:22 +08:00
admin
0a30fe7034
feat(aihr): align BRD scenarios and SOP seed content
2026-07-14 23:04:23 +08:00