aterm: overlayPersonality decodes 3 of 11 shipped fields and one of the 3 is dead #1251

Closed
opened 2026-08-26 02:48:45 +00:00 by coilyco-ops · 1 comment
Member

Part of #1245. Do this one first: it is a precondition for the identity card, the launch motion, and the sound mark, and it changes no behavior on its own.

agent-compose overlay --json ships a complete sensory identity per personality. aterm/overlay.go declares:

type overlayPersonality struct {
	Name   string        `json:"name"`
	Color  string        `json:"color"`
	Emblem overlayEmblem `json:"emblem"`
}
type overlayEmblem struct {
	Glyph string `json:"glyph"`
}

Measured against the live agent-compose v2.47.0:

leaf fields shipped in one overlay   38
of which personality sensory spec    24
sensory fields aterm reads            1   (emblem.glyph)

Color is declared and never referenced anywhere in the package. emblem.name, emblem.emoji, motif, the whole form{silhouette,geometry,motion} object, and the whole sound_mark{timbre,contour,pulse} object are decoded into nothing. overlaySeat likewise drops key and tier, and the document drops purpose.

What to do

Declare the full contract. Drop Color or use it. Nothing else changes yet.

Why it matters beyond tidiness

The vocabulary is fully distinct across all 10 personalities: 10 timbres, 10 contours, 10 pulses, 9 motions. That is a designed cross-modal identity system, and exactly one modality of it was ever built.

Part of #1245. Do this one first: it is a precondition for the identity card, the launch motion, and the sound mark, and it changes no behavior on its own. `agent-compose overlay --json` ships a complete sensory identity per personality. `aterm/overlay.go` declares: ```go type overlayPersonality struct { Name string `json:"name"` Color string `json:"color"` Emblem overlayEmblem `json:"emblem"` } type overlayEmblem struct { Glyph string `json:"glyph"` } ``` Measured against the live `agent-compose v2.47.0`: ``` leaf fields shipped in one overlay 38 of which personality sensory spec 24 sensory fields aterm reads 1 (emblem.glyph) ``` `Color` is declared and never referenced anywhere in the package. `emblem.name`, `emblem.emoji`, `motif`, the whole `form{silhouette,geometry,motion}` object, and the whole `sound_mark{timbre,contour,pulse}` object are decoded into nothing. `overlaySeat` likewise drops `key` and `tier`, and the document drops `purpose`. ## What to do Declare the full contract. Drop `Color` or use it. Nothing else changes yet. ## Why it matters beyond tidiness The vocabulary is fully distinct across all 10 personalities: 10 timbres, 10 contours, 10 pulses, 9 motions. That is a designed cross-modal identity system, and exactly one modality of it was ever built.
Author
Member

Re-verified 2026-08-25 against live agent-compose v2.54.0, seven minor versions past the v2.47.0 this was measured on. The finding is unchanged and the field list is still exact.

aterm/overlay.go on main at d24e5d5a still declares overlayPersonality{Name, Color, Emblem{Glyph}}, and grep '\.Color' aterm/*.go outside lipgloss returns nothing, so Color is still dead.

Live overlay for platform/claude, leaf fields per personality:

read      name, emblem.glyph
declared  color                        (never referenced)
dropped   motif
          emblem.name, emblem.emoji
          form.silhouette, form.geometry, form.motion
          sound_mark.timbre, sound_mark.contour, sound_mark.pulse

Document level, also still dropped: purpose, seat.key, seat.tier.

No new personality field appeared between v2.47.0 and v2.54.0, so the widening job is the same size it was when this was filed.

Re-verified 2026-08-25 against live `agent-compose v2.54.0`, seven minor versions past the v2.47.0 this was measured on. **The finding is unchanged and the field list is still exact.** `aterm/overlay.go` on `main` at `d24e5d5a` still declares `overlayPersonality{Name, Color, Emblem{Glyph}}`, and `grep '\.Color' aterm/*.go` outside lipgloss returns nothing, so `Color` is still dead. Live overlay for `platform/claude`, leaf fields per personality: ``` read name, emblem.glyph declared color (never referenced) dropped motif emblem.name, emblem.emoji form.silhouette, form.geometry, form.motion sound_mark.timbre, sound_mark.contour, sound_mark.pulse ``` Document level, also still dropped: `purpose`, `seat.key`, `seat.tier`. No new personality field appeared between v2.47.0 and v2.54.0, so the widening job is the same size it was when this was filed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#1251
No description provided.