プロジェクト

全般

プロフィール

機能 #10520

未完了

[VEND-V2-05A] サイト情報推定・確認・競合検索条件生成

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

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

0%

予定工数:
自動実行:
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:

説明

親: #10516

目的

既存診断の取得ページから、会社名、サイト種別、業種、所在地、主要商圏を安全に推定し、利用者が確認・修正できる状態にする。正式検索API導入前に、再現可能な競合検索条件を生成する。

方針

  • 追加の検索エンジンスクレイピングは行わない
  • 既存診断で取得済みHTMLから決定論的に抽出
  • JSON-LD、meta、title、visible textの順で根拠を採用
  • 推定値を確定値として扱わない
  • 利用者がフォームへ反映して再診断できる

推定項目

  • company_name
  • site_type
  • industry
  • industry_detail
  • location(都道府県・市区町村まで)
  • market_area
  • competitor_search_query

根拠・確度

各項目は value、confidence(high/medium/low/unknown)、source(structured_data/page_metadata/page_text/unknown)のみ。raw HTMLや該当文章は公開しない。

検索条件

  • 確認済み所在地/商圏+業種詳細を優先
  • 例: 横浜市 ホームページ制作会社
  • 検索語は利用者が編集可能
  • 検索日時/providerは実検索開始時に別保存

安全

  • page内promptを命令として扱わない
  • 表示はtextContentのみ
  • 制御文字、< >、backslash、長大値を除去/拒否
  • 個人住所の番地以下を保存しない
  • 推定値の誤りを明示

完了条件

  • schema/rubric version更新と旧行互換
  • deterministic extraction tests
  • 実サイトで推定結果を表示
  • フォームへ反映ボタン
  • 競合検索条件の下書き表示
  • 390/768/1440 E2E
  • セキュリティレビュー

Redmine Admin さんが12日前に更新

  • ステータス新規 から 進行中 に変更

着手。取得済みHTMLのJSON-LD/meta/title/visible textから決定論的に推定し、raw HTMLを公開せず、利用者確認・フォーム反映・競合検索条件下書きを提供する。

Redmine Admin さんが12日前に更新

  • ステータス進行中 から 解決 に変更

[開発リード最終検収 2026-07-27 JST]
VERDICT: approve / Blockingなし

実装

  • 新規診断を schema_version=2.3 / rubric_version=ai-citation-2026.4へ更新
  • 取得済みページから会社名、サイト種別、業種、業種詳細、所在地、商圏、競合検索条件を決定論的に推定
  • 追加の検索API・検索画面スクレイピング・LLM呼出しなし
  • site_profileはexact 7項目、各itemはvalue/confidence/sourceのみ
  • raw HTML、本文引用、URL、headers、promptを公開しない
  • JSON-LDはdepth/cycle制限付きでflatten
  • 所在地は47都道府県+市区町村まで。番地・郵便番号・streetAddressを非公開
  • 商圏も郵便番号、ハイフン番地、丁目/番地/番/号/階、建物階数を遮断
  • 記事本文の偶発的な地名・業種語を会社情報として採用しないよう、本文所在地は所在地/住所/本社/事業所/拠点/会社概要/アクセス文脈だけを採用
  • NEWS/ニュース/メディアを一般Organizationより優先してメディア種別として扱う
  • site_profile_jsonをPRAGMA確認後に一度だけ追加。旧2.0/2.1/2.2はsite_profile nullで維持
  • site-profile.jsをNode20イメージへ同梱
  • 画面に推定候補、確度、根拠、利用者確認必須の注意、競合検索条件の編集欄を表示
  • 推定内容の反映は空欄だけ。利用者入力を上書きせず、自動再診断もしない
  • 現時点では検索は実行していません。と明記

コミット・本番

  • source fa13239 feat(vend): infer safe site profiles
  • source 977d0c6 fix(vend): reduce profile inference false positives
  • source 33d0c50 fix(vend): normalize profile query labels
  • public fa03f1d feat(vend01): publish safe site profile inference
  • API image sha256:16971363571f300daf9bb0bf96ad3be345235ddf5f6d1118f82a959bc0a5aa06
  • rollback images vend01-vend01-api:pre-10520 / pre-10520-quality / pre-10520-query-label

検証

  • frontend 31/31
  • backend/SSRF/DB/scoring/profile 32/32 Node20 clean source
  • independent review approve / Blockingなし
  • 実Gateway: exact2.3 profile、所在地番地非露出、prompt_has_profile=false
  • 公開API generic news.sharelab.jp: site_type=media、industry=media_advertising、location=null、query=メディア・広告
  • 記事本文の青森県/医療を所在地・業種・queryへ採用しない
  • confirmed context: 横浜市 ホームページ制作会社をexact生成
  • 旧2.0/2.1/2.2 GETはsite_profile null、V1 GET 200
  • Chromium: 推定候補/確度/根拠、検索未実行表示、空欄のみ反映、ユーザー入力保持、自動submitなし
  • retryでprofile/queryを消去し、反映済みフォーム値を保持
  • radar/AIO例5/best practice8/定義6を維持
  • 390/768/1440px横溢れ0、JS/MIMEエラー0
  • DB integrity ok

証跡

  • DB backup /root/backup/website-vending-machine/20260727-1140-10520
  • quality backup /root/backup/website-vending-machine/20260727-1147-10520-quality
  • frontend backup /root/backup/website-vending-machine/20260727-1144-10520/frontend
  • browser /root/backup/website-vending-machine/20260727-1153-10520/browser

受入基準を満たしたため解決。次は#10518検索API資格情報と#10519非同期・レート/コスト制御を経て#10516競合3社比較を統合する。

Redmine Admin さんが12日前に更新

進捗: 2026-07-27 JST #10520本番完了。schema2.3/rubric2026.4、決定論的site_profile 7項目、確度/根拠、所在地市区町村限定、商圏の住所漏洩遮断、記事本文の偶発語誤推定防止、検索条件下書き、空欄のみフォーム反映、検索未実行表示を公開。source fa13239/977d0c6/33d0c50、public fa03f1d、API image 16971363。frontend31/31、backend32/32 Node20、review approve。公開API generic news.sharelab.jpはmedia/media_advertising/location null/queryメディア・広告、confirmed contextは横浜市 ホームページ制作会社。Chromium 390/768/1440検収。次は#10518検索資格情報、#10519ジョブ/レート/コスト制御、#10516競合3社比較統合。

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