Commit Graph
15 Commits
Author SHA1 Message Date
admin ab10e56523 fix(aihr): expire unbound practice audio 2026-07-14 22:00:12 +08:00
admin 4d4d911bad fix(aihr): add semantic daily drill scoring fallback 2026-07-14 15:53:04 +08:00
admin 14d91f86a9 fix(aihr): bind SOP reviews to pilot identity 2026-07-14 15:43:23 +08:00
admin 94d483d334 fix(aihr): align practice scoring with BRD five dimensions 2026-07-14 15:12:47 +08:00
admin 9c35949984 fix(aihr): persist daily drill scores 2026-07-14 11:35:57 +08:00
admin 816bf0e6f5 fix(aihr): audit knowledge feedback reviews 2026-07-14 10:52:46 +08:00
admin 9ace0cb5c9 feat(case): persist source audio for learning detail 2026-07-14 05:51:45 +08:00
admin 9bbfd575a3 feat(aihr): add voice answers to daily drills 2026-07-14 05:44:26 +08:00
admin c5a6e677dd feat(aihr): persist sop prompt version 2026-07-14 04:32:21 +08:00
admin 07ab28fd7b feat(aihr): trace sop feedback to search review 2026-07-14 04:18:09 +08:00
admin d3552cc22d feat(aihr): add pilot satisfaction evidence loop 2026-07-14 04:13:02 +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 4b10b08eeb feat(aihr): close phase two practice pilot gates 2026-07-08 00:51:32 +08:00
admin f869d66c90 feat: complete aihr mvp mobile workflow 2026-07-03 16:43:37 +08:00