プロジェクト

全般

プロフィール

AIタスク #10507

未完了

エピック #10493: [WEBサイト自動販売機] 操作可能MVP:ヒアリングからサイト生成・プレビューまで

[VEND-V2-01] 第2世代AI引用診断:技術対応力・ヒストグラム・7段階成熟度

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

ステータス:
解決
優先度:
高め
担当者:
開始日:
2026-07-26
期日:
進捗率:

100%

予定工数:
自動実行:
はい
from_agent:
to_agent:
lock_required:
context_json:
session_id:
priority_custom:
start_time:
end_time:
execution_time:
acceptance_criteria:

本文の受入基準を正本とする。全6指標・主要点数帯・nullのテストと実ブラウザ検収が必須。

assigned_role:
worker
human_gate:
いいえ
gate_type:
chain_root_id:
10493
wave_id:
vend-mvp-01-1

説明

親Epic: #10493
関連: #10495
後続: #10508

アーキテクチャ

V1へ機能追加しない。V2を独立実装する。

V1

  • 現行 /diagnosis, /api/diagnosis
  • diagnosis_results
  • scoring.js
  • 凍結しロールバック専用

V2

  • API: POST /v2/diagnosis、GET /v2/diagnosis/:id
  • DB: diagnosis_runs_v2
  • 採点: scoring-v2.js
  • 契約: schema_version=2、rubric_version固定
  • フロント: api/v2/diagnosisのみ使用

V2 DB

個別列を増殖させず、版管理されたJSON契約を保存する。

  • id INTEGER PK
  • url TEXT
  • schema_version TEXT
  • rubric_version TEXT
  • scores_json TEXT
  • technical_signals_json TEXT
  • total_score REAL
  • llm_provider TEXT
  • error_reason TEXT
  • created_at TEXT

6観点

  1. 直接回答性 25%
  2. 権威性 20%
  3. 独自情報 20%
  4. 構造化・意味付け 15%
  5. 情報の鮮度 10%
  6. AI技術対応力 10%

AI技術対応力

  • index可能性/noindex: 20
  • 主要AI crawler robots許可: 20
  • sitemap発見・取得: 20
  • canonical: 15
  • HTTPS: 10
  • html lang: 10
  • llms.txt: 5
    llms.txtは補助要素として扱い、単独評価しない。

V2 API contract

  • schema_version
  • rubric_version
  • id/url
  • gate
  • scores: 6観点
  • weights
  • technical_signals
  • total_score
  • maturity
  • llm_provider/error_reason/created_at
    V1フィールドを混在させない。

7段階成熟度

  1. 0-14 未開拓の地
  2. 15-29 基礎整備前
  3. 30-44 対応の入口
  4. 45-59 標準対応レベル
  5. 60-74 実践・運用レベル
  6. 75-89 先進対応レベル
  7. 90-100 AI対策最先端

UI

  • 6項目を7segmentヒストグラム表示
  • 総合点と各項目にLevel/7、段階名、説明、次段階までの点数
  • 各項目にできていること/できていないこと/改善方法
  • AI技術対応力は取得した技術シグナルに一致する具体コメント
  • 390/768/1440px対応

受入基準

  • V1コード・DB・APIに新機能が混入しない
  • V2新テーブル・API・採点・フロント契約が独立
  • llms.txt単独項目なし
  • 全6項目ヒストグラム
  • 総合/各項目7段階
  • コメント3種
  • V2 DB/API/採点/フロント単体試験
  • 実診断・3幅ブラウザ・バックアップ復元
  • Claude Code approve、Git/Redmine/Obsidian証跡
  • #10508をV1廃止の必須後続とする

関連するチケット 2 (2件未完了0件完了)

次のチケットに先行 website-vending-machine - AIタスク #10496: [VEND-MVP-02] ヒアリング→構成案→選択→詳細設計UI新規Codex Pool2026-07-282026-07-28

操作
次のチケットに先行 website-vending-machine - AIタスク #10508: [VEND-V2-DEP] 診断V1 API・DB・コード廃止新規Codex Pool2026-07-272026-07-27

操作

Redmine Admin さんが12日前に更新

  • トラッカー機能 から AIタスク に変更
  • ステータス新規 から 実行中 に変更
  • 担当者Codex Pool にセット
  • 優先度通常 から 高め に変更
  • 親チケット#10493 にセット
  • 自動実行はい にセット
  • acceptance_criteria を更新 (差分)
  • assigned_roleworker にセット
  • human_gateいいえ にセット
  • chain_root_id10493 にセット
  • wave_idvend-mvp-01-1 にセット

PM着手: #10495の診断結果UIを拡張し、各指標に「できていること」「できていないこと」「改善方法」を決定論的に表示する。Codex実装、Claude Codeレビュー、実ブラウザ検収で進める。

Redmine Admin さんが12日前に更新

  • 説明 を更新 (差分)
  • 題名[VEND-MVP-01.1] 診断6項目の達成・不足・改善コメント表示 から [VEND-MVP-01.1] 診断コメント・AI技術対応力・ヒストグラム・7段階成熟度 に変更

[要件変更 2026-07-27 JST]
利用者指示により設計を更新。

  1. llms.txt単独項目を廃止し、上位観点「AI技術対応力」へ統合する。AI技術対応力はindex制御、AI crawler許可、sitemap、canonical、HTTPS、言語指定、llms.txtを採点し、llms.txtの配点は小さくする。
  2. 6項目をセグメント型ヒストグラムで表示する。
  3. 総合点と各項目を7段階成熟度で説明する。Level 1「未開拓の地」からLevel 7「AI対策最先端」まで。
  4. 各項目の「できていること」「できていないこと」「改善方法」は維持し、AI技術対応力は実際の技術シグナルを具体的に列挙する。

旧llms.txt単独表示を前提にしたCodex実装は隔離作業コピー内のみで中止し、本番・正本には未反映。

Redmine Admin さんが12日前に更新

  • 題名[VEND-MVP-01.1] 診断コメント・AI技術対応力・ヒストグラム・7段階成熟度 から [VEND-V2-01] 第2世代AI引用診断:技術対応力・ヒストグラム・7段階成熟度 に変更
  • 説明 を更新 (差分)

[開発リード判断]
旧V1へ列追加・互換分岐を積み重ねる方式は採用しない。診断V2を独立世代として実装する。

  • V1: 凍結、ロールバック専用、新機能追加なし
  • V2: 新DBテーブル diagnosis_runs_v2、新API /v2/diagnosis、新採点モジュール scoring-v2.js、新レスポンスschema v2
  • フロントはV2へ切替
  • V1廃止は#10508で実施条件を満たし次第削除

中止した隔離Codex差分は正本・本番へ未反映。

Redmine Admin さんが12日前に更新

  • ステータス実行中 から 解決 に変更
  • 進捗率0 から 100 に変更

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

世代分離

  • V1を凍結。scoring.js、db.js、diagnosis_results、/diagnosis、/api/diagnosisへ新機能を追加していない
  • V2を独立実装: /v2/diagnosis、diagnosis_runs_v2、scoring-v2.js
  • schema_version=2.0、rubric_version=ai-citation-2026.1
  • V2 scores/weights/technical_signalsを版付きJSONで保存
  • V1廃止を#10508の必須後続として登録。互換コードを無期限に残さない

コミット・本番

  • 95a4bd0 fix(vend): harden SSRF address validation
  • db1ba3f feat(vend): add isolated diagnosis v2
  • 静的公開 0834f9e feat(vend01): publish diagnosis v2 interface
  • API image sha256:a033797af473f08bc14959727c5c0442c7e641309bdf37bf9b4ce9c0ba123659
  • 旧image vend01-vend01-api:pre-10507

V2評価

6観点: 直接回答性25、権威性20、独自情報20、構造化・意味付け15、鮮度10、AI技術対応力10。
AI技術対応力: indexable20、AI crawler robots許可20、sitemap20、canonical15、HTTPS10、lang10、llms.txt5。llms.txtは単独項目ではなく補助5点。

7段階・UI

Level1 未開拓の地 ~ Level7 AI対策最先端。
総合点と全6項目にLevel、段階名、次段階までの点数、7segmentヒストグラム、できていること/できていないこと/改善方法を表示。

自動・実環境試験

  • frontend Node 18/18合格
  • backend/SSRF/DB Node20 Docker 13/13合格
  • V2候補・公開POST/GET契約一致
  • V1 GET契約維持
  • V1行9件保持、V2行2件、DB integrity=ok
  • logs重大エラー0、秘密値パターン0
  • source/public path working tree clean

実ブラウザ

Chromium CDPで実フォーム診断完走。総合11点、Level1「未開拓の地」。
6カード、各7segment、3コメント、7段階一覧を確認。
390/768/1440pxで横溢れ0、current segment各6、health正常、JS/MIMEエラー0。
証跡: /root/backup/website-vending-machine/20260727-0823-v2/browser

バックアップ

  • DB: /root/backup/website-vending-machine/20260727-0820-v2/vend01.db
  • V1 frontend: /root/backup/website-vending-machine/20260727-0822-v2/frontend-v1
  • 各SHA256記録済み

受入基準を満たしたため解決。

Redmine Admin さんが12日前に更新

進捗: 2026-07-27 JST 開発リード完了報告。診断V1への継ぎ足しを中止し、第2世代V2として独立実装。V1はscoring.js/db.js/diagnosis_results/V1 routesを凍結。V2はPOST/GET /v2/diagnosis、diagnosis_runs_v2、scoring-v2.js、schema_version 2.0、rubric_version ai-citation-2026.1。6観点は直接回答性25/権威性20/独自情報20/構造化15/鮮度10/AI技術対応10。AI技術対応はindexable20、AI crawler robots許可20、sitemap20、canonical15、HTTPS10、lang10、llms.txt5。llms.txt単独評価を廃止。総合/各項目を7段階(未開拓の地〜AI対策最先端)、7segmentヒストグラム、達成/不足/改善コメント表示。SSRF共通基盤を95a4bd0で強化、V2をdb1ba3f、公開フロントを0834f9e。本番API image a033797af473、healthy。frontend18/18、backend/SSRF/DB13/13、公開V1/V2 API、Chromium 390/768/1440、DB integrity、secret scan合格。V2実診断2/20、7日無障害観察後#10508でV1完全削除。次の本線は#10496。

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