プロジェクト

全般

プロフィール

機能 #10514

未完了

[VEND-V2-04] サイト種別・業種ヒアリングと評価コンテキスト

Redmine Admin さんが12日前に追加. 12日前に更新.

ステータス:
解決
優先度:
通常
担当者:
-
開始日:
2026-07-27
期日:
進捗率:

100%

予定工数:
自動実行:
from_agent:
to_agent:
lock_required:
context_json:
session_id:
priority_custom:
start_time:
end_time:
execution_time:
acceptance_criteria:
assigned_role:
human_gate:
gate_type:
chain_root_id:
wave_id:

説明

親Epic: #10493
先行: #10513

目的

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社比較。

他の形式にエクスポート: Atom PDF