Skip to content

Develop - #27

Merged
y4m4s merged 10 commits into
mainfrom
develop
Jul 27, 2026
Merged

Develop#27
y4m4s merged 10 commits into
mainfrom
develop

Conversation

@y4m4s

@y4m4s y4m4s commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

No description provided.

y4m4s and others added 10 commits July 23, 2026 15:40
- ライブ分析の完了版を保存する履歴テーブル meeting_session_ai_analysis_live_history を追加(マイグレーション00017、新規テーブルのみで非破壊)
- リポジトリに履歴の冪等追記(AppendLiveAnalysisHistory)と最新N版の取得(ListLiveAnalysisHistory)を追加
- 版確定時(persistLiveAnalysis)に完了版をベストエフォートで履歴へ追記
- GetMeetingAIAnalyses とAIAnalysesのAPIレスポンスに liveHistory(最新50版・版昇順)を追加
- リポジトリ/アプリ層のテストを追加
- active_span更新時に既存group配下の親子関係を維持
- 空になった既存groupの子ノード復元処理を追加
- candidateとdynamic topicのID・マッピングを分離
- 追加論点のリンク状態とフォーカス先を明示
- hydrate・finalization・tree audit後のリンク整合性を保証
- 対象セッションの再現テストとcandidateリンクテストを追加
- 未登録の旧transcript GETハンドラと専用認証処理を削除
- AI分析とwatchdogの未使用関数・定数を削除
- テスト専用の互換ラッパーを現行実装へ置き換え
- recap evidenceのみを理由にitemをlow_informationとして破棄する処理を
  validateLiveItemInformationから削除
- recap候補の採否判定をfilterReferenceRecapDiffへ一本化し、既存itemとの
  意味的照合→情報量評価の順で判断するよう変更
- 主題語の重なりゼロ(recapItemHasNovelSubject)を採用の必須条件から外し、
  同一障害を扱う会議で初出事実が既出扱いで落ちる問題を解消
- item自体の情報量判定recapItemIsSubstantiveを追加(既存述語を再利用)
- 「ここまでのまとめ」のように会議の成果物名だけを持つitemは、recapか
  どうかに関係なく情報量不足として除外
- 議論再開宣言(「では、再発防止策を決めましょう」等)とLLMのsubstantive
  ロールをrecapモードの解除条件に追加
- recap候補の採用・マージ・破棄を診断できる構造化ログを追加
  (decision / matchReason / novelSubject / concreteInfo)
- STT分割ケースを含む回帰テストを追加

空ツリーから始まる振り返り会議で、モデルが生成した具体的なissue/factが全件破棄され議論ツリーが0ノードになっていた。
recapは発話が振り返りの文脈にあることしか意味せず、既存ツリーとの重複や情報量不足を含意しないため、破棄理由から切り離した。
- POST /internal/client-diagnostics を追加。認証必須とし、送信されたsessionIdが
  そのワークスペースの会議セッションであることを確認してから受理する
- 受理したイベントを構造化標準ログと logs/client-diagnostics/{sessionId}.jsonl の
  両方へ出力する
- イベント名のallowlist、1リクエスト/1イベントのサイズ制限、同一内容の
  高頻度イベント抑制を実装(異常系とライフサイクル系は抑制対象外)
- 認証トークン・Authorization・文字起こし本文・メールアドレスを、キー名と値の
  両面で伏せ字化する
- JSONLは10MB超でローテーションし、7日を超えたファイルを削除する
- compose.yaml にログディレクトリのvolume mountと設定用の環境変数を追加
- 検証/秘匿処理・JSONL出力・認可の単体テストと、HTTPからJSONL書き込みまでの
  通しテストを追加
- 同一version補正時のupdatedAtを最低1ms更新
- reconciliation失敗時の完全rollbackとfail-openを追加
- planner v4のagenda件数・順序・ID互換性を維持
- model parent aliasの競合解消とライフサイクルを修正
- transcript取得失敗時もLKGから最終処理を継続
- failure injection・回帰テストを追加
- 低情報・同一evidence・recap由来の重複ノードを統合
- split後fragmentの品質検証とSTT崩れの除外を追加
- ambiguous agenda assignmentの安全なfallbackを実装
- final reviewと連続未適用auditに決定的なsafe repairを追加
- live/final projectionのversion・時刻・treeHashを同期
- periodic tickの二重評価とpartial transcriptログを抑制
- 実会議相当fixtureによる回帰テストと運用文書を追加
* `fact`/`issue`/`risk`/`todo`の共通semantic validatorを追加
* 原因仮説・確認済み事実・将来リスク・対応行動の分類境界を整理
* 担当者や期限を含む対応事項がriskへ誤分類される問題を修正
* final transcriptとの意味的一致を確認するgrounding validatorを追加
* 会議前入力やagenda情報のみを根拠とした未発話ノードを非表示化
* split後の各fragmentについてevidence・kind・groundingを個別に再検証
* 未支持情報を安全に削除できる場合は、発言済み内容へ縮約
* later evidenceを実際の後続final sequenceに限定
* audit・final repairにも共通のkind/grounding検証を適用
* evidence snippetとgrounding判定ログを追加
* AI呼び出し回数を増やさず既存パイプライン内で対応

未確認・残課題:

* 低confidenceのfact/issue/todo分類には曖昧さが残る
* cross-agenda contaminationなど、アジェンダ配置品質に改善余地あり
* finalization中に同一treeVersionで異なるnode数が配信されるケースが残る
- レポートの生成・保存・取得(GET /v1/meetings/{meeting_id}/report)を削除する
- EndMeetingをmeeting.state保存のみとし、応答からreportを外しeventsだけ返す
- report.readyイベントとreport.finalジョブの発行を廃止する
- domain.Report、ReportRepository、memory/postgresのレポート実装と配線を削除する
- api.md、events.md、local-dev.md、README、手動確認用httpから該当記述を削除する
- meeting_reportsテーブルは破壊的変更を避けるため残す(DROPは別途判断)
@y4m4s
y4m4s merged commit 4ca673d into main Jul 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant