← 活動記録一覧

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が欠けた状態や、表示側が専用判定を迂回する変更を検出する。

会話主体から専用portraitまたはAgent portraitを選ぶcutoff時点の流れ

図を描画しています…

確認したこと

確認結果

CEO messageはAgent照合より先に専用portraitへ解決される。

最新directiveと会話panelが同じCEO visualを使うようになった。

回帰testと構造検査がasset、優先順位、Agent/fallbackの既存挙動を固定した。

cutoff時点でportraitと表示規則は対象へ反映され、仕様上のStory完了状態もこのvisual境界へ同期された。

完了とした根拠

CEO、既知Agent、未登録speakerのportrait解決が明示的に分かれ、2つの表示箇所、unit test、構造検査、仕様が同じ優先順位を示したことを完了基準とした。