機能 #10514
未完了[VEND-V2-04] サイト種別・業種ヒアリングと評価コンテキスト
100%
説明
目的¶
EC、企業、メディア等で異なる評価観点を適用できるよう、診断前にサイト種別・業種を取得する。
入力¶
- サイト種別: ECサイト、企業サイト、メディア/ニュース、サービスサイト、採用サイト、公共/団体、個人/専門家、その他
- 業種: 標準業種マスタ+その他自由記述
- 任意でサイト目的・主要顧客
設計¶
- V2 API/DB契約をminor versionで拡張
- 選択値をversioned context JSONとして保存
- 種別ごとの重みやコメント差分はrubric versionで管理
- 未選択時の汎用評価を維持
- 個人情報や機密情報を入力させない
受入基準¶
- 入力UI・バリデーション・保存・GET
- EC/企業/メディアの最低3種で説明・改善提案が変わる
- schema/rubric versionと再現可能性を維持
- E2E・Claude Codeレビュー合格
Redmine Admin さんが12日前に更新
[連携要件] #10516で所在地・業種・商圏を自動推定する。#10514の入力UIは推定結果の確認・修正画面としても使用する。自動判定を確定値にせず、利用者がサイト種別、業種、所在地、主要商圏を修正してから競合検索へ進む。
Redmine Admin さんが12日前に更新
- ステータス を 新規 から 進行中 に変更
着手。サイト種別・業種・所在地・主要商圏の確認入力、V2 context保存、EC/企業/メディア別の優先対策出し分けを実装する。API未指定時は汎用評価を維持し、既存クライアントを壊さない。
Redmine Admin さんが12日前に更新
- ステータス を 進行中 から 解決 に変更
- 進捗率 を 0 から 100 に変更
[開発リード最終検収 2026-07-27 JST]
VERDICT: approve / Blockingなし
実装¶
- 新規診断を schema_version=2.2 / rubric_version=ai-citation-2026.3へ更新
- site_context 5項目: サイト種別、業種、業種詳細、所在地、主要商圏
- API/フロント双方でenum allowlist、100 Unicode文字、型、未知key、制御文字、改行・タブ、< >、backslashを検証
- invalid_contextは診断・DB保存前に400
- site_context_jsonをPRAGMA確認後に一度だけ追加
- 旧2.0/2.1行はversion維持、site_context null
- 未指定は5項目すべてnullの汎用コンテキスト
- contextはLLMへ渡さず、score/evidenceは従来と同一
- EC、企業、メディアの6指標別改善策を改善方法だけへ追加
- 入力フォーム、結果条件、診断仕様を表示
- 再診断時も入力条件を保持
- 所在地は都道府県・市区町村までとし、番地以下・個人住所・機密情報を入力しない案内
コミット・本番¶
- source 1ace128 feat(vend): add site context diagnostics
- public f719be5 feat(vend01): publish site context diagnostics
- API image sha256:50223ba7b20e5c6ba47854feaf6b261ffcab4d2144191e865a9db224e46711f3
- rollback image vend01-vend01-api:pre-10514
検証¶
- frontend 28/28
- backend/DB migration/SSRF/prompt 25/25 Node20 Docker
- independent review approve / Blockingなし
- 実Gateway候補: context exact roundtrip、prompt_has_context=false
- 公開API invalid_context 400、DB未保存
- 未指定request: all-null generic context
- 企業context: 保存・GET exact、schema2.2/rubric2026.3
- 旧V2 id1=2.0、id19=2.1、site_context null
- V1 GET 200
- Chromium: options 9/14、危険入力即時拒否、条件5項目表示、企業向け6改善策各1回、診断仕様表示
- retry後も入力保持
- radar 7層/6軸/6頂点、AIO例5/best practice8維持
- 390/768/1440px横溢れ0、JS/MIMEエラー0
- DB integrity ok
証跡¶
- DB backup /root/backup/website-vending-machine/20260727-1102-10514
- frontend backup /root/backup/website-vending-machine/20260727-1105-10514/frontend
- browser /root/backup/website-vending-machine/20260727-1108-10514/browser
受入基準を満たしたため解決。次は#10516 所在地・業種推定と競合3社AIO比較。
Redmine Admin さんが12日前に更新
進捗: 2026-07-27 JST #10514本番完了。schema2.2/rubric2026.3、site_context 5項目、frontend/backend validation、site_context_json冪等migration、旧2.0/2.1互換、LLM非混入、EC/企業/メディア別6改善策、条件サマリー/診断仕様/入力保持を公開。所在地は都道府県・市区町村まで、番地以下・個人住所・機密情報禁止を明記。source 1ace128、public f719be5、API image 50223ba。frontend28/28、backend25/25 Node20、independent review approve。公開API新旧V2/V1、invalid_context未保存、generic/context roundtrip、Chromium 390/768/1440を検収。次は#10516競合3社比較。