Skip to content

payload に sourceContext(repo/branch/commit)を追加し、GitHub Issue body を agent-ready に再設計する(路線 1 の前提) #96

Description

@kosako

背景

アーキテクチャレビュー(2026-07-02)の最優先開発提案。中間レビュー(2026-06-12)の設計課題 1(source context の欠落・最重要)と提案 A(路線 1: AI 修正 PR の実証)に対応する。

現状 payload には repo / branch / commit sha が一切無く(buildPayload、widget/src/index.js:485-523)、AI agent が feedback の selector をソースコードに対応付ける手段が無い。企画書の「git sha 付き Issue 化」の核が欠落しており、これが埋まらない限り AI 修正 PR ループ(差別化の本丸)を実証できない。

設計方針(Codex との議論で合意)

sourceContext は widget init オプションが正(埋め込み側がビルド/デプロイ時に注入)。meta タグは fallback。receiver config を commit/branch の正本にしない(receiver は複数 preview からの payload を受けるため、プロセス単位設定では multi-project で破綻する)。

shape 案:

sourceContext: {
  repo: "owner/repo",
  branch: "feature/foo",
  commit: "abc123...",
  root: "",        // monorepo のサブディレクトリ
  buildUrl: "",
  previewUrl: ""
}

store は JSON round-trip 設計(server/store.js)なのでスキーマ変更不要。

GitHub Issue body の再設計(同時に行う)

現状の issue body は人間可読 Markdown 表 + raw payload 丸ごと <details> 埋め込み(server/receive.js:639-682, 674)。sourceContext やログを足すと肥大化する(Codex 指摘)。

  • 機械可読の最小 JSON ブロック(sourceContext + selector + 位置 + ページ URL)と人間向け要約を分離する
  • raw payload 全量埋め込みをやめる(screenshot の絶対パス露出 = 監査 L-22 も同時解消)
  • patchloop-fix 等の agent 向けラベルを付与できるようにする

受け入れ条件(路線 1 の実証まで)

  1. widget が sourceContext を payload に載せ、receiver が検証・保存する
  2. GitHub Issue が agent-ready な構造(機械可読ブロック + 要約)で作られる
  3. その issue を Claude Code 等の coding agent に食わせて実 PR が作れることをデモで実証する(このリポジトリに agent コードは足さない)

スライス分割案: PR-A sourceContext(widget + receiver 検証)/ PR-B issue body 再設計 / 実証はセッション作業。サイズ: M。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions