# 跃职：上下文关联与历史内容留存

只读整理日期：2026-09-12。本页核对项目工作流，不是一次真实求职经历或本轮生产验收。

## 已有材料支持什么

职业证据用于准备简历，面向岗位的简历可以关联到申请记录，后续面试准备按申请取得上下文。主要工程实现由 AI 深度参与完成；个人分工沿用项目既有声明，不能只凭代码反推出某项具体设计由本人首次提出。

2026-08-28 核心验收报告记载过生产 HTTP 主线通过。本轮只读该历史材料；下面的测试源码使用临时数据库与进程内 HTTP，并不是重放那次生产验收。

| 核查路径 | 当前材料说明什么 |
| --- | --- |
| `tests/test_core_user_journey.py`，14–30、107–154 行 | 临时库、关闭模型 key；将岗位定制返回的简历 ID 关联到申请，再按申请准备和启动文字面试，最后核对详情中的简历 ID 与面试结果。测试主动设置“已投递”，并未向招聘平台提交。 |
| `backend/services/resume_tailoring_service.py`，72–77、120–169、237–283 行 | 创建简历及包含 Markdown、HTML 的初始 `ResumeVersion`，并可将简历与申请关联。创建关联时使用申请 ID、简历 ID，此处未绑定特定内容版本。 |
| `backend/api/resume_tailoring.py`，155–181 行 | 已存在的申请关联允许更新其简历 ID；时间线中的 ID 记录不等于封存当时的正文内容。 |
| `backend/services/application_workspace_service.py`，90–133、169–194 行 | 详情读取当前关联的 `SavedResume` 与该申请的面试历史；这一读取路径没有联接 `ResumeVersion`，简历部分返回 ID、岗位与公司。 |
| `backend/services/interview_prep_service.py`，235–273 行 | 根据申请取得上下文，再组织面试准备；调用者另传 JD 时可覆盖。无模型 key、缺题或异常时有本地兜底，不能据准备成功推定真实模型服务已通过。 |

以上为本轮读取的本地源码行号，不是 8 月验收或 9 月截图的冻结版本；后续源码变化可能导致行号移动。本轮没有继续展开面试上下文助手的全部实现，不对其所有字段作承诺。

## 关联，不等于封存

项目不是“完全没有简历版本”：创建定制简历时会保存初始内容版本。

但现有旅程测试只核对关联关系，没有进行“投递后修改简历，再查看旧申请”的内容对照。关联本身允许更新，也不能据初始版本存在推定每次申请都锁定了不可变内容。

因此，当前可以说“从申请继续找到关联简历与面试”，不能保证“永远还原投递时的全部内容”。下一步应在隔离样例中核验申请绑定具体版本、修改后历史还原及重新关联后的行为。

## 不作为求职成绩

- 业务状态“已投递”由测试主动设置，不等于招聘平台接收。
- 面试分数及测试输入中的数值是受控测试数据，不是本人的履历成绩或求职结果。
- 案例页实际截图来自 2026-09-02 本地工作树和隔离空账号；不能补成一条成功求职的连续操作。
- 本轮没有登录生产账号、执行真实投递、调用外部 AI 或重新运行源产品测试。
