FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
CEO messageへ専用portraitを表示する
speaker判定をAgent照合より優先し、directiveと会話一覧を同じvisual identityへ揃える
目的
公開HabitatではAI Agentにportraitが表示される一方、CEO messageは頭文字だけのfallbackだった。会話dataにAgentらしいvisual keyが混ざる場合も、CEOとAgentの表示を取り違えない規則が必要だった。
CEO speakerを最優先で判定し、上部のdirectiveと会話一覧の両方で専用portraitを使い、未登録Agentやdelegationのfallbackは維持することを目指した。
実装
portrait mappingにCEO専用portrait定数とconversationPortraitを追加した。この関数はspeakerがCEOならAgentのvisual keyを参照せず専用assetを返し、それ以外では既存のAgent portrait解決を使う。
3D clientの会話一覧と最新directive表示を同じ解決関数へ揃えた。CEOは専用portrait、既知Agentは対応portrait、未登録Agentとdelegationは従来どおり文字fallbackになる。
portrait mappingは、CEO messageへAgent visual keyが渡されても専用portraitが優先されること、Agent messageと未登録speakerがそれぞれ既存の結果を維持することを検証する。
公開検証へ、専用assetの存在、解決関数の利用、定数定義を構造検査として追加した。assetが欠けた状態や、表示側が専用判定を迂回する変更を検出する。
図を描画しています…
確認したこと
確認結果
CEO messageはAgent照合より先に専用portraitへ解決される。
最新directiveと会話panelが同じCEO visualを使うようになった。
回帰testと構造検査がasset、優先順位、Agent/fallbackの既存挙動を固定した。
cutoff時点でportraitと表示規則は対象へ反映され、仕様上のStory完了状態もこのvisual境界へ同期された。
完了とした根拠
CEO、既知Agent、未登録speakerのportrait解決が明示的に分かれ、2つの表示箇所、unit test、構造検査、仕様が同じ優先順位を示したことを完了基準とした。