転職者はほぼ全員、手持ちの経歴書 PDF を持っており、空フォームを前に手入力を始める瞬間が最大の離脱ポイント。手持ち PDF をアップロード → LLM で構造化抽出 → フォームに流し込む機能でコールドスタート問題を解消する。
歴史的経緯(ADR に必ず記載): 「職務経歴書 PDF の AI 抽出」は過去に存在し撤去された機能(ADR-0004 で導入 → ADR-0008 で撤去)。旧設計の敗因は generate() が失敗時に空文字を返しエラーが UI に届かなかったこと。今回は ADR-0010/0018 の不変条件に乗せることで構造的に再発を防ぐ。
作業内容(PR 1本: ADR のみ)
受け入れ条件
make lint-adr-index green
- ADR-0004/0008 の経緯と教訓が記載され、旧設計との差分が明確
背景(#517)
転職者はほぼ全員、手持ちの経歴書 PDF を持っており、空フォームを前に手入力を始める瞬間が最大の離脱ポイント。手持ち PDF をアップロード → LLM で構造化抽出 → フォームに流し込む機能でコールドスタート問題を解消する。
歴史的経緯(ADR に必ず記載): 「職務経歴書 PDF の AI 抽出」は過去に存在し撤去された機能(ADR-0004 で導入 → ADR-0008 で撤去)。旧設計の敗因は
generate()が失敗時に空文字を返しエラーが UI に届かなかったこと。今回は ADR-0010/0018 の不変条件に乗せることで構造的に再発を防ぐ。作業内容(PR 1本: ADR のみ)
services/agent/配下(ADR-0010 の「LLM は services/agent/ のみ」を維持)。構造化出力で Resume スキーマに抽出、DB 非更新でフォーム注入機構([フォーム注入 1/2] Resume payload → フォーム state 注入機構(共有部品) #524)に渡すdocs/adr/README.md索引更新(同一 PR)受け入れ条件
make lint-adr-indexgreen