2026-05-19 に digitaldemocracy2030/kouchou-ai の PR #825 と current origin/main@55e93e1 を確認した観測メモ。GitHub 上の merge metadata、analysis-core 側の current 実装、apps/api / public-viewer / storage sync の現行経路を突き合わせた。github-dev-docsより source-codeより
Observations
- GitHub 上の
PR #825はstate: merged、mergedAt: 2026-05-18T14:11:55Z、merge commit は11b2ec55b219d6169f50252a910aac21da33e594 - 差分の中心は
packages/analysis-core/src/analysis_core/steps/hierarchical_visualization.pyで、hierarchical_result.jsonから単一ファイルのreport.htmlを生成する pure-Python 実装が入っている - current
origin/main@55e93e1のpackages/analysis-core/src/analysis_core/__main__.pyでは--without-htmlがdefault=Falseになっており、CLI の既定動作は HTML 生成へ変わっている - current
docs/user-guide/cli-quickstart.mdも、「report.htmlは自己完結型」「file://でも動く」「HTML を出したくない時だけ--without-html」という説明へ更新済み - 一方、current
apps/api/src/services/report_launcher.pyはlaunch_report_generation()とlaunch_report_generation_from_config()の両方でpython -m analysis_core ... --without-htmlを固定で付けている - current
apps/api/src/routers/report.pyが public に返すのはhierarchical_result.jsonであり、apps/public-viewer/app/[slug]/page.tsxも/reports/{slug}を fetch して React UI で描画する。つまり Web の主経路は JSON + public-viewer であってreport.htmlではない - current
apps/api/src/services/report_sync.pyのPRESERVED_REPORT_FILESにreport.htmlは入っていないため、生成しても storage sync 後に保持対象にならない - したがって
PR #825の位置づけは、CLI / 手動実行 / coding agent 直実行向けの観察用HTML出力が main に入った であって、Web 配信経路が HTML へ移行した ではない
Open Questions
- standalone
report.htmlを storage に残して配信対象にしたいユースケースが本当にあるか report.htmlを残すなら、public-viewer と二重の表示経路を持つ設計をどう説明するか
Updates
- 2026-05-19: 初版作成
- 2026-05-19:
public-viewer/ API router / report sync を確認し、report.htmlは Web の主経路ではなく CLI 向け観察用HTMLだと補足