feat(interview): 建立公共能力与持久化底座 - #43
Merged
yydounai1234 merged 11 commits intoAug 5, 2026
Merged
Conversation
| public SceneFlowResponse createFlow(String sceneId) { | ||
| SceneType sceneType = parseSceneType(sceneId); | ||
| if (sceneType != SceneType.FREE_CHAT) { | ||
| boolean startsAtDialogue = sceneType == SceneType.FREE_CHAT |
There was a problem hiding this comment.
Medium: INTERVIEW_SCENE skips findScene(...) here, so /api/custom-scenes/flows can create interview flows even when no prepared interview record exists. That makes the new interview path succeed before its backing snapshot has been persisted.
| && startsWith(content, PDF_SIGNATURE)) { | ||
| return DocumentType.PDF; | ||
| } | ||
| if (normalizedName.endsWith(".docx") |
There was a problem hiding this comment.
Medium: this gate only accepts .pdf and .docx, but the interview foundation spec allows DOC resumes too. As written, a valid .doc upload will always fail with DOCUMENT_FORMAT_UNSUPPORTED.
修正 Interview、IELTS 的 Scene 归属和 Flyway DDL 位置。 记录公共能力边界、ADR、接口契约与核心场景伪代码。
让 Interview Flow 直接进入 DIALOGUE 且跳过 Scene 查询。 统一成功与失败终止的释放语义并补齐回归测试。
支持注册由 Scene 创建的运行态会话并创建 practice_session。 提供受控的 COMPLETED 与 FAILED 终态更新且不进入 Realtime。
扩展 EvaluationService 以复用现有发音评分和计算公式。 隔离 Scene、Session、LLM 与持久化副作用并固化接口契约。
提供 PCM WAV 标准化、顺序拼接和 64kbps MP3 编码。 将现有讯飞编码器移出供应商目录并保持评分行为兼容。
将头像专用存储错误统一为通用对象存储错误。 增加 Interview 录音对象前缀配置,并对对象前缀做统一规范化与安全校验。
支持文本型 PDF 和 DOCX 的受限文本提取。 拒绝超限、损坏、扫描件和不支持格式并返回稳定错误。
建立通用 OCR Provider 并内置 CPU 版 PaddleOCR runner。 批量识别受限图片且确保临时文件、进程和输出安全。
建立岗位摘要、资产、实际问题和五维报告的数据模型。 通过统一 Codec 固化 role_summary 的四字段 JSON 契约。
通过下一可用 Flyway migration 创建三张 Interview 资产表。 固化无外键、复合主键、分数范围和完成资产索引约束。
实现三张 Interview 表的 Entity、Mapper 与 Repository。 保证 JSONB 映射、用户归属和问题复合主键条件完整可测。
pionxe
force-pushed
the
codex/feat-interview-foundation
branch
from
August 5, 2026 02:36
2a3e9a8 to
a71beb5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更概述
验证
范围
本 PR 不包含 Interview Controller、前端和业务编排。
Closes #37