Foreground one personality per role in the composed bundle, statically #302
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agent-compose#302
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Blocked on the personality tier of #262. Filed so it stops living only in a chat thread.
What
Each role's bundle currently applies its three personalities evenly. This adds a static emphasis: one personality per role is foregrounded, with an explicit instruction, while the other two stay active and unchanged.
Why static rather than drawn
This is the agent-compose variant of
coilyco-gaming/sirens-echo#781, which draws one personality uniformly at random per container start. That is correct there and wrong here. Sirens Echo wants a Discord persona that varies between restarts. Agent Compose wants a role that composes the same way every time, because the bundle is digest-bound and the eval board is derived from it. A per-launch draw would make a role's behaviour unreproducible and the digest meaningless.So: same idea, static assignment.
The assignment
Foreground the least-used personality in each role's meld, chosen so the eight emphases are all distinct and maximally separated. After #299 this solves cleanly and every role owns its emphasis uniquely:
All eight at usage 1, minimum OKLab separation 0.1099 against 0.0726 before #299. Before that change, exec and ai owned no unique personality and had to take one already spoken for, which is what motivated #299 in the first place.
Whether the assignment is derived at load like the favorite colours, or declared per role in KDL and validated for distinctness, is an open call. Deriving it keeps it honest against roster edits. Declaring it makes the role file a complete picture of the role, which is the same tension the adjacency comment on #262 records.
Why this is blocked
Foregrounding is a second lever on the same outcome that #296 and #299 already moved. The personality tier of #262 has not run, so the first lever is unmeasured. Adding a second before the first is measured makes any later result unattributable between them.
The right order is: run the personality tier against the current bundles, then add emphasis, then re-run the same tier. That gives a clean before and after on the same 24 cases, which is worth much more than shipping both at once.
Complete when
Prior context
Design settled in a session with Kai on 2026-08-17, in the thread that produced #296, #299, #300, and #301.