Personas deterministically and procedurally generate a avatar #31
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#31
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?
Then the pet becomes the entity that is doing the work
I say "pet" but it probably shouldn't be a ... kitten.
See: the vtuber pet stuff in aos / website. That should be used for inspo. But don't pull the ... fact that it would be a wharthog. Also the visuals were ATROCIOUS.
100% there are libraries for this but maybe only partially and almost certain they were written in the agentic era
clarification from codex...
Issue #31 contains the most important unresolved decision.
If the creature becomes the thing doing the work, then Opal should not be a person who owns a differently named creature. The creature is Opal.
Otherwise you end up with two identities:
Opal the agent
└── Biscuit the mascot that appears to perform Opal's work
That will become confusing as soon as someone chats with it, watches it complete a task, or visits its website.
Internally, I would use:
form for the canonical identity concept,
sprite for a 2D renderer,
avatar when referring to its representation in a particular interface.
“Pet” remains useful as the aesthetic reference, but not as the domain model.
This also avoids deciding whether the creature is a kitten, warthog, robot, monster, or something else. It is simply an agent form generated from the persona.
Personas deterministically but procedurally generate a petto Personas deterministically but procedurally generate a avatarPersonas deterministically but procedurally generate a avatarto Personas deterministically and procedurally generate a avatarmore from codex...
Color, emblem, and texture cannot generate a distinctive creature by themselves. The missing layer is morphology.
Not generic trait sliders such as:
roundness: 0.7
symmetry: 0.4
limbs: 6
That would conflict with the deliberately curated personality catalog and the existing decision not to turn this into a generic personality framework.
Instead, each personality gets a small authored visual grammar:
Curious
Exploratory silhouette, outward-reaching features, one element visibly oriented away from the body, shapes suggesting apertures or sensors.
Grounded
Low center of gravity, broad contact with the ground, visually stable mass, few unsupported projections.
Meticulous
Repeated structures, controlled symmetry, clean segmentation, small deliberate details.
Warm
Enclosing shapes, soft intersections, visible interior space, forms that appear comfortable to approach.
Quirky
Coherent underlying structure with exactly one conspicuous violation of its own visual rule.
The generator interprets this grammar. It does not derive the personality from numeric dimensions.
This becomes a fourth personality visual primitive:
color
emblem
texture
shape language
It is probably the most necessary new issue because it unlocks the procedural form generator.
yet more...
The mobile app needs more than a neutral portrait. The creature is meant to appear to be doing the work, but the visual system should not invent arbitrary emotional states.
Define a small semantic expression set shared by every persona:
available
listening
thinking
acting
waiting-for-human
blocked
completed
failed
offline
Each personality expresses the same state differently.
For example, waiting-for-human might be:
Curious: examining a sealed object from several angles.
Grounded: sitting beside it patiently.
Meticulous: holding it in a clearly labeled queue.
Energetic: visibly poised to continue.
Protective: keeping the unfinished work sheltered.
The meaning remains fixed. Only the presentation changes.
This has several advantages:
Headless agents can express identity without adding unnecessary textual chatter.
Mobile notifications can show recognizable state at a glance.
Public pages can show curated activity without pretending the agent has human emotions.
Runtime state remains separate from personality color.
codex is really running with this one...
The generated website does not need to be a conventional profile card.
Each form can inhabit a small deterministic environment whose composition comes from multiple axes:
personality supplies material, texture, and visual atmosphere;
role supplies the kind of work objects present;
seat supplies the persistent arrangement;
runtime state determines what is currently happening;
work history adds accumulated objects.
Examples:
A meticulous engineer’s space might contain orderly interlocking components.
A playful social agent might work among pinned fragments and expressive shapes.
A grounded ops agent might inhabit a compact structure with visible supports and conduits.
This is not the agent’s “favorite place.” It is a visual projection of the composed identity.
The individual website becomes the agent’s room. The mobile conversation opens at its workbench. Both consume the same identity source without either surface living inside agent-compose, consistent with your issue boundaries.
Once every agent has a form and habitat, the natural company-level surface is not a directory. It is a shared visual world.
A private mobile home screen could show:
who is active,
who is waiting for Kai,
who is working together,
who recently completed something,
and who can be opened for conversation.
A public version on your website could show:
the roster,
identities and roles,
selected public work,
and static or delayed activity.
This gives the entire synthetic company a coherent visual metaphor:
The company is a terrarium of persistent software entities doing visible work.
It should not replace real observability. Tapping a creature representing a deployment failure should still lead to the underlying run, issue, logs, or trace. The terrarium is the human-facing projection, not the source of truth.
This may be the strongest downstream derivative of the ideas you retained.