admin
2957f29326
docs(aihr): plan personal assistant phase two delivery
2026-07-12 00:45:44 +08:00
admin
b775b71a6e
docs(aihr): define personal assistant phase two spec
2026-07-12 00:03:13 +08:00
admin
c66fc4e4b0
feat(mobile): finish employee app page polish
2026-07-11 18:59:30 +08:00
admin
ca84e6756c
docs(mobile): define login hifi design
2026-07-11 02:10:15 +08:00
admin
8b86bb56e7
merge: integrate AI陪练 phase2 pilot branch
...
Merge codex/ai-peilian-phase2 into main after review and pre-merge fixes for
admin scope, org role gates, pilot completion metric, and self-assignment reads.
2026-07-11 01:25:05 +08:00
admin
98177725cd
fix(aihr): close pre-merge auth and pilot metric gaps
...
Allow sys_user admin console to use unscoped mobile review APIs, restrict
org snapshot/sync to superadmin/hr_operator, count completed pilot people
with the 10-session rule, and let employees self-read assignments without
org team membership.
2026-07-11 01:24:57 +08:00
admin
19788bedb0
style(mobile): 优化候选人和成长页视觉细节
...
统一候选人、主管、案例、学习和我的成长页面中的状态色、徽标与摘要卡样式,不改变原有数据流和交互逻辑。
2026-07-11 01:13:57 +08:00
admin
78859899f3
feat(mobile): 升级短信登录表单体验
...
将移动端短信登录页升级为基于 uni-ui 的表单输入与校验体验,并让登录卡片与当前员工端视觉语言保持一致。
2026-07-11 01:13:57 +08:00
admin
ee396d1e7a
feat(mobile): 重做员工端首页、问答和训练页视觉
...
统一员工端 tabBar、共享卡片和三大核心页面的视觉基础,同时保持现有移动端业务流程不变。补充 H5 输入兼容、页面结构和训练回滚行为的回归测试。
2026-07-11 01:13:14 +08:00
admin
ebbc69eed6
chore: ignore local worktrees
2026-07-11 00:55:13 +08:00
admin
13230e6b9a
feat(aihr): complete phase two pilot readiness
2026-07-10 19:13:31 +08:00
admin
0219de6fa8
fix(mobile): drive learning search from assignments
2026-07-10 02:20:56 +08:00
admin
4b951d07a0
feat(mobile): add employee learning page
2026-07-10 00:57:55 +08:00
admin
3b81f07b27
fix(aihr): use real mobile home metrics
2026-07-10 00:51:43 +08:00
admin
b9215236bc
test(aihr): align pilot completion metric
2026-07-10 00:34:05 +08:00
admin
beaf4f30d0
test(aihr): enforce pilot completion gate
2026-07-10 00:26:21 +08:00
admin
b26c2258cf
test(aihr): tighten demo question verification
2026-07-10 00:19:48 +08:00
admin
baf27a5de9
feat(frontend): make growth assignments selectable
2026-07-10 00:04:39 +08:00
admin
6b8ccd5a35
feat(frontend): add review score calibration
2026-07-09 23:58:09 +08:00
admin
6f0a4c3d63
fix(aihr): polish model fallback wording
2026-07-09 23:52:44 +08:00
admin
8617199651
fix(aihr): replace seed fallback wording
2026-07-09 23:35:40 +08:00
admin
3bf2f127d6
fix(frontend): clarify model fallback messages
2026-07-09 23:30:55 +08:00
admin
28de48b8a5
fix(frontend): test selected model provider only
2026-07-09 23:29:44 +08:00
admin
2ff022c48a
fix(frontend): remove practice sample fill action
2026-07-09 23:16:39 +08:00
admin
b7ea068a4e
fix(frontend): remove interview sample fill actions
2026-07-09 23:14:45 +08:00
admin
62c1e6c773
fix(frontend): replace demo fallback wording
2026-07-09 23:12:23 +08:00
admin
0acbea7058
fix(aihr): mask sensitive case transcripts
2026-07-09 23:11:02 +08:00
admin
6cec08f4cb
fix(aihr): remove demo wording from active flows
2026-07-09 23:07:17 +08:00
admin
cf3229fdad
fix(mobile): clarify supervisor review list count
2026-07-09 23:03:40 +08:00
admin
bfbd2d0b12
fix(mobile): show supervisor team review queue
2026-07-09 22:56:52 +08:00
admin
7267939f95
fix(aihr): remove fake case sample wording
2026-07-09 22:48:19 +08:00
admin
0af0f1c896
fix(frontend): remove fake case sample action
2026-07-09 22:45:32 +08:00
admin
fe4ebcfb0f
fix(frontend): render flow steps as noninteractive
2026-07-09 22:41:09 +08:00
admin
8b2371053d
fix(frontend): remove dead processing actions
2026-07-09 22:39:15 +08:00
admin
90de4286d4
fix(frontend): remove dead dashboard sample button
2026-07-09 22:37:30 +08:00
admin
9f30e68cc3
fix(frontend): wire dashboard panel links
2026-07-09 22:35:51 +08:00
admin
d03f717394
fix(frontend): allow evidence export for aggregate growth view
2026-07-09 22:32:42 +08:00
admin
4fd4bed9e6
docs: align local smoke commands with portless
2026-07-09 22:27:51 +08:00
admin
25262d4140
chore(demo): allow screenshot api url override
2026-07-09 22:25:02 +08:00
admin
28c15d5168
test(demo): guard fallback screenshot capture
2026-07-09 22:22:48 +08:00
admin
6e7db51b82
chore(demo): add reproducible fallback screenshots
2026-07-09 22:20:54 +08:00
admin
0307bb4c35
fix(mobile): clarify unmatched org position state
2026-07-09 22:13:47 +08:00
admin
61a26fc543
fix(mobile): align practice scene copy with task context
2026-07-09 22:10:31 +08:00
admin
cc3581a27a
feat(aihr): flag masked org phones in precheck
2026-07-09 22:06:59 +08:00
admin
3b034f6903
feat(aihr): report org sync quality in precheck
2026-07-09 21:54:12 +08:00
admin
f38dfeeae0
feat(aihr): surface org snapshot data quality
2026-07-09 21:38:35 +08:00
admin
f00f9045eb
fix(aihr): keep old daily drills out of today
2026-07-09 21:24:53 +08:00
admin
b650304ef1
chore(aihr): add phones to org seed
2026-07-09 21:14:12 +08:00
admin
89d8611ea1
fix(aihr): scope unknown mobile supervisors
2026-07-09 17:29:28 +08:00
admin
7fcea6ecd3
fix(mobile): isolate candidate study position
2026-07-09 17:21:08 +08:00
admin
505fbda8ee
fix(mobile): add fallback for building page back
2026-07-09 17:18:14 +08:00
admin
a9ed25108a
fix(mobile): guard case uploads with employee position
2026-07-09 17:15:15 +08:00
admin
8f73cb0c84
fix(mobile): require employee position before user flow
2026-07-09 17:09:26 +08:00
admin
8b92a7e9ac
fix(aihr): include org phones in supervisor team scope
2026-07-09 16:45:57 +08:00
admin
f2a21099d5
fix(frontend): export promotion evidence csv
2026-07-09 16:32:27 +08:00
admin
7de6fa9969
fix(mobile): load supervisor review audio with auth
2026-07-09 16:19:11 +08:00
admin
f1a975b5f6
fix(frontend): play review audio in calibration page
2026-07-09 16:13:29 +08:00
admin
bba1e00425
fix(aihr): align growth path progress with criteria
2026-07-09 16:01:14 +08:00
admin
f1fe0bdfaa
fix(aihr): clean video asr snippets
2026-07-09 15:46:03 +08:00
admin
2ef3e39744
fix(aihr): trim sop evidence snippets
2026-07-09 15:37:01 +08:00
admin
ba8c35904e
fix(mobile): normalize sop answer step labels
2026-07-09 15:28:14 +08:00
admin
2b1f206ca0
fix(mobile): default missing level to unrated
2026-07-09 15:17:38 +08:00
admin
aa547ef365
fix(mobile): avoid seeded empty competency
2026-07-09 15:15:14 +08:00
admin
25d3d1b8d5
test(demo): check mobile h5 shell
2026-07-09 14:56:31 +08:00
admin
54b2b0dbbc
chore(dev): run mobile uni through portless
2026-07-09 14:52:34 +08:00
admin
1c47e250c4
fix(mobile): quiet h5 validation noise
2026-07-09 14:46:33 +08:00
admin
68c4b8547e
fix(aihr): return pilot export as csv
2026-07-09 14:38:32 +08:00
admin
5e0a5c7af7
docs: align phase plan with uni mobile app
2026-07-09 14:24:51 +08:00
admin
eae25e4a54
fix(mobile): tidy user page text layout
2026-07-09 14:22:32 +08:00
admin
ac9f640f7f
fix(mobile): constrain h5 shell width
2026-07-09 14:15:24 +08:00
admin
e60520b7aa
fix(mobile): proxy review audio downloads
2026-07-09 13:54:19 +08:00
admin
4ef388873b
feat(mobile): add voice transcription to practice
2026-07-09 13:41:48 +08:00
admin
04405b5e11
fix(mobile): reset page scroll on route entry
2026-07-09 13:34:24 +08:00
admin
f517cbd2b5
fix(mobile): carry today task into practice
2026-07-09 13:28:52 +08:00
admin
dd13936ca9
fix(mobile): show real assignments on today page
2026-07-09 13:24:19 +08:00
admin
03d9c93ea4
fix(aihr): require candidate identity for materials
2026-07-09 13:13:40 +08:00
admin
0bff6bbfa6
fix(aihr): keep demo question verification read-only
2026-07-09 13:08:54 +08:00
admin
b2ba54b2b3
fix(dev): verify demo questions via portless api
2026-07-09 13:02:09 +08:00
admin
801bc26de8
fix(dev): run demo check through portless
2026-07-09 12:58:29 +08:00
admin
5f92847c00
feat(aihr): map supervisor phone to org scope
2026-07-09 12:54:33 +08:00
admin
9bd567a72f
feat(aihr): filter supervisor reviews by org scope
2026-07-09 12:43:16 +08:00
admin
45d06f56cd
fix(dev): proxy admin through portless api
2026-07-09 12:33:30 +08:00
admin
a83fb53ecd
feat(aihr): scope supervisor practice data
2026-07-09 11:37:33 +08:00
admin
53698e7832
feat(aihr): clarify org snapshot field usage
2026-07-09 11:03:47 +08:00
admin
2f5fb853a2
fix(aihr): require assignee for practice assignments
2026-07-09 11:02:11 +08:00
admin
82f861542f
fix(aihr): paginate org snapshot view
2026-07-09 10:50:19 +08:00
admin
678543e8a5
feat(aihr): complete uni-app role workflows
2026-07-09 10:42:20 +08:00
admin
e4070c8b8c
refactor(mobile): extract types, static data, utils, styles from App.vue
...
Pure moves only — zero behavior change, template untouched:
- types.ts (447), utils.ts (51), data/{auth,navigation,practice,mentor,
home,supervisor,icons}.ts, styles/app.css (4690, still global non-scoped
via <style src>)
- App.vue 9006 → 3559 lines; 98 moved declarations verbatim except
export/import syntax
- Built CSS hash identical to pre-refactor (byte-equal styles); reactive
state, computed, watchers, lifecycle and templates all stay in App.vue
- Component-level split deferred to phase two after 2026-07-10 Alpha
2026-07-08 21:07:45 +08:00
admin
15cd789da6
feat(aihr): add SOP answer thumbs up/down feedback loop
...
- New aihr_knowledge_answer_feedback table; unique (tenant, query_norm,
fragment_id) pair keeps submissions idempotent
- POST /api/knowledge/answer-feedback (fragmentIds array), GET pending-review
list, POST /{id}/review — all under existing auth scope
- Down-voted (question, fragment) pairs are filtered from dbSearch fusion
results; if filtering empties the hit list the original results are kept
with an explanatory caution (never degrade to no-answer)
- Feedback table missing/unreachable → filter silently skipped, search
behavior unchanged (degradation chain preserved)
- SnippetResponse gains optional trailing fragmentId (db hits only; seed
fallback stays null); mobile sopPanel adds 👍 /👎 with locked state after
submit, up votes auto-marked reviewed to keep the review queue clean
2026-07-08 15:09:27 +08:00
admin
8d78bc69d1
feat(aihr): bind SOP direct-answer digest to sop_answer prompt template
...
- Seed aihr_prompt_template with code=sop_answer (conclusion-first + numbered
steps + citations appended), matching the built-in prompt
- Digest prefers the enabled sop_answer template, falls back to the built-in
constant, and logs prompt_version; answer/keyPoints/cautions contract unchanged
2026-07-08 14:52:02 +08:00
admin
7fd61b6ca3
feat(aihr): add coach-hint style regeneration buttons to practice turn
...
- /turn accepts optional regenerate+style (serious/gentle/detailed/professional);
regenerate short-circuits before rememberTraineeReply — no round advance,
no trainee reply write, no scoring impact; only same-round coachHint evidence
is overwritten
- Style instruction injected into existing LLM turn prompt; LLM missing/failed
returns original hint with explicit message (no fake data)
- Mobile practice page renders 再严肃/再温柔/更细致/更专业 pills under coach
hints; success replaces text with a style note, failure toasts and keeps
original; old clients unaffected (fields appended)
2026-07-08 14:52:02 +08:00
admin
f40d2fcc6e
docs: archive MVP design-qa record and refresh doc indexes
...
- Move root design-qa.md → docs/archive/2026-07-mvp-delivery/ (MVP-phase
screenshot QA, concluded passed; register in archive README)
- Rename 20260708 UUID screenshot to descriptive name
- Index the 2026-07-08 integration plan in README, docs/README, AGENTS.md
2026-07-08 12:23:03 +08:00
admin
13c7bdc082
docs: adopt 2026-07-08 product decisions — 学练问报 integration plan
...
- Add docs/20260708/: integration plan v1.2 (product definition vs launch
demo split into four parts), meeting notes, customer 'third edition' docx,
WeChat follow-up screenshot
- Decisions: directed mentorship rejected → open question board; 学 module
upgraded to courses/no-fast-forward video/min reading time/irregular exams;
direct-answer SOP format; credit-gated offline promotion exam
- Customer replies on three open items: multi-app jump deferred (D6 stays),
leaderboard kept as opt-in switch (default off), manager evaluation gated
by org-structure permissions
- Master plan → v0.3 (§4.4 open question board + permission-gated evaluation,
§4.5 learning module, §8 resolved items); practice plan → v0.8 (sop_answer
template, style-regen buttons, answer thumbs up/down, credit rules in M4)
2026-07-08 12:22:47 +08:00
admin
e8d90609c1
fix(mobile): harden stored auth credentials and login response validation
...
- Treat 'undefined'/'null' localStorage values as absent; clear incomplete
token/clientId pairs and prompt re-login instead of sending broken headers
- Gate authenticated UI on both token and clientId via isAuthenticated
- Reject login responses missing access_token or client_id
2026-07-08 12:22:33 +08:00
admin
eeffbaf752
feat(aihr): return explicit no-evidence SOP answers and log knowledge gaps
...
- Empty/unanswerable SOP queries now return the fixed 「未在已入库 SOP 中找到明确依据」
response instead of falling back to seed answers (no fake answers)
- Record knowledge_gap (question/category/position/source) whenever search
yields no evidence — feeds the phase-two open question board
- Extract NO_CLEAR_SOP_EVIDENCE constant shared by digest prompt and checks
2026-07-08 12:22:33 +08:00
admin
2bdf527e26
feat(aihr): add prompt template management UI
2026-07-08 08:42:06 +08:00
admin
4b10b08eeb
feat(aihr): close phase two practice pilot gates
2026-07-08 00:51:32 +08:00
admin
1d14497bc3
docs: sync entry docs to phased plan structure
...
AGENTS.md/README.md 项目定位并入立项会重定位(银城员工端 APP、
三阶段边界、管家=生活顾问);docs/README.md 索引补总纲、立项会
纪要与组织同步接口设计;组织快照口径更新为可外部同步。
2026-07-07 11:06:21 +08:00
admin
9ecf4fdfc3
docs: adopt 2026-07-07 kickoff — phased master plan + practice plan v0.7
...
新增《银城员工端APP分阶段实施总纲》v0.2:三阶段(陪练→大喇叭+
知识学习平台→北森对接)、身份三轴模型与防遗漏分发策略;归档立项
会纪要。二期计划 v0.2→v0.7:客户反馈(传帮带/成长路径/提示词模板/
总结卡快速修复)与立项会增量(时间锚点/收费场景权重/每日三题/
knowledge_gap 钩子);确认管家=生活顾问、APP 形态=H5 套壳。BRD
同步传帮带与评级证据包口径。
2026-07-07 11:06:05 +08:00
admin
f5137a2b05
feat(aihr): add open org snapshot sync endpoint
...
新增 POST /api/aihr/org/sync,从开放组织系统 /open/v1/sync/snapshot
拉取公司/部门/员工快照刷新 aihr_org_snapshot;支持 dryRun 预检、
Bearer/client-credentials 鉴权与可选 HMAC 签名;外部未配置时保留
SQL seed。附接口契约设计 v1 与 API/DEV_SETUP 配置说明。
2026-07-07 11:05:41 +08:00