Drop the retired-field waivers from the aterm live contract test once the released roster drops them #1285

Open
opened 2026-08-26 10:35:59 +00:00 by coilyco-ops · 0 comments
Member

Follow-up to agentic-os#1284, which is aterm following the reshaped personality record in coilyco-flight-deck/agent-compose#364.

What was deferred

TestLiveOverlayDiscardsNoField in aterm/contract_test.go diffs the live overlay against aterm's typed struct leaf by leaf, so a field the roster ships and aterm drops fails the day it is added. That is the right ratchet and it catches aterm falling behind a newer roster.

It cannot express the opposite state, which is now real: the installed roster is older than aterm. agent-compose#364 retired emblem.glyph, emblem.name, form.silhouette, form.geometry, and form.motion, and aterm stopped reading them in the same change. An agent-compose predating that release still ships all five, so the test reads them as dropped and CI fails inside the dev-base container, which carries the released binary rather than main.

Five waivers cover exactly those paths across four personality indices, with the reason in place. Everything else still fails as before.

What to do here

Once a released agent-compose carrying agent-compose#364 is baked into the dev-base image, delete the waiver block and restore waived := map[string]string{} with its original comment. The test should then pass with nothing excused, which is the state it wants to be in.

Verifying it is one command against a container with the new binary:

ATERM_LIVE_ROSTER=1 just aterm-contract

The general shape, if it recurs

This is the second version-skew direction the estate has hit. agentic-os#1281 handles bundles calling an older aterm than the one writing them. This is a roster older than the aterm reading it. If a third instance shows up, the contract test probably wants to compare against a declared retired-field set rather than a hand-maintained waiver list, so a retirement is recorded once instead of waived per path. Not worth building for one case.

Follow-up to agentic-os#1284, which is aterm following the reshaped personality record in coilyco-flight-deck/agent-compose#364. ## What was deferred `TestLiveOverlayDiscardsNoField` in `aterm/contract_test.go` diffs the live overlay against aterm's typed struct leaf by leaf, so a field the roster ships and aterm drops fails the day it is added. That is the right ratchet and it catches aterm falling behind a newer roster. It cannot express the opposite state, which is now real: **the installed roster is older than aterm.** agent-compose#364 retired `emblem.glyph`, `emblem.name`, `form.silhouette`, `form.geometry`, and `form.motion`, and aterm stopped reading them in the same change. An `agent-compose` predating that release still ships all five, so the test reads them as dropped and CI fails inside the dev-base container, which carries the released binary rather than `main`. Five waivers cover exactly those paths across four personality indices, with the reason in place. Everything else still fails as before. ## What to do here Once a released `agent-compose` carrying agent-compose#364 is baked into the dev-base image, delete the waiver block and restore `waived := map[string]string{}` with its original comment. The test should then pass with nothing excused, which is the state it wants to be in. Verifying it is one command against a container with the new binary: ``` ATERM_LIVE_ROSTER=1 just aterm-contract ``` ## The general shape, if it recurs This is the second version-skew direction the estate has hit. agentic-os#1281 handles bundles calling an older aterm than the one writing them. This is a roster older than the aterm reading it. If a third instance shows up, the contract test probably wants to compare against a declared retired-field set rather than a hand-maintained waiver list, so a retirement is recorded once instead of waived per path. Not worth building for one case.
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#1285
No description provided.