feat(aterm)!: follow the roster's creature record #1284

Merged
coilysiren merged 2 commits from aos/claude/tg69 into main 2026-08-26 18:04:26 +00:00
Member

agent-compose landed the reshaped personality identity primitives on main (coilyco-flight-deck/agent-compose#364). This is aterm moving with it.

What changed upstream

emblem.name became an ordered emblem.names list, emblem.glyph and the whole form block are gone, geometry is a flat property, and a prose body on the personality and stance on the role are new.

What this does

  • The card legend, the personality line, and the window title take the emoji where they took the glyph.
  • revealOrder is deleted. It turned form.motion into a per-personality reveal order. Every figure now arrives on plotFigure's own order, and the card still animates over its 400 ms span.
  • doctor checks geometry and body.archetype in place of the fields they replace, so a roster that stops shipping them still degrades loudly rather than quietly.
  • Fixtures are recaptured from the live roster.

The one unrelated bit

Recapturing the fixtures also picks up the solved background from #1280, which had not refreshed them. Two brand tests asserted the local tint by relying on the fixture happening to lack the field, so they now clear it explicitly. Same intent, one line each.

Rollout

An installed agent-compose older than the roster change ships no geometry, so every figure falls back to the plain ink until that binary is released and installed. checkSensoryVocabulary reports it. Verified locally: against the old brew binary both figures render identical blobs, against the new one they render distinctly.

just aterm-test, just aterm-lint, ATERM_LIVE_ROSTER=1 just aterm-contract, and pre-commit run --all-files all pass.

🤖 Generated with Claude Code

agent-compose landed the reshaped personality identity primitives on `main` (coilyco-flight-deck/agent-compose#364). This is aterm moving with it. ## What changed upstream `emblem.name` became an ordered `emblem.names` list, `emblem.glyph` and the whole `form` block are gone, `geometry` is a flat property, and a prose `body` on the personality and `stance` on the role are new. ## What this does * The card legend, the personality line, and the window title take the emoji where they took the glyph. * `revealOrder` is deleted. It turned `form.motion` into a per-personality reveal order. Every figure now arrives on `plotFigure`'s own order, and the card still animates over its 400 ms span. * `doctor` checks `geometry` and `body.archetype` in place of the fields they replace, so a roster that stops shipping them still degrades loudly rather than quietly. * Fixtures are recaptured from the live roster. ## The one unrelated bit Recapturing the fixtures also picks up the solved `background` from #1280, which had not refreshed them. Two brand tests asserted the local tint by relying on the fixture happening to lack the field, so they now clear it explicitly. Same intent, one line each. ## Rollout An installed agent-compose older than the roster change ships no `geometry`, so every figure falls back to the plain `▪` ink until that binary is released and installed. `checkSensoryVocabulary` reports it. Verified locally: against the old brew binary both figures render identical blobs, against the new one they render distinctly. `just aterm-test`, `just aterm-lint`, `ATERM_LIVE_ROSTER=1 just aterm-contract`, and `pre-commit run --all-files` all pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(aterm)!: follow the roster's creature record
Some checks failed
ci / aos-eval-tests (pull_request) Successful in 7s
ci / aos-cli-tests (pull_request) Failing after 38s
ci / gate (pull_request) Successful in 1m3s
ci / ward-doctor (pull_request) Successful in 3m14s
c65cea14d0
agent-compose reshaped the personality identity primitives: `emblem.name`
became an ordered `emblem.names` list, `emblem.glyph` and `form` are gone,
`geometry` is a flat property, and a prose `body` and role `stance` are
new. aterm decodes the overlay whole, so it moves with the roster.

* The card legend, the personality line, and the window title take the
  emoji where they took the glyph.
* `revealOrder` is deleted. It turned `form.motion` into a per-personality
  reveal order, and with motion gone every figure arrives on plotFigure's
  own order. The card still animates over its 400 ms span.
* `doctor` checks `geometry` and `body.archetype` in place of the fields
  they replace, so a roster that stops shipping them still degrades loudly.
* Fixtures are recaptured from the live roster. That also picks up the
  solved `background` from #1280, so the two brand tests that assert the
  local tint now clear the field rather than rely on the fixture lacking it.

An older installed agent-compose ships no `geometry`, so every figure falls
back to the plain ink until the roster binary is released and installed.
`checkSensoryVocabulary` reports it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: devrel
test(aterm): waive the fields the roster retired, until its release catches up
All checks were successful
ci / aos-eval-tests (pull_request) Successful in 8s
ci / ward-doctor (pull_request) Successful in 7s
ci / aos-cli-tests (pull_request) Successful in 29s
ci / gate (pull_request) Successful in 50s
599827fff9
TestLiveOverlayDiscardsNoField diffs the live overlay against the typed
struct leaf by leaf, which catches aterm falling behind a newer roster.
It cannot express the opposite, which this change makes real: an
installed agent-compose older than agent-compose#364 still ships the five
fields aterm just stopped reading, so the test calls them dropped and CI
fails inside dev-base, which carries the released binary rather than main.

The waiver seam already existed and already demanded a reason. Five paths
take one, and everything else still fails as before. The reasoning lives
in agentic-os#1285 rather than docs/aterm.md, because the block is
temporary and that page is at its character cap.

Verified against both: the released v2.54.0 binary and a build of current
agent-compose main pass the same suite.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Agent-Role: devrel
coilysiren deleted branch aos/claude/tg69 2026-08-26 18:04:27 +00:00
Sign in to join this conversation.
No reviewers
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!1284
No description provided.