Documentation
¶
Overview ¶
Package overlay projects the canonical person model into a compact, caller-stateful identity surface.
Index ¶
Constants ¶
View Source
const ( Format = "agent-compose.overlay.v1" SchemaVersion = 1 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Document ¶
type Document struct {
Format string `json:"format"`
SchemaVersion int `json:"schema_version"`
Person string `json:"person"`
Role string `json:"role"`
RoleDisplayName string `json:"role_display_name"`
Purpose string `json:"purpose"`
// Stance is the role's posture, not a personality's. See docs/identity.md.
Stance string `json:"stance,omitempty"`
Seat person.Seat `json:"seat"`
// Annotation is the composed identity string a renderer shows verbatim,
// `Moss-Toad (Engineer)`.
Annotation string `json:"annotation"`
// Identity is the four-part sentence a seat answers "who are you" with.
// Seat-resolved, so it lives here rather than on the card (#396).
Identity string `json:"identity,omitempty"`
// A field rather than only prose, because a consumer parsed Identity for
// it (#7362). Derived from the meld, with no element segment (#7485).
Creature string `json:"creature,omitempty"`
// A renderer that draws a role with no roster entry gets the carried
// object from here, so it is projected rather than left to a roster.
Carried *person.Carried `json:"carried,omitempty"`
// Outro carries voice at the close, so a hold banner is not invented.
Outro *person.Outro `json:"outro,omitempty"`
Expression string `json:"expression"`
FavoriteColor string `json:"favorite_color"`
// Background is solved across the whole roster, so a renderer that tints
// its own cannot tell two roles apart. See internal/palette/role-palette.txt.
Background string `json:"background"`
Personalities []Personality `json:"personalities"`
}
Click to show internal directories.
Click to hide internal directories.