← All activity records

FACTUAL ACTIVITY RECORD · An activity record based on work that took place

Displaying a dedicated portrait for CEO messages

Prioritizing speaker identity over Agent matching across directives and conversation lists

Activity period:

Purpose

The public Habitat displayed portraits for AI Agents while CEO messages used only an initial fallback. A rule was also needed to prevent CEO and Agent presentation from being confused when conversation data carried an Agent-like visual key.

The goal was to prioritize CEO speaker identity, use a dedicated portrait in both the top directive and conversation list, and preserve fallbacks for unregistered Agents and delegations.

Implementation

portrait mapping gained a dedicated CEO portrait constant and conversationPortrait. When the speaker is the CEO, the function returns the dedicated asset without consulting an Agent visual key; other speakers continue through existing Agent portrait resolution.

The conversation list and latest-directive display in 3D client now use the same resolution rule. The CEO receives the dedicated portrait, known Agents receive their mapped portraits, and unregistered Agents and delegations retain text fallbacks.

portrait mapping verifies that the dedicated portrait wins even when a CEO message carries an Agent visual key, while Agent messages and unregistered speakers preserve their existing results.

public-web verification now checks the dedicated asset, use of the resolver, and constant definition. It detects a missing asset or a display change that bypasses the dedicated speaker rule.

The cutoff flow for choosing a dedicated or Agent portrait from the speaker

Rendering diagram…

What was confirmed

Verification results

CEO messages resolve to the dedicated portrait before any Agent match.

The latest directive and conversation panel now use the same CEO visual.

Regression tests and structural checks fix the asset, priority, and existing Agent and fallback behavior.

At the cutoff, the portrait and display rules were applied to the target, and the specification's Story-completion state was synchronized with this visual boundary.

Basis for completion

The work was complete when portrait resolution explicitly separated the CEO, known Agents, and unregistered speakers, with both display locations, unit tests, structural checks, and the specification expressing the same priority.